Caracteristicile de baza ale aplicatiilor compozite

Download Report

Transcript Caracteristicile de baza ale aplicatiilor compozite

Caracteristicile 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.
Caracteristicile 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
Caracteristicile 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)
Functionalitatile 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)
Reguli 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
Componentele 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
Componentele unui framework de proiectare
pentru CA (2)
• Conducerea proiectului
– Governance
– Abordare
• Agile
– Cicluri de update
– Documentatie
– Managementul ciclului de viata
• Versionare
Componentele 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)
Componentele 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
Build&Deployment
– Framework pentru aplicatie
• Modele de programare
– Concepte pentru distributia sistemului (Componente/SOA)
• Functionalitati specifice sistemului
Exemple de tehnologii folosite
Elementul
framework-ului de
proiectare
Bazat pe Java
(Open Source Tooling)
Unelte Microsoft
(Visual Studio 2010)
XSD
(XML-Schema)
Oxygen
XML-Schema-Designer
(Visual Studio 2010)
XML
Sparx Enterprise Architect,
MagicDraw UML
Modelarea datelor
(http://www.oxigenxml.com/)
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
Exemple de tehnologii folosite (2)
Elementul
framework-ului de
proiectare
Bazat pe Java
(Open Source Tooling)
Unelte Microsoft
(Visual Studio 2010)
Talend Open Studio,
Jboss MetaMatrix
Microsoft Data Access
Components ADO.NET
Integrarea datelor
XSD
(XML-Schema)
Reguli de proces
Drools
Jboss BRMS
XAML
-
Rules Editor (Workflow Editor)
programare .NET
Administrarea versiunilor
Subversion
MS Team Foundation Server
Framework de dezvoltare
IDE
Eclipse, completat cu plugin-uri
MS Visio (2010) Team System
(http://visualstudiogalery.msd
n.microsoft.com/) access prin
Teamprise Client Suite
Exemple 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
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
Portabile JVM
Platforme Windows (de ex.
Windows Server 7)
Tehnologiile 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
CA 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
Componentele 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)
Exemple 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, BuildManagement-Systems, Source
Code-Management-Systems
Oracle
Oracle
Jdeveloper
Instalarea diferitelor extensii
Microsoft
Visual Studio
(Team System si Team
Edition)
Oslo (Visual Studio 2010)
Componentele 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)
Application 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
Prezentare 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
Descompunerea 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
Descompunerea 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
Descompunerea 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
Blocuri functionale ale arhitecturii software
Niveluri logice
(arhitectura software)
Presentation
Niveluri functionale
(arhitectura de sistem)
Composition
Application
Invocation
Domain
Infrastucture
Data &
Infrastructure
Notiuni 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
Notiuni 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
Notiuni 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.
Notiuni 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
Notiuni 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
Notiuni 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
Descrierea Workflow-urilor
• BPMN (Business Process Modelling Notation)
este un limbaj grafic de definire a workflowurilor. 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
Exemplu de diagrama
Elemente principale ale BPMN
BPEL (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)
XPDL (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
XAML 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.