Stiluri / tipare arhitecturale

Slides:



Advertisements
Similar presentations
Exemple de bune practici în domeniul SCMI Endre-Sandor ERDŐDI, Manager public, Direcţia de politici publice.
Advertisements

Adobe photoshop.  De multe ori ne facem fotografii si unele nu le facem publice pentru ca ori am avut un cos in acel moment sau un alt aspect negativ.
Introducere în dezvoltarea aplicațiilor web
Noua generaţie de clienţi. Noua generaţie de clienţi este aici.
În general exist ă 2 forme mari de conservare : “in situ” şi “ex situ” 1. Conservarea “ in situ” Aceast ă metod ă de conservare const ă în.
Aplicatie pentru intarirea capacitatii manageriale Coriolis Consulting pentru INCD-PM Alexandru Darabont.
Sistemul integrat de raportare WISE WISE-Sistemul Informational pentru apa in Europa  reunirea tuturor informatiilor furnizate catre organismele europene.
2009 Pag Pag. 2 Agenda 1.Obiectivul proiectului 2.Parteneri 3.Autentificare versus identificare 4.Schema generala 5.Probleme de rezolvat / rezolvate.
“Platformă multifuncţională pentru optimizarea metodelor de diagnostic şi decizie în serviciile medicale – PROMED” DOMENIU APLICARE “ Platformă multifuncţională.
Ionuţ Hrubaru: In Memory Databases Ionuţ Hrubaru: Iaşi,
Februarie 2018 ASE Bucuresti
ACTIVITATEA 1 -,, PROFESOR IT LA PAPI’’
Funcţii Excel definite de utilizator (FDU) în VBA
Placa de bază.
Construirea Aplicatiilor de tip SOA
Instrumente CASE Curs nr. 7.
Căutarea şi regăsirea informaţiei.
Administrare Oracle 9i Suport de curs
LOREDANA POPASAV.
SOFTWARE Tipuri de software.
Dispozitive de stocare
SIA “Registrul General al Facturilor Fiscale”
Arhitectura serviciilor web
Căutarea şi regăsirea informaţiei.
Paxos Made Simple Autor: Puşcaş Radu George
Gestionarea datelor stiintifice
CURSUL 4 ECONOMETRIE TESTUL HI PATRAT.
Retele de calculatoare
Design and implementation of a virtual shop using the joomla CMS
Reflexia luminii.
Software product management
Stiluri si tipare arhitecturale fundamentale
MICROSOFT EXCEL.
Stiluri si tipare arhitecturale fundamentale
Crearea si gazduirea serviciilor
Tipuri structurate Tipul tablou
Bucuresti ZF Mobilio Principalele metode de dezvoltare a afacerilor folosind aplicatiile mobile Sebastian Vaduva -
Curs 2 1 Sistem de operare-concepte: 2 Apeluri de sistem
MICROSOFT EXCEL Notiuni introductive
Funcții C/C++ continuare
prof. mrd. Negrilescu Nicolae Colegiul National Vlaicu Voda
Apache WEB Server.
Continutul cursului Conceptul de arhitectura software
Crearea si gazduirea serviciilor
INTERNET SERVICII INTERNET.
Proiectarea Arhitecturala a Sistemelor Software
IPv6.
A great way to create a channel of communication
SUBSTANTE PURE SI AMESTECURI DE SUBSTANTE
Functia de documentare
Continutul cursului Conceptul de arhitectura software
Administrarea reţelelor de calculatoare
SOAP -Simple Object Access Protocol-
Sisteme de recomandare
Cuprins Introducere in Arhitectura Software
Programarea in limbajul Java 2004 Lecturer: Gavrila Cristian
Realizarea prezentarilor cu Microsoft PowerPoint
Stiluri si tipare arhitecturale fundamentale
Software open source in industria software
Sisteme distribuite Continutul capitolului:
Crearea unei aplicatii Windows Forms simple
Student:Dvornic Mihaela Grupa:342 C5
Aplicaţii specializate pentru realizarea unei prezentări – PowerPoint
Sistemul de control intern managerial
Configurarea metodelor de management al calităţii în sectorul public
Harti de imagini, Cadre, Stiluri
Despre lamaie.net De ce sunt lamaile acre? Realizatori: Cristina Cazan
Model arhitectural de reţea
Tabele WEB.
Administrare Oracle 9i Suport de curs
Presentation transcript:

Stiluri / tipare arhitecturale Structurare: metode de descompunere controlata in subtaskuri cooperante Layers Pipes and Filters Blackboard; cu variantele Repository, Active Database Event-driven (Implicit Invocation); cu variantele Publisher-Subscriber, Event-Bus Sisteme interactive: Model-View-Controller Presentation-Abstraction-Control Sisteme distribuite: Client-Server Client-Dispatcher-Server Broker Sisteme Adaptabile: Reflection Microkernel POSA

Sisteme interactive Sisteme interactive: exista multe interactiuni cu utilizatorul, de obicei prin intermediul unei interfete grafice Obiectiv: independenta intre implementarea functionalitatii si interfata grafica utilizata De ce ? Pentru ca se presupune ca partea care implementeaza functionalitatea este mai stabila, iar partea de interfata utilizator mai mult afectata de customizari Tipare arhitecturale: Model-View-Controller Presentation-Abstraction-Control

Model-View-Controller Tiparul arhitectural MVC structureaza aplicatiile interactive in 3 componente: Model = nucleul continand functionalitatea si datele ; Views = afisarea informatiilor; Controllers = tratarea user input. User Interface = Views+Controllers. Tiparul implementeaza un mecanism de propagare a modificarilor care asigura consistenta intre User Interface si Model. Exemplu problema: un sistem informatic de reprezentare a rezultatelor electorale.

Exemplu MVC MODEL VIEWS CONTROLLER [POSA]-Fig/P.125 INTERACTIUNI UNIDIRECTIONALE (Output) INTERACTIUNI BIDIRECTIONALE (Input+Output) VIEWS CONTROLLER [POSA]-Fig/P.125

Structura MVC Controller= un ConcreteObserver avand in plus anumite atributii speciale [POSA]-Fig/P.129

MVC – Scenariu User Input [POSA]-Fig/P.130

MVC – Scenariu initializare [POSA]-Fig/P.131

Proprietati ale stilului MVC Avantaje: Multiple views of a model Synchronized views Pluggable views and controllers Exchangeability of looks Framework potential Atentionari: Potential for excessive number of updates Connection between view and controller Coupling of views and controllers to a model

Presentation-Abstraction-Control Tiparul arhitectural PAC structureaza aplicatiile interactive sub forma unei ierarhii de agenti cooperanti. Fiecare agent raspunde de un anumit aspect al functionalitatii si consta din 3 componente: Presentation, Abstraction, Control. Aceste componente separa partea de interactiune cu utilizatorul de partea de nucleu functional si de partea de comunicare cu ceilalti agenti. Exemplu problema: un sistem informatic de reprezentare a rezultatelor electorale (problema similara cu cea de la MVC). Ce difera de MVC: metoda de abordare a dezvoltarii aplicatiei interactive pe baza de agenti Agent = componenta care realizeaza o procesare a informatiei Contine: Structuri de date reprezentand starea sa Event receivers si event transmitters Procesor care trateaza si produce evenimente, actualizeaza starea

PAC: Formularea Problemei: Ierarhie de agenti [POSA]-Fig/P.145

PAC - Structura [POSA]-Fig/P.151

PAC – Structura agentilor Fiecare agent este compus din 3 componente: Presentation: interfata utilizator proprie agentului Abstraction: modelul de date specifice agentului Control: conecteaza in interiorul agentului partea lui de Presentation de cea de Abstraction Asigura comunicarea cu alti agenti Ierarhie de agenti: Top-level: Realizeaza functionalitatea sistemului Abstraction: modelul global al datelor, independent de maniera de reprezentare Control: coordoneaza ierarhia de agenti, autorizeaza sau nu in functie de context si agenti solicitanti anumite operatii asupra modelului Presentation: acele parti din interfata utilizator care nu tin de un anume agent (de exemplu meniul comun aplicatiei) Bottom-level: Entitati cu o semantica proprie bine definita, asupra carora actioneaza ujtilizatorul (chart-uri, spreadsheet) Presentation: rezolva toate operatiile facute de utilizatori asupra lor (zoom, move chart) Abstraction: model local al datelor; nu exista alti agenti care depind de acesta. Control: intermediaza interactiunea dintre Presentation si Abstraction in cadrul agentului; comunica cu componenta de control a agentilor ierarhici superiori pentru schimb de date si evenimente. Intermediate level: Coordonare: mentinerea consistentei intre agentii de nivel inferior (ex: coordonedaza vederi multiple ale acelorasi date) Composite

PAC – Exemplu structura BarChartAgent [POSA]-Fig/P.153

PAC – Exemplu detaliere structura BarChartAgent [POSA]-Fig/P.159

[POSA]-Fig/P.152

PAC – Exemplu scenariu Deschidere nou BarChart View [POSA]-Fig/P.154

PAC – Exemplu scenariu Introducere noi date prin Spreadsheeet [POSA]-Fig/P.155

Pasi de definire a unei arhitecturi PAC Definirea modelului aplicatiei Definirea strategiei de organizare a ierarhiei de agenti Specificarea agentului top-level Specificarea agentilor bottom-level Specificarea agentilor intermediate-level care compun mai multi agenti bottom-level Specificarea agentilor intermediate-level care coordonedaza agenti de nivel inferior Separarea functionalitatii de interactiunea cu utilizatorul; Definirea componentelor Abstraction, Presentation si Control pentru fiecare agent Realizarea mecanismului de comunicare intre agenti (parte a componentei de Control). Composite Message – interfata uniforma, aceleasi 2 operatii pentru toate tipurile de comunicari (in interiorul agentului sau intre agenti). Legarea agentilor intr-o ierarhie POSA

Exemplu aplicatie PAC: Robot mobil [POSA]-Fig/P.165

Exemplu aplicatie PAC: Network management [POSA]-Fig/P.164

Proprietati ale stilului PAC Avantaje: Separation of concerns: concepte cu semantici diferite sunt reprezentate prin agenti separati Support for change and extension: se pot face schimbari in partea de Abstraction sau Presentation a agentilor; Se pot introduce agenti noi Support for multitasking/distributed computing Atentionari: Complexitatea sistemului Complexitatea componentelor de control Eficienta scazuta datorita overhead-ului de comunicare intre agenti Aplicabilitate redusa la anumite categorii de aplicatii

Discutie: PAC vs MVC