Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 www.feaa.uaic.ro Busiess Rules-Drive SOA. A Framework for Multi-Teat Cloud Computig Lect. Ph.D. Liviu Gabriel CREȚU Alexadru Ioa Cuza Uiversity of Iasi, Romaia Faculty of Ecoomics ad Busiess Admiistratio Busiess Iformatio Systems Departmet
About Our Team Idustry-prove skills ad research i Busiess Iformatio Systems: Iformatio Systems aalysis ad desig Software egieerig Software desig Software developmet (Java/.Net) Databases Model Drive Architecture Evet-Drive SOA Busiess Rules Otologies (research oly) Project Maagemet Risk Maagemet Iformatio systems audit Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 2
Ageda 1. Buildig software systems for (e-) busiess 2. The problem of multi-teacy 3. Evet Drive SOA first solutio 4. Busiess Rules Drive SOA the secod oe 5. Real Life MDA the way to deal with complexity Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 3
The old (e)busiess Ecosystem Cotiuous Chage Iteroperability Collaboratio Source: www.lie56.com (retrieved Jauary 2004) Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010
Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 www.feaa.uaic.ro SOA ad the couplig problem Multiple peer-to-peer direct coectios betwee software services i a Eterprise Iformatio System: geerated by busiess eeds as the compay grows leadig to the so called Spaghetti effect
Eterprise Systems Particularities Plethora of data May etry chaels (web forms, mobile apps, e-mail, FTP) Plethora of busiess rules Cotiuous chage of busiess requiremets Mai system s requiremets Highly reliable/cofigurable services Scalability 7x24 availability Ope to ay etry chael Ope architecture Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 6
Ageda 1. Buildig software systems for (e-) busiess 2. The problem of multi-teacy 3. Evet Drive SOA first solutio 4. Busiess Rules Drive SOA the secod oe 5. Real Life MDA the way to deal with complexity Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 7
Multi-teacy priciple Oe sigle software istace serves them all (the cliets) Prerequisites: Service Orieted Architecture Software as a Service Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 8
The problem What happes whe oe teat have differet requiremets tha the other oes? Example: Payroll Busiess Process Iput: Employee s cotract, Compay paymet rules, the atioal law Output: payroll report Process-to-Process iteractio : Accoutig BP Iput: payroll report Output: accoutig records The problem: the payroll accoutig traslatio 9 algorithm is differet for two differet cliets Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010
BPMN ED-SOA The First Solutio Evet Drive SOA ad Eterprise Service Bus CFO - Compay A - Romaia 2 [Busiess Evet from Com pay A] «Serv ice» PATraslatorService Versio A Busiess Rules Payroll Validated Busiess Evet «im plem ets» 1 «ESB Service» Route Busiess Evet Detailed Spec «flow» Architect/Dev eloper Busiess Aalyst Payroll Validated Busiess Evet «im plem ets» [Busiess Evet from Com pay B] «Serv ice» PATraslatorService Versio B Busiess Rules CFO - Compay B - Australia 1 Use-Case drive developmet + MDA software evolutio 10 Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010
BPMN BRD-SOA The Secod Solutio: Busiess Rules Drive SOA What if oe sigle service versio could serve them all? 2 CFO - Compay A - Romaia BA (optioal) «Create/Read/Update/Delete» Payroll Validated Busiess Evet 3 «ESB Service» Route Busiess Evet «Service» PATraslator «Service» Busiess Rules Egie CFO - Compay B - Australia Payroll Validated Busiess Evet BA (optioal) 2 «im plemets» «Im plemets» Architect/Developer «Create/Read/Update/Delete» Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 1 1 Abstract thikig of developmet / software evolutio 11
cmp Compoets The Eterprise System s Architecture based o BRD-SOA Cliet BusiessRulesEgie Busiess Rules Model «use» ESB BusiessRulesEgie BusiessProcessEgie Busiess Process Model «use» Exteded Domai Model ESB ESB Model BP «use» ESB Service Service Serv ice Model ESB ESB Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 12
I BRD-SOA There may be o busiess logic ecapsulated withi the service/domai model, but oly the system s logic The service becomes the orchestrator, ot the busiess logic performer Prepares the precoditios (model istaces loaded from the persistece tier) Creates busiess rules filters Executes the busiess rules egie Persists the result Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 13
Why BRD-SOA? Mai advatage of Busiess Rules Egies: Busiess rules may be expressed usig atural laguage seteces (also usig familiar busiess terms) IF ad Oly if there is a otology i place so the busiess perso will be able to express the ous Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 14
Ageda 1. Buildig software systems for (e-) busiess 2. The problem of multi-teacy 3. Evet Drive SOA first solutio 4. Busiess Rules Drive SOA the secod oe 5. Real Life MDA the way to deal with software developmet complexity Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 15
Oe way to approach Model Drive Architecture BPMN BPOSE Automatio Life-Cycle «flow» ew developm et patter «BusiessProcess» Meta-Model Update «flow» «BusiessProcess» Defie New UML Stereotypes «flow» Refiam et eeded «flow» «BusiessProcess» Defie MDA Trasformers «flow» «flow» «flow» Patter Obsolete «BusiessProcess» Model, Validate, Trasform «flow» «BusiessProcess» Defie Model Validators Roles ivolved: - Architect - Developer Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 16
Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 (C) www.feaa.uaic.ro From the Busiess Perspective (view) over the Use Case DMAD-ARDT UseCase (GIGA) Computatio Idepedet Model Roles ivolved: -Busiess Aalyst
Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 (C) www.feaa.uaic.ro By meas of modelig costraits (CIM-PIM/PSM mix) A set of desig rules ad stereotypes are applied to each CIM elemet Roles ivolved: -Busiess Aalyst - Developer - Architect(rarely/optioal)
Also by meas of likig differet layers (GUI-SERVICES-DATA) Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 19
To geerated PSM (Java) Developers are allowed to make adjustmets to the geerated model Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 20
Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 www.feaa.uaic.ro Or PIM (from GUI - CIM) DMAD-ARDT UseCase (GIGA)
Ad fially to workig code Java Classes Domai model structures Busiess Evet structure EJB service ESB cofiguratios ORM mappigs (JPA aotatios) JPA-QL queries JSF web pages Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 22
Why do we call it real life MDA? A few MDA shortcuts have bee formally defied to become productive A CIM elemet may have a lik to a PIM or a PSM elemet A PIM elemet may iclude PSM cocepts (Java code geerated as the behavior cotet of UML class elemet) Developers may iterfere with the MDA multiple trasformatio steps (they are allowed to modify the geerated models, before geeratig the ext oes) Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 23