Title: Caracteristicile de baza ale aplicatiilor compozite
1Caracteristicile de baza ale aplicatiilor
compozite
- Un sistem informatic este format din oameni,
probleme si tehnici informatice ce sunt in
stransa legatura. Acestea actioneaza impreuna
pentru a pune la dispozitie, pentru subiectele
tratate, o reprezentare a starilor, bazata pe
date istorice, prezente si de perspectiva, precum
si legatura dintre aceste date.
2Caracteristicile de baza ale aplicatiilor
compozite
- Sisteme de aplicatii reprezinta realizari
software a unor probleme partiale, respectiv
procese, care pun in legatura date si functiuni
pentru a realiza prelucrarea dorita
3Caracteristicile de baza ale aplicatiilor
compozite
- CA se bazeaza pe framework-uri
- Metaframework se construieste pe baza diferitelor
framework-uri care sprijina diferitele faze de
dezvoltare ale unei aplicatii (modelare,
proiectare, implementare, testare, utilizare si
intretinere)
4Functionalitatile de baza ale framework-urilor CA
- Modelare/simulare
- Business Activity Monitoring BAM
- Derularea proceselor (workflow-uri tehnice)
- Colaborare (workflow-uri umane)
- Cresterea productivitatii (toos, reusability)
5Reguli pentru armonizarea framework-urilor
- Folosirea IDE (Integrated Development
Environment) - Trebuie stabilit modul in care se manifesta in
practica politicile diferitelor framework-uri
(governance) - trebuie sa existe un mecanism care asigura
corecta evaluare a stadiului proiectului
6Componentele unui framework de proiectare pentru
CA
- Framework de modelare
- Modele de arhitectura
- Arhitectura de business
- Arhitectura de sistem
- Arhitectura aplicatiei
- Metamodel
- DSL (domain specification language)
- Platforma de executie, de baza
- Sistemul de operare
- Platforma hardware
7Componentele unui framework de proiectare pentru
CA (2)
- Conducerea proiectului
- Governance
- Abordare
- Agile
- Cicluri de update
- Documentatie
- Managementul ciclului de viata
- Versionare
8Componentele unui framework de proiectare pentru
CA (3)
- Runtime environment si platforma virtuala
- Runtime environment pentru application framework
- Platforme de executie software
- Java Virtula Machine (JVM)
- Common Language Infrastructure (CLI)
- Monitorizare
- Tehnologii de integrare
- Enterprise Service Bus (ESB)
- Cloud Computing
- Software as a Service (SaaS)
9Componentele unui framework de proiectare pentru
CA (4)
- Framework de dezvoltare
- Framework de implementare, resp. Mediu de
dezvoltare - IDE (Integrated Development Environment)
- Editoare de model
- Unelte de testare
- BuildDeployment
- Framework pentru aplicatie
- Modele de programare
- Concepte pentru distributia sistemului
(Componente/SOA) - Functionalitati specifice sistemului
10Exemple de tehnologii folosite
Elementul framework-ului de proiectare Bazat pe Java (Open Source Tooling) Unelte Microsoft (Visual Studio 2010)
Modelarea datelor Modelarea datelor Modelarea datelor
XSD (XML-Schema) Oxygen (http//www.oxigenxml.com/) XML-Schema-Designer (Visual Studio 2010)
XML Sparx Enterprise Architect, MagicDraw UML
Procese Procese Procese
XAML - Workflowdesigner
BPMN Eclipse STP BPMN Modeler MS Visio, Oslo Visual Designer
Activitati UML Sparx Enterprise Architect MS Visio, Oslo Visual Designer
BPEL jBPM BPEL MS Visio, Oslo Visual Designer
11Exemple de tehnologii folosite (2)
Elementul framework-ului de proiectare Bazat pe Java (Open Source Tooling) Unelte Microsoft (Visual Studio 2010)
Integrarea datelor Integrarea datelor Integrarea datelor
XSD (XML-Schema) Talend Open Studio, Jboss MetaMatrix Microsoft Data Access Components ADO.NET
Reguli de proces Reguli de proces Reguli de proces
Drools Jboss BRMS
XAML - Rules Editor (Workflow Editor) programare .NET
Administrarea versiunilor Administrarea versiunilor Administrarea versiunilor
Subversion MS Team Foundation Server
Framework de dezvoltare Framework de dezvoltare Framework de dezvoltare
IDE Eclipse, completat cu plug-in-uri MS Visio (2010) Team System (http//visualstudiogalery.msdn.microsoft.com/) access prin Teamprise Client Suite
12Exemple de tehnologii folosite (2)
Elementul framework-ului de proiectare Bazat pe Java (Open Source Tooling) Unelte Microsoft (Visual Studio 2010)
Runtime environment si platforma virtuala Runtime environment si platforma virtuala Runtime environment si platforma virtuala
Mediation/ Middleware JBoss ESB .NET 4.0, Windows Server 7 (Server 2008 R2)
Runtime environment Java Virtual Machine (JVM) Cpmmom Language Runtime (CLR)
Biblioteci specifice proiectului Biblioteci .jar / .ear .NET-Assemblies
Sisteme de operare si platforme hardware Sisteme de operare si platforme hardware Sisteme de operare si platforme hardware
Portabile JVM Platforme Windows (de ex. Windows Server 7)
13Tehnologiile incluse in CA acopera
- Arhitectura IT
- Interactiunea cu utilizatorul
- Aplicatiile
- Managementul IT
- Reteaua
- Centrul de date (Software as a Service,
Infrastructure as a Service) - Securitatea
14CA si procesele de afaceri
- Initial, procesele de afaceri au fost tratate din
perspectiva economica (costuri, termene,
cantitati, resurse, etc. ) - Aspectul tehnic vizeaza automatizarea proceselor
de afaceri - CA permite realizarea unor sisteme integrate care
acopera mai multe procese de afaceri
15Componentele mediilor de dezvoltare
- IDE (integrated development environment)
- Munca in echipa
- KM/SCM
- Merge tools
- Calitate
- Code coverage
- Code Convention Checker
- Analiza statica a codului
- Unit test
- Productivitate
- Editoare speciale
- Server tools (runtime container vizualization)
16Exemple de IDE pentru CA
Producator Mediu de dezvoltare CASE Tooling
Open Source, IBM, Tibco, SAP Eclipse IDE Instalare de Plug-in-uri pt Development Support, Build-Management-Systems, Source Code-Management-Systems
Oracle Oracle Jdeveloper Instalarea diferitelor extensii
Microsoft Visual Studio (Team System si Team Edition) Oslo (Visual Studio 2010)
17Componentele mediilor de dezvoltare (2)
- Dezvoltarea in echipa
- Wiki
- Bug-Tracking
- Management de proiect
- Instante locale, resp. remote ale mediului de
dezvoltare - Simularea interfetelor (Mock-up)
18Application framework
- Sprijina dezvoltarea bazata pe modele MDSD
(Model-driven Software Development) - Descriere formala UML, editoare de proces,
generatoare - Workflow-Management System WfMS
- Integrarea pe orizontala a sistemelor
- Integrarea de servicii Web
- Tehnologii GUI
19Prezentare aspectelor tehnice ale CA
- Arhitectura componentelor permite realizarea
logicii procesuale in sisteme heterogene - si
- Componentele sale se bazeaza doar pe nivelul
tehnic inferior, fiind independente de restul
componentelor - 1976 Demerer si Kron
- Programming in the small functionalitati
independente - Programming in the large functionalitati
transversale
20Descompunerea functionala a arhitecturii de
sistem a CA
- Composition
- Se refera la arhitectura componentelor
distribuite si cuprinde - Elementele de comanda, in special GUI Composite
Controls - Se concetreaza pe logica de proces si comanda
- Parti ale logicii de business
21Descompunerea functionala a arhitecturii de
sistem a CA (2)
- Invocation
- Cuprinde toate unitatile care tin de realizarea
tehnica a arhitecturii compozite - Implementarea componentelor intr-un format
tehnic, utilizabil (deployment package), de ex.
Web services - Informatii de configurare pentru runtime
container - Implementarile software necesare pentru
protocoalele de comunicatie si accesul la foldere
22Descompunerea functionala a arhitecturii de
sistem a CA (3)
- Data and infrastructure
- Asigura accesul la bazele de date si integrarea
cu sisteme externe, prin intermediul interfetelor
23Blocuri functionale ale arhitecturii
softwareNiveluri logice Niveluri
functionale(arhitectura software)
(arhitectura de sistem)
Presentation
Application
Domain
Infrastucture
24Notiuni asociate CA
- GUI
- Nivel Prezentare - arhitectura software
- Compozitie arhitectura de sistem
- Cuprinde toate interactiunile cu utilizatorul
- Contine
- Continutul paginilor (Page Content)
- Succesiunea paginilir (Page Flow)
- Modelul datelor
25Notiuni asociate CA (2)
- Procese
- Nivel Aplicatie- arhitectura software
- Compozitie arhitectura de sistem
- Au rol important la nivelul modelarii. Ele
reprezinta descrierea functionalitatilor
viitorului sistem - Descrieri liniare de proces BPEL (Business
Process Execution Language) - Descrierea evenimentelor care declanseaza procese
Event Processing Engine
26Notiuni asociate CA (3)
- Workflow
- Nivel Aplicatie (Domeniu) - arhitectura software
- Compozitie, Invocare arhitectura de sistem
- Constituie un ajutor in implementarea proceselor
de afaceri specifice. - Detaliaza modelul tranzactiilor
- Se pot reprezenta prin diferite diagrame de
secventa care descriu actvitati, pres si post
conditii.
27Notiuni asociate CA (4)
- Componente
- Nivel Domeniu/Infrastructura- arhitectura
software - Invocare arhitectura de sistem
- In aplicatii de tip SOA, serviciile sunt
componente - O colectie de componente care depind functional
una de alta determina un domeniu functional - Fac parte din logica domeniului
28Notiuni asociate CA (5)
- Reguli
- Nivel Domeniu - arhitectura software
- Invocare arhitectura de sistem
- Parte logica a workflow-urilor si a logicii
procesului - Date
- Nivel Domeniu - arhitectura software
- Date si infrastructura arhitectura de sistem
- Modelul datelor
29Notiuni asociate CA (5)
- Grupuri si roluri
- Nivel Infrastructura - arhitectura software
- Infrastructura arhitectura de sistem
- Tin de managementul identitatii si accesului
- Gruparea utilizatorilor pe roluri permite accesul
diferentiat la functionalitati
30Descrierea Workflow-urilor
- BPMN (Business Process Modelling Notation) este
un limbaj grafic de definire a workflow-urilor.
El ofera posibilitatea de a construi workflow-uri
intr-un mediu vizual cu o mare usurinta pentru un
utilizator fara pregatire tehnica. - Prezentat primul datorita maparii clare pe cele
doua necesitati prezentate la procesele de
business
31Exemplu de diagrama
32Elemente principale ale BPMN
33BPEL (Business Process Execution Language)
- BPEL reprezinta un limbaj standard de executie
pentru procesele definite cu BPMN - Permite asistarea definirii de workflow-uri la un
nivel mult mai detaliat si mai tehnic, specific
pentru utilizatorii IT. - Este unul din cele doua standarde dominante in
industrie - Problema standardului e ca un limbaj de
orchestrare de procese de business nu de
coreografie - Orchestrare definire completa si
executabilitate pt un peer (nivel workflow) - Coreografie definire complata si
executabilitate pt toti peeri (nivel de grupuri
de workflow-uri) - Probleme de standard de securitate (part rez in
BPEL 2.0)
34XPDL (Process Definition Language)
- Standard de industrie pentru atat definirea
vizuala a workflow-urilor cat si pentru suportul
de executie al lor. Este un standard ce a crescut
ca popularite in ultimii ani datorita faptului ca
reprezinta o platforma de asistare pentru
contructie si implementare de workflow-uri. - Este unul din primele standarde propuse,
influentand conceptual marea majoritate a
solutiilor ulterioare (inclusiv cele din aceasta
prezentare) - Este doar un standard nu o platforma completa cu
medii de testare si implementare si cu
functionalitati avansate de accelerare si usurare
a procesului de dezvoltare al aplicatiilor de tip
workflow
35XAML si Silverlight
- XAML este una din alternativele propuse de
Microsoft pentru problema de definire de
formaturi pentru lucrul cu workflowuri - Marele avantaj al XAML fata de celelalte
standarduri este ca, prin utilizarea unui motor
de interpretare de elemente de grafica incluse in
XAML, workflow-ul poate fi vizionat in orice
browser. Acest motiv face ca XAML sa fie un
format foarte dezirabil pentru medii in care
portabilitatea este foarte importanta. - Motorul de interpretare este Microsoft
Silverlight.