PowerPoint-Präsentation

FLACOS Malta October 2008
Service Oriented Architectures:
The new Software Paradigm
W. Reisig
Humboldt-Universität zu Berlin
Theory of
Programming
1
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
2
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
3
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”
4
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.
5
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.
6
Languages and Modelling Techniques
WS- BPEL,
Business Process Modelling Notation (BPMN),
YAWL,
ADEPT,
UML -ACT,
Petri Nets,
…
7
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.
8
What is so fundamentally new?
classical theory:
A computing system computes functions.

9 25 -1
3 5
not terminating
moderate interest
in the environment
9
the idea of “service”
a new kind of
system:
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 !
10
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.
11
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.
12
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
13
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:  : S  S  S
purchase =def ticket machine  client
14
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 b  S.
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.
15
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.
16
Quests at the partners of a service, S
•
•
•
•
Is R a partner of S ?
Does S have partners at all ?
Is there a canonical partner of S ?
How characterize all partners of S ?
Composability
Controllability
“most liberal”
Operating
Guideline
we offer implemented analysis techniques for all of them
17
Quests at the substitution of S’ for S
• Can S’ substitute S ?
• Is there a public view of S ?
Substitution
Normal form
• Given R and S : Construct T
such that R is a partner of ST
adapter
generation
that‘s what we are doing right now
18
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
19
Toy example: a vending machine
the coffee partner:
coin
coin
tea!
coffee!
coffee!
beverage
beverage
20
Beauty predicate: Proper termination
with no tokens left on the
interface
coin
tea!
coffee!
beverage
21
Another partner
the tea partner:
coin
coin
tea!
tea!
coffee!
beverage
beverage
22
Are there more partners?
the coffee-or-tea
partner:
coin
coin
tea!
tea!
coffee!
coffee!
beverage
beverage
23
Swap the order
First coffee! then coin
coin
coin
tea!
coffee!
coffee!
beverage
beverage
24
no sequential control
Three independent threads of control
This is the most permissive partner:
Each other partner can be derived from this one.
coin
coin
tea!
tea!
coffee!
coffee!
beverage
beverage
25
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
coin
tea!
tea!
coffee!
coffee!
beverage
beverage
26
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
27
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
28
Case Study:
BPEL
Online Shop
yes
no
29
open net,
generated by
BPEL2oWFN
30
automatically
generated
partner
31
one more
interleaving
the
operating
guideline
inscriptions
32
Modified Shop
has no partners at all
decision not
communicated!
yes
no
33
FLACOS Malta October 2008
Service Oriented Architectures:
The new Software Paradigm
W. Reisig
Humboldt-Universität zu Berlin
Theory of
Programming
34