INF5120 Oblig gjennomgang 12.05.2005
COMET og MinMax Replenishment Pilotcase for automatisert ordrehåndtering innen bilindustrien. Integrering av systemer. En gruppe = en aktør Service Oriented Architecture (SOA) Web Services Model Driven Architecture (MDA) COMET metodikken.
AR car manufactor RR car manufactor GM car manufactor LG Transport A n K Min/Max broker and auction (AKBA) XE Transport AJB s Min/Max replenishment service Bosch Warehouse Philips Warehouse HELLA Warehouse
Service Oriented Architecture Service Funksjonelt Grensesnitt Input, Output, Exceptions Coarse Grained sendorder, ikke createorder, populateorder, validateorder, submitorder, checkorderprogress Skal gi et grensesnitt som gir tilgang funksjonaliteten i systemet.
SOA i COMET Tool Step Verktøy med et grensesnitt som mennesker kan bruke Immediate Step Kalle en BusinessService Tool UserService (Service som GUI laget bruker) User Service bruker Business Services Business Service Tilbyr funksjonaliteten til et business system
Web Services BPEL Orkestrering UDDI Publisering og søk WSDL Beskrivelse SOAP Meldinger og Invokasjon I tillegg et sett med WS-* standarder for sikkerhet, transaksjoner, interoperabilitet etc
UML2 Stereotyper Spesialisering av konsepter fra UML2 Brukes i profiler for og lage domene-spesifikke utvideleser av UML2 Må ikke forveksles med navn eller type.
Activity Diagrams Business Process/Intern Oppførsel Kontroll Flyt Fork/Join (Parallel) Branch/Merge (Ta en beslutning) DataFlyt Trenger et Dataobject Navn, stereotype, type Activity/Action En Action utføres når alle innkommende flyter (data og kontroll) er aktive
UML2 Interactions Ekstern oppførsel/meldingsflyt Objekter/Aktører: Lifelines Meldinger Combined Fragments Alt, opt, loop, par, neg etc Interaction Refererences Referere til et annet sekvens diagram
Transformasjoner
PIM Service model Source (UML2) Meta model (xmi) ATL script Target Meta model (xmi) PSM Webservice model MOF Script Code WSDL.xml
PIM Service model Source (UML2) Meta model (xmi) PSM Webservice model ATL script Target Meta model (xmi) PSM EJB components PSM Database MOF Script Code WSDL.xml JavaCode.java Database.sql
Hva er en metamodell? Beskrivelse av et konsept (språk) Abstrakt beskrivelse av et modelleringsspråk (f.eks UML) UML metamodellen er beskrevet av MOF (Meta Object Facility) Andre metamodeller som kan beskrives ved bruk av MOF: ER- diagrammer, Java (modellrepr. av kode) Metamodeller kan spesifiseres konseptuelt ved bruk av klassediagrammer: Dvs. bunch med metaklasser og koblingene (assosiasjonenen) dem imellom
Modell til modell trans. Vi trenger Bekskrivelse av source-modell S Metamodell A Beskrivelse av target-modell T Metamodell B Transformasjondefinisjon (trans. regler) A B Defintert av Defintert av S Trans. Def. T
Modell til modell trans (2) Source og target-modell kan være definert av samme metamodell (f.eks UML) Scenario oblig2 og ATL : UML Defintert av Defintert av Service modell Platform model Transformasjonsreglene må innholde regler som mapper elementer (metaklasser) fra metamodellene sammen. Pattern macthing ala ML, Pearl, Prolog og andre høynivåspråk. En regel i ATL har: Trans. Def. Ett eller flere patterns for ett source-modellelement Ett eller flere patterns for target-modellelementer ATL: Modellelementene i target-modellen må kobles sammen (ofte parent element): Klasse til pakke, operasjon til klasse, attributt til klasse, type til attributt osv.
Oblig 2 - ATL
Feil som ble gjort på oblig 2: Elementer ikke koblet sammen Definisjoner (XMI) blir stående uten eierskap Dvs. utenfor modellens kontekst Syns ikke i RSM Elementer ikke gitt navn Syns heller ikke i RSM Feil metaattributter (properties) brukt: Studer metamodellen(e) når du jobber med transformasjoner!
Modell til tekst trans. Vi trenger metamodell bare til source (UML) Scenario oblig2 og MOFScript: UML Defintert av Platform model Trans. Def. WSDL Pattern matching bare på source-modellen: Vi kjører utrykk/spørringer på source-modellen sine elementer. Vi skriver ut navn, typer eller andre properties og kombinerer det med klartekst (<% <porttype %> p.name <% /> %>).
Oblig 2 - MOFScript
Feil som ble gjort på oblig 2 Ingen iterasjon over parametere Bare første parameter i request ble skrevet ut Parameter-referanse i iterasjon ikke brukt name brukt istedet for prm.name gettype() brukt istedet for prm.gettype() Husk at MOFScript-spørringer er basert på OCL: Uttrykk må ha en kontekst: Self : referer til instansen av metaklassen transformasjonereglen er basert på (f.eks Operation) Referanse bruk i iterasjoner (som prm i vårt eksempel)