SlideShare a Scribd company logo
1 of 65
Service Oriented
         Architecture
      Lecture 1: Introduction



95-843: Service Oriented Architecture
    Master of Information System        1
            Management
Plan for the week

•   Course Introduction
•   Some principles and definitions
•   Some Theory
•   Technology Foundations
•   Homework 1
•   Getting logged on to Oracle’s
    SOA Suite
     95-843: Service Oriented Architecture
         Master of Information System        2
                 Management
Course Web Site
• http://www.andrew.cmu.edu/~mm6




    95-843: Service Oriented Architecture
        Master of Information System        3
                Management
Course Software
• We will be using Oracle SOA Suite 11g R1
   for projects and demonstrations.
• It will be assumed the the student is able to
  program in Java and use an IDE.




     95-843: Service Oriented Architecture
         Master of Information System             4
                 Management
Structure of the Course
• Lectures/class participation
• Homework (pencil and paper and
  programming)
• Midterm exam
• Readings from IBM’s High level
  reference architecture will be assigned.
• Reading from the required course text
  and the web will be assigned.
• Presentations
• Final examination
    95-843: Service Oriented Architecture
        Master of Information System         5
                Management
Readings
• For this week, read the
  Introduction to Petri Nets and the
  paper “A Petri Net-based Model for
  Web Service Composition”.
• Read Chapter One of “Oracle SOA
  Suite 11g R1”.
• Read the Introduction and Chapter
  1 of “Understanding SOA with Web
  Services”.
    95-843: Service Oriented Architecture
        Master of Information System        6
                Management
What is architecture?

                                        Victorian Gothic
                                        or Neo-Gothic
                                        architecture




95-843: Service Oriented Architecture
    Master of Information System                  7
            Management
Architecture From
            Reynolds Text
• Architecture implies a consistent and coherent design
  approach. Essential principles include:
• Consistency: The same challenges
  should be addressed in a uniform way.
• Reliability: The structures created must be fit to
  purpose and meet the demands for which they are
  designed.
• Extensibility: A design must provide a framework that
  can be expanded in ways both foreseen and
  unforeseen.
• Scalability: The implementation must be capable of
  being scaled to accommodate increasing load by adding
  hardware to the solution.
      95-843: Service Oriented Architecture
          Master of Information System                8
                  Management
Why is SOA Different?
(1) Terminology: Both IT people and
     business people know what a service
     is.
(2) Interoperability: The interfaces and the wire
     protocols are based on standards.
(3) Extension and Evolution not rip and
    replace.
(4) Reuse of both functionality and
    machine resources.
                                             Chapter one
     95-843: Service Oriented Architecture   of Reynolds
         Master of Information System                      9
                 Management
SOA Defined
• “SOA is the architectural style that
  supports loosely coupled services to
  enable business flexibility in an
  interoperable, technology agnostic
  manner. SOA consists of a composite
  set of business-aligned services that
  support a flexible and dynamically re-
  configurable end-to-end business
  process realization using interface-
  based service descriptions.” From a paper
  by Borges, Holley and Arsanjani.
    95-843: Service Oriented Architecture
        Master of Information System        10
                Management
Web Services Preferred(1)
• Web Services are XML-based
  technologies for messaging,
  service descriptions, discovery,
  and external features providing:
  - Pervasive open standards for
    distributed computing interface
    descriptions and document
    exchange via messages
                                            From Newcomer
    95-843: Service Oriented Architecture
        Master of Information System                11
                Management
Web Services Preferred(2)
 - Independence from the
    underlying execution
    environment and application
    platforms.
  - Extensibility for enterprise qualities of
    service such as security, reliability,
    and transactions.
  - Support for composite applications
    such as business process flows,
    multi-channel access, and rapid
     95-843: Service Oriented Architecture

    integration System
         Master of Information
                 Management
                                           12
XML Preferred (1)
• The Extensible Markup Language is a
  common, independent data format
  across the enterprise and beyond that
  provides:
  - Standard data types and
    structures, independent of any
    programming language,
    development environment or
    software system.
                                            From Newcomer
    95-843: Service Oriented Architecture
        Master of Information System                        13
                Management
XML Preferred (2)
- Pervasive technology for defining
business documents and exchanging
business information, including standard
vocabularies for many industries.
- Ubiquitous software for handling
operations on XML, including parsers,
queries, and transformations.


                                          From Newcomer
  95-843: Service Oriented Architecture
      Master of Information System                        14
              Management
Build an SOA in 8 Steps
(1) Business needs come first (not
    services) What problem are we
    trying to solve?
(2) What aspects can be
     implemented as services? Old
     services? New services? Legacy
     wrappers?
(3) Track services with registries and
   repositories.
                                            Modified from a
                                            talk by Daryl
    95-843: Service Oriented Architecture
        Master of Information System
                                            Plummer 15
                Management                  of Gartner.
Build an SOA in 8 Steps
(4) Govern the services. We need to
    encourage desired behavior at
    many levels, across enterprises,
    and at different stages. We need
    to monitor behavior, enforce
    policies & assess user
    satisfaction.
    95-843: Service Oriented Architecture
        Master of Information System        16
                Management
Build an SOA in 8 Steps
(5) Secure the services. Using
    established standards, we need
    privacy, identification,
    authentication, and
    authorization.
    This may need to
    be federated security (over more
    than one organization.)
    95-843: Service Oriented Architecture
        Master of Information System        17
                Management
Build an SOA in 8 Steps
(6) Manage the services. Are
    messages arriving on time? Is
    everything operating properly?
(7) Virtualization through mediation. Are
    we free to move and change the
    services? Do we need an ESB that acts
   as a central hub for message routing
   and transformations?
(8) Design for interoperability through the

   adoptionOrientedstandards.
    95-843: Service of Architecture
                                         18
       Master of Information System
               Management
Objectives of This Course
(1) Study Foundations of SOA
    Mathematical models (Petri nets)
    Important standards
    Orchestration and Choreography
    The Enterprise Service Bus
    Reference Architectures
    Enterprise Integration Patterns
(2) Get hands on experience with
    Oracle’s SOA Suite of tools.
    95-843: Service Oriented Architecture
        Master of Information System        19
                Management
A Mathematical
               Foundation
• Petri Nets
• Petri Nets as applied to Web
  Services
• Why not flow charts?
• Why not UML sequence diagrams?
• We want to work at a higher level
  and exploit parallel execution.
• Plus, Petri nets are cool!
    95-843: Service Oriented Architecture
        Master of Information System        20
                Management
Petri Nets
Consider the following program:
a = 1;
              What is the normal process order?
b = 2;
c = 3;        Other orderings are possible.
a = a + 1;
c = b + c;
b = a + c;
  95-843: Service Oriented Architecture
      Master of Information System           21
              Management
Petri Nets
 A Petri net is a directed graph G =
(V,E), where V = P U T and P ∩ T
= ∅. Any edge e in E is incident on
one member of P and one member
of T. The set P is called the set of
places (conditions) and the set T is
the set of transitions (events).


  95-843: Service Oriented Architecture
      Master of Information System        22
              Management
Petri Nets
Places are typically drawn as circles and transitions as bars.




 p1              t1                        p2

                                                     t3

  p3             t2
                                           p4
   95-843: Service Oriented Architecture
       Master of Information System                         23
               Management
Petri Net G = (V,E)
P = {p1,p2,p3,p4}
T = {t1,t2,t3}
E = {(p1,t1),(t1,p2),(p2,t3),(p3,t1),(p3,t2),(t2,p4),(p4,t3)}




        p1             t1                        p2

                                                      t3

        p3             t2
                                                 p4
         95-843: Service Oriented Architecture
             Master of Information System                   24
                     Management
A Marked Petri Net
A marking of a Petri net assigns each place a
nonnegative integer n. We say each place p is
marked with n tokens. Tokens are represented
as black dots.

     **
                   t1                        p2
    p1
                                                  t3
      *                                      *
                   t2
     p3                                      p4
     95-843: Service Oriented Architecture
         Master of Information System                  25
                 Management
Firing Transitions
In a Petri net, if an edge is directed
from place p to transition t, we say p is
an input place for transition t. An output
place is defined similarly. If every input
place for a transition t has at least one
token, we say that t is enabled. A firing
of an enabled transition removes one
token from each input place and adds
one token to each output place. A
transition can fire only if it’s enabled.
Firing a transition is an atomic
    95-843: Service Oriented Architecture

operation.
        Master of Information System
                Management
                                          26
Fire Transition t1 (ready?)



  **
                 t1                        p2
  p1
                                                t3
   *                                       *
                 t2
  p3                                       p4
   95-843: Service Oriented Architecture
       Master of Information System                  27
               Management
Transition t1 Fired



*                                        *
               t1                        p2
p1
                                              t3
                                         *
               t2
p3                                       p4
 95-843: Service Oriented Architecture
     Master of Information System                  28
             Management
Fire Transition t3 (Ready?)



*                                        *
               t1                        p2
p1
                                              t3
                                         *
               t2
p3                                       p4
 95-843: Service Oriented Architecture
     Master of Information System                  29
             Management
Transition t3 Fired



*
               t1                        p2
p1
                                              t3

               t2
p3                                       p4
 95-843: Service Oriented Architecture
     Master of Information System                  30
             Management
Petri Nets
Consider again the following
program:
a = 1;
b = 2;
c = 3;
a = a + 1;
c = b + c;
b = a + c;
  95-843: Service Oriented Architecture
      Master of Information System        31
              Management
Modeled as a Petri Net
            a=1                              a=a+1
 *
p1                         p4
            b=2                                           b=a+c
*                                                    p7

                           p5                c=b+c
p2                                                                     p9
            c=3
 *                                                   p8
                           p6
p3

     95-843: Service Oriented Architecture
         Master of Information System                             32
                 Management
Fire Transitions (ready?)
            a=1                              a=a+1
 *
p1                         p4
            b=2                                           b=a+c
*                                                    p7

                           p5                c=b+c
p2                                                                     p9
            c=3
 *                                                   p8
                           p6
p3

     95-843: Service Oriented Architecture
         Master of Information System                             33
                 Management
Transitions Fired
            a=1                              a=a+1
                              *
p1                         p4
            b=2                                           b=a+c
                             *                       p7

                           p5                c=b+c
p2                                                                     p9
            c=3
                                 *
                                                     p8
                           p6
p3

     95-843: Service Oriented Architecture
         Master of Information System                             34
                 Management
Fire Transitions (Ready)
             a=1                              a=a+1
                               *
p1                          p4
             b=2                                           b=a+c
                              *                       p7

                            p5                c=b+c
p2                                                                      p9
             c=3
                                  *
                                                      p8
                            p6
p3

      95-843: Service Oriented Architecture
          Master of Information System                             35
                  Management
Transitions Fired
            a=1                              a=a+1

p1                         p4                        *
            b=2                                           b=a+c
                                                     p7

                           p5                c=b+c
p2                                                                     p9
            c=3                                      *
                                                     p8
                           p6
p3

     95-843: Service Oriented Architecture
         Master of Information System                             36
                 Management
Fire Last Transition (Ready?)
            a=1                              a=a+1

p1                         p4                        *
            b=2                                           b=a+c
                                                     p7

                           p5                c=b+c
p2                                                                     p9
            c=3                                      *
                                                     p8
                           p6
p3

     95-843: Service Oriented Architecture
         Master of Information System                             37
                 Management
Last Transition Fired
            a=1                              a=a+1

p1                         p4
            b=2                                           b=a+c
                                                     p7                *

                           p5                c=b+c
p2                                                                     p9
            c=3
                                                     p8
                           p6
p3

     95-843: Service Oriented Architecture
         Master of Information System                             38
                 Management
In This Class

All of our Petri Nets will begin with a single input place and
end with a single output place.

We will always start the Petri Net off with a single token in the
input place.




    95-843: Service Oriented Architecture
        Master of Information System                             39
                Management
Two Quizzes (Take out
    pencil and paper)
(1) The Petri Net we drew begins with three markings.
Redraw the Petri net so that it begins with a single marking.

(2) Build a Petri net to wash a lion based on the following steps

  1.   Get lion.
  2.   Get soap. (real soap not SOAP)
  3.   Get tub.
  4.   Put water in tub.
  5.   Put lion in tub.
  6.   Wash lion with soap.
  7.   Rinse lion.
  8.   Remove lion from tub.
  9.   Dry lion. Oriented Architecture
       95-843: Service
         Master of Information System                   40
                 Management
Liveness
A Petri net is deadlocked if no transition can fire.

A marking M for a Petri net is live if, beginning from M, no
matter what sequence of firings has occurred, it is possible
to fire any given transition by processing through some
additional firing sequence.

If a marking M is live for a Petri net P, then no matter what
sequence of transitions is fired, P will never deadlock. Indeed,
we can fire any transition by proceeding through some
additional firing sequence.




      95-843: Service Oriented Architecture
          Master of Information System                         41
                  Management
Deadlock Example
Case:
  Person 1 requests disk drive D. D is ready.
  Person 1 requests printer P. P is ready.
  Person 1 uses and releases P and D. P and D are available.

Case:
  Person 1 requests disk drive D. D is ready.
  Person 2 requests printer P. P is ready.
  Person 1 is waiting for person 2 to release P.
  Person 2 is waiting for person 1 to release D.
  No transitions can fire and we have deadlock.




         95-843: Service Oriented Architecture
             Master of Information System                      42
                     Management
D available


                                           *
                                                                 Request D
            Request D



                  D ready                                       D ready


     Finished
   with D and P                                                      Finished
                                                                     with D and P



Release                                                         Process         Release
                      Process
D and P                                                                         D and P


                                                                P ready
                   P ready




               Request P                                          Request P
                                            P available

                                                  *
                            Person 1                      Person 2
          95-843: Service Oriented Architecture
              Master of Information System                                            43
                      Management
Deadlock
Four Requirements for deadlock:

  (1) Resources need mutual exclusion. They are not thread safe.
  (2) Resources may be reserved while a process is waiting for more.
  (3) Preemption is not allowed. You can't force a process to give
      up a resource.
  (4) Circular wait is possible. X wants what Y has and Y wants what Z
      has but Z wants what X has.

Solutions (short course):

  Prevention (disallow one of the four)
  Avoidance (study what is required by all before beginning)
  Detection and recovery (reboot if nothing is getting done)



       95-843: Service Oriented Architecture
           Master of Information System                        44
                   Management
Petri Nets Service Algebra
Petri Nets may be represented with an algebra:

   S :: ε                      The service that does nothing
        X                       A basic service
        S1  S2             S1 followed by S2 Sequence operator
        S1 ⊕ S2               S1 xor S2
        S1◊ S 2                arbitrary sequence
        µS                     iteration on S
        S1 ||c S2            parallel with communication
        (S1S2) --> S3        As soon as S1 or S2 do S3
        [S1(p1,q1):(SN(pn,qn)]| dynamically select one of many to execute
        Ref(S1,a,S2)            Do S1 with any ‘a’ operations replaced by S2

Each operation returns a service that may or may not be involved with
other operations. Oriented Architecture
       95-843: Service
          Master of Information System                                45
                  Management
The Empty Service


              ε                         P
                            *




95-843: Service Oriented Architecture
    Master of Information System            46
            Management
Service S1
     S1                        *
                                            i1


                 :                               :
                                        α
                 :                               :




                                            o1



95-843: Service Oriented Architecture
    Master of Information System                     47
            Management
Service S2
     S2                        *
                                            i2


                 :     β                         :
                                        γ
                 :                               :




                                            o2



95-843: Service Oriented Architecture
    Master of Information System                     48
            Management
Service S3
     S3                        *
                                        i3


                 :                           :
                 :                           :




                                        o3



95-843: Service Oriented Architecture
    Master of Information System                 49
            Management
Sequence S1  S2
                                *       i = i1
     S1
                        :                :

                        :                :

                                    o1

     S2
                                        i2

                         :          :

                                        o=o2
95-843: Service Oriented Architecture
    Master of Information System                 50
            Management
Alternative S1⊕ S2
                                       i


            S1                              S2        i2
                            i1

                   …                             …


                        α                        β         γ

                  …                              …


                          o1                         o2


                                        o
95-843: Service Oriented Architecture
    Master of Information System                               51
            Management
Arbitrary Sequence S1 ◊ S2
                                     

                       p1                                p2
                                           p3   S2
   S1
                     i1                                  i2


                   α                                 β        γ


                       o1                                o2



          p4                                             p5
   95-843: Service Oriented Architecture
       Master of Information System                               52
               Management
Services                          µS1
             S1
                                    …               …

                                                ∂
i                 i1                                                o
    

                                                          o1

                                      … … ..




        95-843: Service Oriented Architecture
            Master of Information System                       53
                    Management
Services S1 ||c S2
              

                                                 S2
S1
                     i1                                   i2

                                      p1


                      α                               β
                                                                    ϒ


                                       p2

     o1                                                        o2


                                             o

     95-843: Service Oriented Architecture
         Master of Information System                                   54
                 Management
Services (S1|S2) ~>S3                          

         S1                    i1                          S2        i2


                               α                                 β                 γ


                               o1                                     o2
                                         p1
This operation is                                               p2
a discriminator.
S1 and S2 may be              S3                      i3
two services providing                                                     Will wait until S1 or
the results of the                                                         S2 completes
same complex query.
We take the first                                     o3                  Will wait for the later
to complete.                                                              one to complete

              95-843: Service Oriented Architecture    o
                  Master of Information System                                             55
                          Management
Services [S1(p1,q1):Sn(pn,qn)]
                                 i 
                    send_req_serv
S1            i1                               Sn
                                                               in

         p1                                             pn


                     rec_req_1         rec_req_n

                      send_resp_1 send_resp_n
              q1                                        qn
     …                                                              …
o1                          u                                           on
                                       select_serv

                                       p
                                 …                           Assume middle branch
                                        q                    gains info on service
                                                             qualities. The two
                                                             services provide two
     95-843: Service Oriented Architecture                   entry points.
         Master of Information System   o                                          56
                 Management
An Example of Refinement
                                            i1
S1
                                             assess_claim




            indemnity_customer                    convoke_customer


                                             o1




     95-843: Service Oriented Architecture
         Master of Information System                                57
                 Management
An Example of Refinement
                                                              i    
      S2
                       i2
                                                      assess_simple_claim   assess_complex_claims
assess_simple_claim           assess_complex_claim




                                                      indemnify_customer        convoke_customer

                             o2


                                                                            o

                                   Ref(S1,assess_claim,S2)
              95-843: Service Oriented Architecture
                  Master of Information System                                            58
                          Management
Example Service (SM ||c1( OCS||              c2   IP))

OCS : Online Computing Store
SM : Sony Monitors
IP : Intel Processors

The Online Computing Store needs Sony monitors and
Intel processors.




   95-843: Service Oriented Architecture
       Master of Information System                      59
               Management
Example Service SM ||c1( OCS||                                     c2   IP)

                      OCS || c2 IP
                         OCS
 SM
                              rec_ord_pc                                            IP

rec_ord_mon                                                                   rec_ord_pr
                                                      send_ord_pr
                                 send_ord_mon
        send_del_mon

                                                      rec_del_pr                send_del_pr

                               rec_del_mon



                                            assemble_PC



                o
              95-843: Service Oriented Architecture
                  Master of Information System                                 60
                          Management
A Quiz
Describe this web service in words.

Ref(S1, assess_claim, [A1:An])




     95-843: Service Oriented Architecture
         Master of Information System        61
                 Management
Properties of The Service Algebra
Each operation returns a web service.

S1 (S2  S3) = (S1 S2)  S3              (1)

εS=S                                      (2)
Sε=S                                      (3)
S1 ⊕ S2 = S 2 ⊕ S1                         (4)

S1 ⊕ (S2 ⊕ S3) = (S1⊕ S2) ⊕ S3             (5)
S⊕S=S                                      (6)

(S1 ⊕ S2)  S3 = (S1 S3)⊕(S2 S3)         (7)
S1 ◊ S2 = (S1  S2) ⊕ (S2  S1)            (8)

   95-843: Service Oriented Architecture
       Master of Information System              62
               Management
Desired Properties of the Service Algebra

    µε=ε                                       (9)

    S1 ||c S2 = S2 ||c S1                      (10)

    S1 ||∅(S2 ||∅ S3) = (S1 ||∅ S2) ||∅ S3     (11)

    S ||∅ ε = S                                (12)

    (S1|S2) ~>S3 = (S2|S1) ~> S3               (13)

    (S1 | ε ) ~> S2 = S1 ||∅ S2                (14)

    (S1|S2) ~> ε = S1 ||∅ S2                   (15)

       95-843: Service Oriented Architecture
           Master of Information System               63
                   Management
Desired Properties of the Service Algebra

                                                               n                    (16)
 ∀{i1,…,in} ={1,…,n}                               ∏   Si= ∏ Si
  Select the best of n services
  w/o concern for initial state names. i ∈{i ,…,i }
                                                               i=1
                                            1    n

                           n               n
                                                                                    (17)
 If Sj = ε then ∏ Si = ∏ Si                            Don’t select the
                                                       empty service.
                          i=1            i=1,i≠j
                                                         If a is not an operation
 Ref(S1,a,S2) = S1 if a ∉ L1(T1)                         then no refinement.
                                                                                    (18)

 S1 ◊ S2 = S2 ◊ S1 (from (8) and (4))                                               (19)

 S ◊ S = S  S (from (8) and (6))                                                   (20)

 S ◊ ε = S (from (8), (2), (3), and (6))                                            (21)
           95-843: Service Oriented Architecture
               Master of Information System                                           64
                       Management
Example Proof
Prove: S1 ◊ S2 = S2 ◊ S1


S1 ◊ S2 = (S1  S2) ⊕ (S2  S1)


(S1  S2) ⊕ (S2  S1) = (S2  S1) ⊕ (S1  S2) = S2 ◊ S1




        95-843: Service Oriented Architecture
            Master of Information System                  65
                    Management

More Related Content

Viewers also liked

الحجاج
الحجاجالحجاج
الحجاجahmadeg1
 
Annuity and Life Insurance Product Update - Q4 2014
Annuity and Life Insurance Product Update - Q4 2014 Annuity and Life Insurance Product Update - Q4 2014
Annuity and Life Insurance Product Update - Q4 2014 Corporate Insight
 
Annuity and Life Insurance Product Update - Q2 2014
Annuity and Life Insurance Product Update - Q2 2014Annuity and Life Insurance Product Update - Q2 2014
Annuity and Life Insurance Product Update - Q2 2014Corporate Insight
 
Новости недвижимости Майами - июнь 2016
Новости недвижимости Майами - июнь 2016 Новости недвижимости Майами - июнь 2016
Новости недвижимости Майами - июнь 2016 The Reznik Group
 
Erica Campbell Byrum at Landlord WEBCON 2014
Erica Campbell Byrum at Landlord WEBCON 2014Erica Campbell Byrum at Landlord WEBCON 2014
Erica Campbell Byrum at Landlord WEBCON 2014LandlordWebCon
 
Hail and storms middle school version
Hail and storms middle school versionHail and storms middle school version
Hail and storms middle school versionKathy Page-Applebee
 
Implementation training updated 9.27.13
Implementation training updated 9.27.13Implementation training updated 9.27.13
Implementation training updated 9.27.13progroup
 
Solving all equations with sound
Solving all equations with soundSolving all equations with sound
Solving all equations with soundrobertleichner
 
Innovative work surumi
Innovative work surumiInnovative work surumi
Innovative work surumiSano Anil
 
Provider workshop 11.14.12
Provider workshop 11.14.12Provider workshop 11.14.12
Provider workshop 11.14.12progroup
 
Hurricane Katrina - America's Most Destructive Hurricane
Hurricane Katrina - America's Most Destructive HurricaneHurricane Katrina - America's Most Destructive Hurricane
Hurricane Katrina - America's Most Destructive HurricanePeter Killcommons
 
Новости недвижимости Майами за август 2016
Новости недвижимости Майами за август 2016 Новости недвижимости Майами за август 2016
Новости недвижимости Майами за август 2016 The Reznik Group
 

Viewers also liked (20)

la comunicación
la comunicación la comunicación
la comunicación
 
PPA - 2013
PPA - 2013PPA - 2013
PPA - 2013
 
Scenarios
ScenariosScenarios
Scenarios
 
الحجاج
الحجاجالحجاج
الحجاج
 
Annuity and Life Insurance Product Update - Q4 2014
Annuity and Life Insurance Product Update - Q4 2014 Annuity and Life Insurance Product Update - Q4 2014
Annuity and Life Insurance Product Update - Q4 2014
 
Annuity and Life Insurance Product Update - Q2 2014
Annuity and Life Insurance Product Update - Q2 2014Annuity and Life Insurance Product Update - Q2 2014
Annuity and Life Insurance Product Update - Q2 2014
 
Tarjeta
TarjetaTarjeta
Tarjeta
 
Новости недвижимости Майами - июнь 2016
Новости недвижимости Майами - июнь 2016 Новости недвижимости Майами - июнь 2016
Новости недвижимости Майами - июнь 2016
 
Erica Campbell Byrum at Landlord WEBCON 2014
Erica Campbell Byrum at Landlord WEBCON 2014Erica Campbell Byrum at Landlord WEBCON 2014
Erica Campbell Byrum at Landlord WEBCON 2014
 
Hail and storms middle school version
Hail and storms middle school versionHail and storms middle school version
Hail and storms middle school version
 
Implementation training updated 9.27.13
Implementation training updated 9.27.13Implementation training updated 9.27.13
Implementation training updated 9.27.13
 
Solving all equations with sound
Solving all equations with soundSolving all equations with sound
Solving all equations with sound
 
Future tenses
Future tensesFuture tenses
Future tenses
 
Innovative work surumi
Innovative work surumiInnovative work surumi
Innovative work surumi
 
Imran_resume
Imran_resumeImran_resume
Imran_resume
 
Provider workshop 11.14.12
Provider workshop 11.14.12Provider workshop 11.14.12
Provider workshop 11.14.12
 
Hurricane Katrina - America's Most Destructive Hurricane
Hurricane Katrina - America's Most Destructive HurricaneHurricane Katrina - America's Most Destructive Hurricane
Hurricane Katrina - America's Most Destructive Hurricane
 
After christmas stars
After christmas starsAfter christmas stars
After christmas stars
 
Новости недвижимости Майами за август 2016
Новости недвижимости Майами за август 2016 Новости недвижимости Майами за август 2016
Новости недвижимости Майами за август 2016
 
Kidpro1
Kidpro1Kidpro1
Kidpro1
 

Similar to 01 introduction

ORACLE SOA - IBANK
ORACLE SOA - IBANKORACLE SOA - IBANK
ORACLE SOA - IBANKibankuk
 
Application Crisis avoidance six things you can do
Application Crisis avoidance  six things you can doApplication Crisis avoidance  six things you can do
Application Crisis avoidance six things you can doApalytics
 
Architecture evolution for automation and network programmability
Architecture evolution for automation and network programmabilityArchitecture evolution for automation and network programmability
Architecture evolution for automation and network programmabilityEricsson
 
1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.pptKalsoomTahir2
 
--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppteddielyndacanay0
 
AnandhR_Resume_2016
AnandhR_Resume_2016AnandhR_Resume_2016
AnandhR_Resume_2016Anandh R
 
Architecture Series 5-4 Solution Architecture Draft
Architecture Series 5-4   Solution Architecture   DraftArchitecture Series 5-4   Solution Architecture   Draft
Architecture Series 5-4 Solution Architecture DraftFrankie Hsiang
 
Marwan ghaben technical resume
Marwan ghaben   technical resumeMarwan ghaben   technical resume
Marwan ghaben technical resumeMarwan Mostafa
 
Resume Hindash J W R
Resume Hindash J W RResume Hindash J W R
Resume Hindash J W Rhindashj
 
Playbook PDF - IT Transformation Governance (EN).pdf
Playbook PDF - IT Transformation Governance (EN).pdfPlaybook PDF - IT Transformation Governance (EN).pdf
Playbook PDF - IT Transformation Governance (EN).pdfWissamShehab1
 
Togaf online training
Togaf online trainingTogaf online training
Togaf online trainingxoomlakshmi
 
ICTA Technology Meetup 01 - Enterprise Application Integration
ICTA Technology Meetup 01 - Enterprise Application IntegrationICTA Technology Meetup 01 - Enterprise Application Integration
ICTA Technology Meetup 01 - Enterprise Application IntegrationCrishantha Nanayakkara
 
Resume_Achhar_Kalia
Resume_Achhar_KaliaResume_Achhar_Kalia
Resume_Achhar_KaliaAchhar Kalia
 
Isas _Q3 _Soft_Topic3_enterprise_application_architecture
Isas _Q3 _Soft_Topic3_enterprise_application_architectureIsas _Q3 _Soft_Topic3_enterprise_application_architecture
Isas _Q3 _Soft_Topic3_enterprise_application_architectureTuấn Anh Nguyễn
 
Sujith.K.Menon_original
Sujith.K.Menon_originalSujith.K.Menon_original
Sujith.K.Menon_originalsujith menon
 
Cloud Computing and Service oriented Architecture
Cloud Computing and Service oriented Architecture Cloud Computing and Service oriented Architecture
Cloud Computing and Service oriented Architecture Ravindra Dastikop
 

Similar to 01 introduction (20)

ORACLE SOA - IBANK
ORACLE SOA - IBANKORACLE SOA - IBANK
ORACLE SOA - IBANK
 
Application Crisis avoidance six things you can do
Application Crisis avoidance  six things you can doApplication Crisis avoidance  six things you can do
Application Crisis avoidance six things you can do
 
Architecture evolution for automation and network programmability
Architecture evolution for automation and network programmabilityArchitecture evolution for automation and network programmability
Architecture evolution for automation and network programmability
 
1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt1588487811-chp-11-c-enterprise-application-integration.ppt
1588487811-chp-11-c-enterprise-application-integration.ppt
 
--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt--Enterprise-Application-Integration.ppt
--Enterprise-Application-Integration.ppt
 
AnandhR_Resume_2016
AnandhR_Resume_2016AnandhR_Resume_2016
AnandhR_Resume_2016
 
Architecture Series 5-4 Solution Architecture Draft
Architecture Series 5-4   Solution Architecture   DraftArchitecture Series 5-4   Solution Architecture   Draft
Architecture Series 5-4 Solution Architecture Draft
 
Borhan Resume updated
Borhan Resume updatedBorhan Resume updated
Borhan Resume updated
 
Kevin Sherrard resume
Kevin Sherrard resumeKevin Sherrard resume
Kevin Sherrard resume
 
Marwan ghaben technical resume
Marwan ghaben   technical resumeMarwan ghaben   technical resume
Marwan ghaben technical resume
 
Mohamed_Omar_Cv
Mohamed_Omar_CvMohamed_Omar_Cv
Mohamed_Omar_Cv
 
Professional Profile-Siddarth
Professional Profile-SiddarthProfessional Profile-Siddarth
Professional Profile-Siddarth
 
Resume Hindash J W R
Resume Hindash J W RResume Hindash J W R
Resume Hindash J W R
 
Playbook PDF - IT Transformation Governance (EN).pdf
Playbook PDF - IT Transformation Governance (EN).pdfPlaybook PDF - IT Transformation Governance (EN).pdf
Playbook PDF - IT Transformation Governance (EN).pdf
 
Togaf online training
Togaf online trainingTogaf online training
Togaf online training
 
ICTA Technology Meetup 01 - Enterprise Application Integration
ICTA Technology Meetup 01 - Enterprise Application IntegrationICTA Technology Meetup 01 - Enterprise Application Integration
ICTA Technology Meetup 01 - Enterprise Application Integration
 
Resume_Achhar_Kalia
Resume_Achhar_KaliaResume_Achhar_Kalia
Resume_Achhar_Kalia
 
Isas _Q3 _Soft_Topic3_enterprise_application_architecture
Isas _Q3 _Soft_Topic3_enterprise_application_architectureIsas _Q3 _Soft_Topic3_enterprise_application_architecture
Isas _Q3 _Soft_Topic3_enterprise_application_architecture
 
Sujith.K.Menon_original
Sujith.K.Menon_originalSujith.K.Menon_original
Sujith.K.Menon_original
 
Cloud Computing and Service oriented Architecture
Cloud Computing and Service oriented Architecture Cloud Computing and Service oriented Architecture
Cloud Computing and Service oriented Architecture
 

More from vantinhkhuc (20)

Url programming
Url programmingUrl programming
Url programming
 
Servlets intro
Servlets introServlets intro
Servlets intro
 
Servlet sessions
Servlet sessionsServlet sessions
Servlet sessions
 
Security overview
Security overviewSecurity overview
Security overview
 
Rmi
RmiRmi
Rmi
 
Md5
Md5Md5
Md5
 
Lecture17
Lecture17Lecture17
Lecture17
 
Lecture11 b
Lecture11 bLecture11 b
Lecture11 b
 
Lecture10
Lecture10Lecture10
Lecture10
 
Lecture9
Lecture9Lecture9
Lecture9
 
Lecture6
Lecture6Lecture6
Lecture6
 
Jsse
JsseJsse
Jsse
 
Jsf intro
Jsf introJsf intro
Jsf intro
 
Jsp examples
Jsp examplesJsp examples
Jsp examples
 
Jpa
JpaJpa
Jpa
 
Ejb examples
Ejb examplesEjb examples
Ejb examples
 
Corba
CorbaCorba
Corba
 
Ajax
AjaxAjax
Ajax
 
Ejb intro
Ejb introEjb intro
Ejb intro
 
Chc6b0c6a1ng 12
Chc6b0c6a1ng 12Chc6b0c6a1ng 12
Chc6b0c6a1ng 12
 

01 introduction

  • 1. Service Oriented Architecture Lecture 1: Introduction 95-843: Service Oriented Architecture Master of Information System 1 Management
  • 2. Plan for the week • Course Introduction • Some principles and definitions • Some Theory • Technology Foundations • Homework 1 • Getting logged on to Oracle’s SOA Suite 95-843: Service Oriented Architecture Master of Information System 2 Management
  • 3. Course Web Site • http://www.andrew.cmu.edu/~mm6 95-843: Service Oriented Architecture Master of Information System 3 Management
  • 4. Course Software • We will be using Oracle SOA Suite 11g R1 for projects and demonstrations. • It will be assumed the the student is able to program in Java and use an IDE. 95-843: Service Oriented Architecture Master of Information System 4 Management
  • 5. Structure of the Course • Lectures/class participation • Homework (pencil and paper and programming) • Midterm exam • Readings from IBM’s High level reference architecture will be assigned. • Reading from the required course text and the web will be assigned. • Presentations • Final examination 95-843: Service Oriented Architecture Master of Information System 5 Management
  • 6. Readings • For this week, read the Introduction to Petri Nets and the paper “A Petri Net-based Model for Web Service Composition”. • Read Chapter One of “Oracle SOA Suite 11g R1”. • Read the Introduction and Chapter 1 of “Understanding SOA with Web Services”. 95-843: Service Oriented Architecture Master of Information System 6 Management
  • 7. What is architecture? Victorian Gothic or Neo-Gothic architecture 95-843: Service Oriented Architecture Master of Information System 7 Management
  • 8. Architecture From Reynolds Text • Architecture implies a consistent and coherent design approach. Essential principles include: • Consistency: The same challenges should be addressed in a uniform way. • Reliability: The structures created must be fit to purpose and meet the demands for which they are designed. • Extensibility: A design must provide a framework that can be expanded in ways both foreseen and unforeseen. • Scalability: The implementation must be capable of being scaled to accommodate increasing load by adding hardware to the solution. 95-843: Service Oriented Architecture Master of Information System 8 Management
  • 9. Why is SOA Different? (1) Terminology: Both IT people and business people know what a service is. (2) Interoperability: The interfaces and the wire protocols are based on standards. (3) Extension and Evolution not rip and replace. (4) Reuse of both functionality and machine resources. Chapter one 95-843: Service Oriented Architecture of Reynolds Master of Information System 9 Management
  • 10. SOA Defined • “SOA is the architectural style that supports loosely coupled services to enable business flexibility in an interoperable, technology agnostic manner. SOA consists of a composite set of business-aligned services that support a flexible and dynamically re- configurable end-to-end business process realization using interface- based service descriptions.” From a paper by Borges, Holley and Arsanjani. 95-843: Service Oriented Architecture Master of Information System 10 Management
  • 11. Web Services Preferred(1) • Web Services are XML-based technologies for messaging, service descriptions, discovery, and external features providing: - Pervasive open standards for distributed computing interface descriptions and document exchange via messages From Newcomer 95-843: Service Oriented Architecture Master of Information System 11 Management
  • 12. Web Services Preferred(2) - Independence from the underlying execution environment and application platforms. - Extensibility for enterprise qualities of service such as security, reliability, and transactions. - Support for composite applications such as business process flows, multi-channel access, and rapid 95-843: Service Oriented Architecture integration System Master of Information Management 12
  • 13. XML Preferred (1) • The Extensible Markup Language is a common, independent data format across the enterprise and beyond that provides: - Standard data types and structures, independent of any programming language, development environment or software system. From Newcomer 95-843: Service Oriented Architecture Master of Information System 13 Management
  • 14. XML Preferred (2) - Pervasive technology for defining business documents and exchanging business information, including standard vocabularies for many industries. - Ubiquitous software for handling operations on XML, including parsers, queries, and transformations. From Newcomer 95-843: Service Oriented Architecture Master of Information System 14 Management
  • 15. Build an SOA in 8 Steps (1) Business needs come first (not services) What problem are we trying to solve? (2) What aspects can be implemented as services? Old services? New services? Legacy wrappers? (3) Track services with registries and repositories. Modified from a talk by Daryl 95-843: Service Oriented Architecture Master of Information System Plummer 15 Management of Gartner.
  • 16. Build an SOA in 8 Steps (4) Govern the services. We need to encourage desired behavior at many levels, across enterprises, and at different stages. We need to monitor behavior, enforce policies & assess user satisfaction. 95-843: Service Oriented Architecture Master of Information System 16 Management
  • 17. Build an SOA in 8 Steps (5) Secure the services. Using established standards, we need privacy, identification, authentication, and authorization. This may need to be federated security (over more than one organization.) 95-843: Service Oriented Architecture Master of Information System 17 Management
  • 18. Build an SOA in 8 Steps (6) Manage the services. Are messages arriving on time? Is everything operating properly? (7) Virtualization through mediation. Are we free to move and change the services? Do we need an ESB that acts as a central hub for message routing and transformations? (8) Design for interoperability through the adoptionOrientedstandards. 95-843: Service of Architecture 18 Master of Information System Management
  • 19. Objectives of This Course (1) Study Foundations of SOA Mathematical models (Petri nets) Important standards Orchestration and Choreography The Enterprise Service Bus Reference Architectures Enterprise Integration Patterns (2) Get hands on experience with Oracle’s SOA Suite of tools. 95-843: Service Oriented Architecture Master of Information System 19 Management
  • 20. A Mathematical Foundation • Petri Nets • Petri Nets as applied to Web Services • Why not flow charts? • Why not UML sequence diagrams? • We want to work at a higher level and exploit parallel execution. • Plus, Petri nets are cool! 95-843: Service Oriented Architecture Master of Information System 20 Management
  • 21. Petri Nets Consider the following program: a = 1; What is the normal process order? b = 2; c = 3; Other orderings are possible. a = a + 1; c = b + c; b = a + c; 95-843: Service Oriented Architecture Master of Information System 21 Management
  • 22. Petri Nets A Petri net is a directed graph G = (V,E), where V = P U T and P ∩ T = ∅. Any edge e in E is incident on one member of P and one member of T. The set P is called the set of places (conditions) and the set T is the set of transitions (events). 95-843: Service Oriented Architecture Master of Information System 22 Management
  • 23. Petri Nets Places are typically drawn as circles and transitions as bars. p1 t1 p2 t3 p3 t2 p4 95-843: Service Oriented Architecture Master of Information System 23 Management
  • 24. Petri Net G = (V,E) P = {p1,p2,p3,p4} T = {t1,t2,t3} E = {(p1,t1),(t1,p2),(p2,t3),(p3,t1),(p3,t2),(t2,p4),(p4,t3)} p1 t1 p2 t3 p3 t2 p4 95-843: Service Oriented Architecture Master of Information System 24 Management
  • 25. A Marked Petri Net A marking of a Petri net assigns each place a nonnegative integer n. We say each place p is marked with n tokens. Tokens are represented as black dots. ** t1 p2 p1 t3 * * t2 p3 p4 95-843: Service Oriented Architecture Master of Information System 25 Management
  • 26. Firing Transitions In a Petri net, if an edge is directed from place p to transition t, we say p is an input place for transition t. An output place is defined similarly. If every input place for a transition t has at least one token, we say that t is enabled. A firing of an enabled transition removes one token from each input place and adds one token to each output place. A transition can fire only if it’s enabled. Firing a transition is an atomic 95-843: Service Oriented Architecture operation. Master of Information System Management 26
  • 27. Fire Transition t1 (ready?) ** t1 p2 p1 t3 * * t2 p3 p4 95-843: Service Oriented Architecture Master of Information System 27 Management
  • 28. Transition t1 Fired * * t1 p2 p1 t3 * t2 p3 p4 95-843: Service Oriented Architecture Master of Information System 28 Management
  • 29. Fire Transition t3 (Ready?) * * t1 p2 p1 t3 * t2 p3 p4 95-843: Service Oriented Architecture Master of Information System 29 Management
  • 30. Transition t3 Fired * t1 p2 p1 t3 t2 p3 p4 95-843: Service Oriented Architecture Master of Information System 30 Management
  • 31. Petri Nets Consider again the following program: a = 1; b = 2; c = 3; a = a + 1; c = b + c; b = a + c; 95-843: Service Oriented Architecture Master of Information System 31 Management
  • 32. Modeled as a Petri Net a=1 a=a+1 * p1 p4 b=2 b=a+c * p7 p5 c=b+c p2 p9 c=3 * p8 p6 p3 95-843: Service Oriented Architecture Master of Information System 32 Management
  • 33. Fire Transitions (ready?) a=1 a=a+1 * p1 p4 b=2 b=a+c * p7 p5 c=b+c p2 p9 c=3 * p8 p6 p3 95-843: Service Oriented Architecture Master of Information System 33 Management
  • 34. Transitions Fired a=1 a=a+1 * p1 p4 b=2 b=a+c * p7 p5 c=b+c p2 p9 c=3 * p8 p6 p3 95-843: Service Oriented Architecture Master of Information System 34 Management
  • 35. Fire Transitions (Ready) a=1 a=a+1 * p1 p4 b=2 b=a+c * p7 p5 c=b+c p2 p9 c=3 * p8 p6 p3 95-843: Service Oriented Architecture Master of Information System 35 Management
  • 36. Transitions Fired a=1 a=a+1 p1 p4 * b=2 b=a+c p7 p5 c=b+c p2 p9 c=3 * p8 p6 p3 95-843: Service Oriented Architecture Master of Information System 36 Management
  • 37. Fire Last Transition (Ready?) a=1 a=a+1 p1 p4 * b=2 b=a+c p7 p5 c=b+c p2 p9 c=3 * p8 p6 p3 95-843: Service Oriented Architecture Master of Information System 37 Management
  • 38. Last Transition Fired a=1 a=a+1 p1 p4 b=2 b=a+c p7 * p5 c=b+c p2 p9 c=3 p8 p6 p3 95-843: Service Oriented Architecture Master of Information System 38 Management
  • 39. In This Class All of our Petri Nets will begin with a single input place and end with a single output place. We will always start the Petri Net off with a single token in the input place. 95-843: Service Oriented Architecture Master of Information System 39 Management
  • 40. Two Quizzes (Take out pencil and paper) (1) The Petri Net we drew begins with three markings. Redraw the Petri net so that it begins with a single marking. (2) Build a Petri net to wash a lion based on the following steps 1. Get lion. 2. Get soap. (real soap not SOAP) 3. Get tub. 4. Put water in tub. 5. Put lion in tub. 6. Wash lion with soap. 7. Rinse lion. 8. Remove lion from tub. 9. Dry lion. Oriented Architecture 95-843: Service Master of Information System 40 Management
  • 41. Liveness A Petri net is deadlocked if no transition can fire. A marking M for a Petri net is live if, beginning from M, no matter what sequence of firings has occurred, it is possible to fire any given transition by processing through some additional firing sequence. If a marking M is live for a Petri net P, then no matter what sequence of transitions is fired, P will never deadlock. Indeed, we can fire any transition by proceeding through some additional firing sequence. 95-843: Service Oriented Architecture Master of Information System 41 Management
  • 42. Deadlock Example Case: Person 1 requests disk drive D. D is ready. Person 1 requests printer P. P is ready. Person 1 uses and releases P and D. P and D are available. Case: Person 1 requests disk drive D. D is ready. Person 2 requests printer P. P is ready. Person 1 is waiting for person 2 to release P. Person 2 is waiting for person 1 to release D. No transitions can fire and we have deadlock. 95-843: Service Oriented Architecture Master of Information System 42 Management
  • 43. D available * Request D Request D D ready D ready Finished with D and P Finished with D and P Release Process Release Process D and P D and P P ready P ready Request P Request P P available * Person 1 Person 2 95-843: Service Oriented Architecture Master of Information System 43 Management
  • 44. Deadlock Four Requirements for deadlock: (1) Resources need mutual exclusion. They are not thread safe. (2) Resources may be reserved while a process is waiting for more. (3) Preemption is not allowed. You can't force a process to give up a resource. (4) Circular wait is possible. X wants what Y has and Y wants what Z has but Z wants what X has. Solutions (short course): Prevention (disallow one of the four) Avoidance (study what is required by all before beginning) Detection and recovery (reboot if nothing is getting done) 95-843: Service Oriented Architecture Master of Information System 44 Management
  • 45. Petri Nets Service Algebra Petri Nets may be represented with an algebra: S :: ε  The service that does nothing X A basic service S1  S2  S1 followed by S2 Sequence operator S1 ⊕ S2  S1 xor S2 S1◊ S 2  arbitrary sequence µS  iteration on S S1 ||c S2  parallel with communication (S1S2) --> S3 As soon as S1 or S2 do S3 [S1(p1,q1):(SN(pn,qn)]| dynamically select one of many to execute Ref(S1,a,S2) Do S1 with any ‘a’ operations replaced by S2 Each operation returns a service that may or may not be involved with other operations. Oriented Architecture 95-843: Service Master of Information System 45 Management
  • 46. The Empty Service ε P * 95-843: Service Oriented Architecture Master of Information System 46 Management
  • 47. Service S1 S1 * i1 : : α : : o1 95-843: Service Oriented Architecture Master of Information System 47 Management
  • 48. Service S2 S2 * i2 : β : γ : : o2 95-843: Service Oriented Architecture Master of Information System 48 Management
  • 49. Service S3 S3 * i3 : : : : o3 95-843: Service Oriented Architecture Master of Information System 49 Management
  • 50. Sequence S1  S2 * i = i1 S1 : : : : o1 S2 i2 : : o=o2 95-843: Service Oriented Architecture Master of Information System 50 Management
  • 51. Alternative S1⊕ S2  i S1 S2 i2 i1 … … α β γ … … o1 o2 o 95-843: Service Oriented Architecture Master of Information System 51 Management
  • 52. Arbitrary Sequence S1 ◊ S2  p1 p2 p3 S2 S1 i1 i2 α β γ o1 o2 p4 p5 95-843: Service Oriented Architecture Master of Information System 52 Management
  • 53. Services µS1 S1 … … ∂ i i1 o  o1 … … .. 95-843: Service Oriented Architecture Master of Information System 53 Management
  • 54. Services S1 ||c S2  S2 S1 i1 i2 p1 α β ϒ p2 o1 o2 o 95-843: Service Oriented Architecture Master of Information System 54 Management
  • 55. Services (S1|S2) ~>S3  S1 i1 S2 i2 α β γ o1 o2 p1 This operation is p2 a discriminator. S1 and S2 may be S3 i3 two services providing Will wait until S1 or the results of the S2 completes same complex query. We take the first o3 Will wait for the later to complete. one to complete 95-843: Service Oriented Architecture o Master of Information System 55 Management
  • 56. Services [S1(p1,q1):Sn(pn,qn)] i  send_req_serv S1 i1 Sn in p1 pn rec_req_1 rec_req_n send_resp_1 send_resp_n q1 qn … … o1 u on select_serv p … Assume middle branch q gains info on service qualities. The two services provide two 95-843: Service Oriented Architecture entry points. Master of Information System o 56 Management
  • 57. An Example of Refinement  i1 S1 assess_claim indemnity_customer convoke_customer o1 95-843: Service Oriented Architecture Master of Information System 57 Management
  • 58. An Example of Refinement i  S2  i2 assess_simple_claim assess_complex_claims assess_simple_claim assess_complex_claim indemnify_customer convoke_customer o2 o Ref(S1,assess_claim,S2) 95-843: Service Oriented Architecture Master of Information System 58 Management
  • 59. Example Service (SM ||c1( OCS|| c2 IP)) OCS : Online Computing Store SM : Sony Monitors IP : Intel Processors The Online Computing Store needs Sony monitors and Intel processors. 95-843: Service Oriented Architecture Master of Information System 59 Management
  • 60. Example Service SM ||c1( OCS|| c2 IP)  OCS || c2 IP OCS SM rec_ord_pc IP rec_ord_mon rec_ord_pr send_ord_pr send_ord_mon send_del_mon rec_del_pr send_del_pr rec_del_mon assemble_PC o 95-843: Service Oriented Architecture Master of Information System 60 Management
  • 61. A Quiz Describe this web service in words. Ref(S1, assess_claim, [A1:An]) 95-843: Service Oriented Architecture Master of Information System 61 Management
  • 62. Properties of The Service Algebra Each operation returns a web service. S1 (S2  S3) = (S1 S2)  S3 (1) εS=S (2) Sε=S (3) S1 ⊕ S2 = S 2 ⊕ S1 (4) S1 ⊕ (S2 ⊕ S3) = (S1⊕ S2) ⊕ S3 (5) S⊕S=S (6) (S1 ⊕ S2)  S3 = (S1 S3)⊕(S2 S3) (7) S1 ◊ S2 = (S1  S2) ⊕ (S2  S1) (8) 95-843: Service Oriented Architecture Master of Information System 62 Management
  • 63. Desired Properties of the Service Algebra µε=ε (9) S1 ||c S2 = S2 ||c S1 (10) S1 ||∅(S2 ||∅ S3) = (S1 ||∅ S2) ||∅ S3 (11) S ||∅ ε = S (12) (S1|S2) ~>S3 = (S2|S1) ~> S3 (13) (S1 | ε ) ~> S2 = S1 ||∅ S2 (14) (S1|S2) ~> ε = S1 ||∅ S2 (15) 95-843: Service Oriented Architecture Master of Information System 63 Management
  • 64. Desired Properties of the Service Algebra n (16) ∀{i1,…,in} ={1,…,n} ∏ Si= ∏ Si Select the best of n services w/o concern for initial state names. i ∈{i ,…,i } i=1 1 n n n (17) If Sj = ε then ∏ Si = ∏ Si Don’t select the empty service. i=1 i=1,i≠j If a is not an operation Ref(S1,a,S2) = S1 if a ∉ L1(T1) then no refinement. (18) S1 ◊ S2 = S2 ◊ S1 (from (8) and (4)) (19) S ◊ S = S  S (from (8) and (6)) (20) S ◊ ε = S (from (8), (2), (3), and (6)) (21) 95-843: Service Oriented Architecture Master of Information System 64 Management
  • 65. Example Proof Prove: S1 ◊ S2 = S2 ◊ S1 S1 ◊ S2 = (S1  S2) ⊕ (S2  S1) (S1  S2) ⊕ (S2  S1) = (S2  S1) ⊕ (S1  S2) = S2 ◊ S1 95-843: Service Oriented Architecture Master of Information System 65 Management