340 likes | 449 Views
FLACOS Malta October 2008. Service Oriented Architectures: The new Software Paradigm W. Reisig Humboldt-Universität zu Berlin. Theory of Programming. Service Oriented Architectures: The new Software Paradigm. I Some General Remarks II Some First Assumptions for a Formal Framework
E N D
FLACOS Malta October 2008 Service Oriented Architectures: The new Software Paradigm W. Reisig Humboldt-Universität zu Berlin Theory of Programming
Service Oriented Architectures: The new Software Paradigm I Some General Remarks II Some First Assumptions for a Formal Framework III A Modelling Technique for Services IV A small Case Study
Service Oriented Architectures: The new Software Paradigm I Some General Remarks II Some First Assumptions for a Formal Framework III A Modelling Technique for Services IV A small Case Study
Voices on SOA from the software industry “THE most relevant emerging paradigm” “A substantial change of view as it happens at most once each decade” “The next fundamental software revolution after OO” “Much more than just an other type of software!” “The foundational layer for tomorrow's information systems”
The paradigm of SOA • is intended to couple encapsulated software components ("services"), - supports flexibility and convenience of interaction. - has very pragmatic sources and backgrounds: - Business process technology, - Web service technology.
Current Practice of SOA • equips business processes with web-based communication facilities. • is influencing • Enterprise Application Integration, • Software Engineering, • Systems Management, • Data provisioning, • BPI, • B2B.
Languages and Modelling Techniques WS- BPEL, Business Process Modelling Notation (BPMN), YAWL, ADEPT, UML -ACT, Petri Nets, …
The future of SOA pursues more ambitious goals: • modularization, proper interfaces, standardization for enterprise computing and enterprise application integration. • applies SOA in contexts other than web services and business processes. e.g. wireless networks • spawn SOA as a new paradigm of computing. • requires a theoretical basis for SOA, independent from implementations. i.e. mathematical models
What is so fundamentally new? classical theory: A computing system computes functions. 9 25 -1 3 5 not terminating moderate interest in the environment
the idea of “service” fundamentally new aspects: • infinite runs are sensible • environment is not trivial, deserves its own attention, should be described formally. How? ! Just as the system itself ! a new kind of system:
problems to be addressed by models - Service Composition, orchestrations and choreographies: ! disambiguate these notions ! - Semantics of services: … specified in a given modelling language ! A service may not be intended to be implemented ! - Expressive power of modelling languages: Idea: … relative to the bare minimum of expressive power needed to specify services.
problems to be addressed by models • Substitutability of services: Replace S by T … also during execution of S. • Brokering: Which information about processes should the broker know? • Reliability and Correctness: Verification, at varying levels of rigour. • Design Methodology: Methods and principles of Software Engineering must be adapted to SOA.
Service Oriented Architectures: The new Software Paradigm I Some General Remarks II Some First Assumptions for a Formal Framework III A Modelling Technique for Services IV A small Case Study
Service Composition Let S denote the set of all services. Services are made to be composed. a ticket machine and a client Two composed services behave like one service purchase =def ticket machine and client formally: : SSS purchase =def ticket machine client
Semantics of a service A (composed) service may regularly terminate. ticket or money back irregular: ticket machine crashes formally: a "beauty" predicate, i.e. a subset bS. In most cases, b is weak termination. Def. Let R, S S. R is a partner of S iff R S b. sem(S) =def the set of all partners of S.
Equivalence of services R is at most as comprehensive as S (written R<S) iff each partner of R is a partner of S. formally: R < S iff sem(R) sem(S). Consequently, two services are equivalent, R S, iff R < S and R < S. Apparently: Two systems are equivalent whenever their environment can not distinguish them.
Quests at the partners of a service, S • Is R a partner of S ? • Does S have partners at all ? • Is there a canonicalpartner of S ? • How characterize allpartners of S ? Composability Controllability “most liberal” Operating Guideline we offer implemented analysis techniques for all of them
Quests at the substitution of S’ for S • Can S’ substitute S ? • Is there a public view of S ? • Given R and S : Construct T such that R is a partner of ST Substitution Normal form adapter generation that‘s what we are doing right now
Service Oriented Architectures: The new Software Paradigm I Some General Remarks II Some First Assumptions for a Formal Framework III A Modelling Technique for Services IV A small Case Study
coin coin coffee! tea! coffee! beverage beverage Toy example: a vending machine the coffee partner:
coin coin tea! coffee! beverage beverage Beauty predicate: Proper termination with no tokens left on the interface
coin tea! coin tea! coffee! beverage beverage Another partner the tea partner:
coin tea! coffee! beverage Are there more partners? the coffee-or-tea partner: coin tea! coffee! beverage
coin coin tea! coffee! coffee! beverage beverage Swap the order First coffee! then coin
coin tea! coffee! beverage no sequential control Three independent threads of control This is the most permissive partner: Each other partner can be derived from this one. coin tea! coffee! beverage
coin tea! coffee! beverage operating guideline characterize the set of all partners by help of this one This is the most permissive partner: Each other partner can be derived from this one. coin tea! coffee! beverage
Petri Nets … the mst generic modelling technique for services offers the bare minimum to express yourself good to verify properties and for canonical constructs ! translate your pet language into Petri nets
Service Oriented Architectures: The new Software Paradigm I Some General Remarks II Some First Assumptions for a Formal Framework III A Modelling Technique for Services IV A small Case Study
Case Study: BPELOnline Shop yes no
one moreinterleaving the operating guideline inscriptions
has no partners at all Modified Shop decision notcommunicated! yes no
FLACOS Malta October 2008 the end Service Oriented Architectures: The new Software Paradigm W. Reisig Humboldt-Universität zu Berlin Theory of Programming