SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
This Presentation Courtesy of the
                                           International SOA Symposium
                                           October 7-8, 2008 Amsterdam Arena
                                           www.soasymposium.com
                                           info@soasymposium.com


                                                         Founding Sponsors




   Platinum Sponsors




   Gold Sponsors                    Silver Sponsors




          SOA Symposium
          Amsterdam 2008-08-07 - 08




                         The Composability Index
                                           Sven-Håkan Olsson


                                                                               2
SOA_Symp_Amst_Composability_oct08_v5.ppt




                                                                                   1
Why a Composability Index?
 • To be able to get a fast approximation of a
   suggested SOA design’s usefulness, when
   composition is expected


 • Through the reasoning behind the Composability Index per
   se, general knowledge about real-life behaviour of SOA
   interfaces gets increased

 • Through the work of inspecting a suggested SOA design to
   calcutate the Index, insight increases and the design may
   get improved


                                                            3




”KISS”
 • The Composability Index is kept very simple so
   that we don’t get dragged into overly theoretical
   metrics.
 • It is a course approximation that should work fine
   for a majority of designs and usages (but not for
   special cases).
 • ”Rather roughly right than exactly wrong”



          ”Aren’t the composability aspects included in
          the Index just normal SOA design criteria?”
          - Well, yes, but the selected aspects are extra
          important for composition usages!
                                                            4




                                                                2
What does Composition mean in this session?
  • To be able to aggregate several services into larger (or
    more specialized) services. Examples:
                                                                                      usage from business
                                                  usage                               process logic




                                                     Composite
                                                     Service alfa
                       usage                                                                                usage




                               Composite                                      Composite
                               Service A                                      Service B
                               simple sequence                                incl. embedded
                               of service usage                               business
                                                                              process logic

              usage




                         Service 1                          Service 2                       Service 3
                                                                                                                                     5




 A more concrete example
                                                                                        usage




                                                                                        Composite service

                                          Rich client

Thin arrows here
represent ”oldstyle”
OO reuse through                                                                                                    other services
more tightly                                                SOA layer
coupled OO
interfaces – not
loosely coupled
SOA interfaces
                                                                                                            Thick arrows
                                                                                                            here represent
                                            Business      Business         Business                         loosely coupled
                                            object 1      object 2   ...   object n
                                                                                                            SOA interfaces




                                                                                                                                     6




                                                                                                                                         3
What does Composability mean in this session?
       • How well it works to use a specific service
         interface as a part of a composition

       • Mainly architectural and technical, real-life behaviour
         aspects


       • Of course, there other important composability aspects
         outside the scope of this proposed Index, such as who is
         reponsible for what, pricing, SLA:s and many more
         governance aspects. Could also be included, the index is
         customizable.
       • Also see chapter 13 in ”SOA Principles of Service Design”
         by Thomas Erl for a thorough, less technical description of
         composability.

                                                                                                                             7
SLA = Service Level Agreement




 The Index
       • Each service interface that is a candidate for being used in
         composition is inspected. A simple questionaire is filled in
         with a course grading of important interface quality aspects
         related to composability
       • The grades have weights that reflects how bad or good this
         is considered to be in relation to composition
       • Per service interface, a resulting composability index gets
         calculated.                         Different situations might require different
                                                                                    weights (curves) for a quality aspect.
                                Weighted                                            The index is customizable!
                                curves
                                                                   x
                                                     Good
                                              Composability
              Good               x                     Bad
       Composability                                             Quality aspect 3
                Bad
                                                                                                                        The
                          Quality aspect 2
                                                                                                             ∑
                                                  Good                                                                  Index
                                           Composability     x
       Good                                         Bad
Composability                     x                        Quality aspect n
         Bad
                 Quality aspect 1
                                                                                                                             8




                                                                                                                                 4
The composability quality aspects
  The following slides contain a number of these composability
     quality aspects. Included are:

      1.    The ACID problem for updating services
      2.    Loop-invocation expectancy
      3.    Coherence vs multi-functionality
      4.    Exception-handling quality
      5.    Availability
      6.    Authorization principle
      7.    Statelessness
      8.    Master Data Management (MDM) support
      9.    Semantic clarity
      10.   Canonical information model
      11.   Amount of business process logic inside a service


  (Which aspects that are to be included in an Index
    can be customized, to fit different situations.)
                                                                                 9




1 The ACID problem for updating services
  • Information fidelity and consistency cannot be guaranteed
    if we do not do ACID updates. Since SOA ACID normally
    would be too tightly coupled, we may have to take care of
    update errors in a couple of days (via long-running
    transactions).
      – Either
            • Good composability: Read-only services. Or update services that
              include the ACID needs inside of them.
      – Or:
            • Updating services that are likely to be used together with other
              updating services, thus requiring employment of long-running
              transactions (costly, complex, less user-friendly).

            Good

 Composability

             Bad
               Read-only or ACID-inside            Requires long-running tx      10




                                                                                      5
1 The ACID problem for updating services

       Better to make updating services that are
       larger, so that they can contain needed                                                 Long-running business transactions
       ACID handling inside the service (inside, it                                            caused by the absence of ACID should be
       is OK to use tight coupling that often                                                  kept to a minimum, but cannot always be
       wouldn’t be OK for SOA).                                                                avoided.
       E.g.: One single SOA interface invocation                                               Cumbersome because long-running
       for updating invoice-head together with all                                             transactions increase the volume of
       invoice-rows)                                                                           needed business logic and because
                                                                                               personell usually have to handle the
                                                                                               compensation.
                                                                                               Also, meanwhile the long-running tx is
                                                                                               pending, the users must be informed that
                                                                                               the info is only preliminary

                        Good

     Composability

                           Bad
                                   Read-only or ACID-inside                                          Requires long-running tx


                                                                                                                                    11
ACID = Atomicity, Consistency, Independecy, Durability. I.e. all-or-nothing updating or Unit-of-work updating..




 Questionaire sample for the ACID problem
        •     Check one of the following:

                 This is a read-only service interface.
                  Or, all conceivable updates that should be kept together, are
                  kept together inside the service, through internal ACID                                         ”Good-weight”: 10

                 Internal ACID is used for related updates that should be kept
                  together, but at rare times, related info is expected to have to
                  be updated via another service ”at the same time”                ”Good-weight”: 4

                 Internal ACID is used for related updates that should be kept
                  together, but sometimes, related info is expected to have to be
                  updated via another service ”at the same time”                  ”Good-weight”: 3

                 Internal ACID is used for related updates that should be kept
                  together, but often, related info is expected to have to be
                  updated via another service ”at the same time”                                                  ”Good-weight”: 1

                 No internal ACID is used, several service invocations have to
                  be carried out to complete update of related info.            ”Good-weight”: 0


                        Good: 10
            Composability

                           Bad: 0

                                Read-only or ACID-inside                    Requires long-running tx                                12




                                                                                                                                          6
2 Loop-invocation expectancy
 • Is the SOA interface designed in such a way that it is
   probable that the using service have to create a loop to
   invocate the service a lot of times, increasing overhead
   and latency impact substantially?
       – Either:
             • Interface that can cope with multiple instances and also with a
               hierarchy of instances inside of instances.
       – Or:
             • Interface that is ”singleton” and only can cope with one instance of an
               object



            Good

Composability

              Bad
                 Multi-instance, hierarchical                       Singleton only         13




2 Loop-invocation expectancy
                                                 A SOA interface that can cope with single
 Better to make SOA interfaces that can          instances can be useful, but if they are
 cope with several instances of objects.         restricted to that, a large number of
 Everything can be accompished in one            invocations have to be made to get complete
 single invocation instead of many small         business information.
 invocations.                                    The major problem is that latency for each
 E.g.: One single SOA interface                  invocation degrades performance severly.
 invocation for reading invoice-head             Latency is often caused by network latency,
 together with all invoice-rows                  many layers of sw, initial object creation in
                                                 sw, XML-DOM creation, for satellites the
                                                 speed of light etc.
                                                 Latency doesn’t improve so much, whereas
                                                 bandwidth does!



            Good

Composability

              Bad
                 Multi-instance, hierarchical                       Singleton only


                                                                                           14




                                                                                                 7
3 Coherence vs multi-functionality
  • “How good is the Swiss army knife approach to services”?
        – Either:
              • Coherent – only one, fixed functionality per SOA interface (or just few),
                increases the number of interfaces a lot but each one is easier to
                understand
        – Or:
              • Multi-functional – complex, more abstract, reduces number of SOA
                interfaces but each is more difficult to understand and find




             Good

 Composability

               Bad
                         Coherent                                    Multi-functional               15




3 Coherence vs multi-functionality
                                                           Too multi-funtional service interfaces will
 Too coherent service                                      get much more difficult to understand.
 interfaces, i.e. one                                      Discoverability decreases because the
 interface only do                                         name of the interface cannot be very
 exact one thing,                                          mnemotechnical. I.e. AskGeneralLedger
 means there will be a                                     could disguise hundreds of actual service
 risk that the number         Optimal balance              interfaces hidden behind the façade.
 of interfaces explode        coherency vs multi-          Interface versioning should always be
 – all combinations of        functionality.               clear and explicit – with multi-fynctional it
 requirements                 Or, no multi-functionality   gets possible to obscure contract version
 permutate                    is conceivable in this       breach through steering parameters that
                              case                         get new allowed values.




             Good

 Composability

               Bad
                         Coherent                                    Multi-functional


                                                                                                    16




                                                                                                           8
4 Exception-handling quality
  • SOA service usage must be stabile and rugged, especially
    when combined through composition – very good
    exception handling is needed.
      – Either:
          • Well structured return codes. Return code descriptions. Severity levels.
            Possible to pass variable texts to consumer. Logging, auditing.
      – Or:
          • Overly simple exception handling – e.g. just a sucess/failed flag.




          Good

 Composability

           Bad
              Structured except. handlg.               Simple excep. handlg.        17




4 Exception-handling quality
           Principles for exception
           handling must be really
           well thought through.
           Needed SOA loose
           coupling means that                            Programmers
           language specifics like                        sometimes think that
           ”throw” cannot be used.                        exception handling is
           Logging and auditing                           boring – the result may
           should add to the                              be service interfaces
           possibility to find errors.                    that gives a less than
                                                          stabile total system




          Good

 Composability

           Bad
              Structured except. handlg.               Simple excep. handlg.


                                                                                    18




                                                                                         9
5 Availability
  • The availability (uptime) of a composite service depends
    severly on the uptime of the underlying services
      – Either:
           • A used service exhibits high availability (probability figure, often part of
             SLA).
      – Or:
           • The service exhibits low availability




          Good

 Composability

            Bad
                 High availability                         Low availability                 19




5 Availability
          High availability for composed
          service interfaces help create a           Low availability is problematic
          stabile total system.                      when many services are
          The availability in turn relies on that    composed together – the
          the service’s inside has fault-            availability probabilities has to be
          tolerant hw/sw, asynch nature, is          multiplied.
          well-tested & bug-free etc.                E.g. if 10 services has 0.99
                                                     availability each, the resulting
                                                     availability is only 0,9910 = 0.90 !
          (However, cost is not included
          separately in this Index – high fault-
          tolerance can be very expensive...!)




          Good

 Composability

            Bad
                 High availability                         Low availability


                                                                                            20




                                                                                                 10
Other composability quality aspects
  • The following slides include other composability
    quality aspects
  • These are included for reference, we haven’t time
    to go through them in this session




                                                                            21




6 Authorization principle
  • In the world of large-scale SOA the delegated authorization
    based on the trust principle is usually best
      – Either:
          • Authorization delegation based on the trust principle
      – Or:
          • The service itself requires to know a logged in user via some
            mechanism. Or, other complicated authorization mechanism.




         Good

Composability

          Bad
                Authorization delegation         Requires logged in user    22




                                                                                 11
6 Authorization principle
                                                In the world of large-scale SOA it is usually
                                                not practically possible to require that all
         Normally, each service should          service composition layers must demand e.g.
         be given an authorization              PKI log-in-credentials for a logged-in end-
         delegation. In this, the service       user.
         carries out authorization based        Personal PKI or other complicated
         in its internal logic, and             mechanisms would give tighter coupling, bad
         sometimes based on a                   interoperability and often technology lock-in.
         knowledge about a possible             Also, sometimes there is no end-user, it’s an
         end-user.                              autonomous usage.
         The using services should              And often, the service logic should itself have
         have a trust contract with the         higher rights than the user per se, so simple
         service.                               “impersonation” would not work..




          Good

 Composability

            Bad
                 Authorization delegation            Requires logged in user


                                                                                             23




7 Statelessness
  • Is the service interface stateless?
      – Either:
           • It is stateless, so that it doesn’t rely on other service invocations in a
             specified sequence
      – Or:
           • It is stateful




         Good

Composability

           Bad
                  Stateless                                         Stateful                 24




                                                                                                  12
7 Statelessness
                                                 One might argue that persistence inside
                                                 a service (storing in a database) is a
                                                 form of statefulness, but that is not what
         The invocation does not have to
                                                 we focus on here, it is rather the
         be a part of a specified
                                                 interface’s statefulness.
         sequence, that would give a too
                                                 A way of avoiding statefulness in
         tight coupling.
                                                 another way is to create the business
         E.g. a course granular interface
                                                 logic so that it allows for incomplete
         with one invoice-head together
                                                 preliminary data, e.g. then it might be
         with all its invoice-rows would
                                                 OK to store orphan invoice-rows without
         be stateless.
                                                 any invoice-head.
                                                 Another statefulness that would be OK
                                                 is security infrastructure state, e.g. a
                                                 VPN session.


         Good

Composability

           Bad
                  Stateless                                        Stateful


                                                                                              25




8 Master Data Management (MDM) support
  • In cases where the same info is stored inside several
    systems (too common), a composer must have a chance to
    know if the service takes care of notifying other systems
    about updates, in an MDM fashion, or not.
    Part of the contract.
      – Either:
           • The service contract states that the service takes responsability to
             notify according to an MDM scheme
      – Or:
           • The service contract doesn’t states anything about this issue, or states
             that it doesn’t take MDM responsability


         Good

Composability

           Bad
                MDM support                     No MDM support or unknown                     26




                                                                                                   13
8 Master Data Management (MDM) support

                                                        The unknown state is of course
                                                        not good.
   Composition is powerful, but there is                And if it is stated that MDM is
   also a risk that it hides problems, one              not included, the composite
   of them MDM issues.                                  service probably have to device
   The service contract should thus tell                its own MDM, e.g. an
   that it supports MDM.                                aynchronous notification to
   (In an ideal world, all MDM needs                    another system.
   would already be taken care of behind
   the SOA interface, but the world is not
   ideal...)




           Good

Composability

             Bad
                MDM support                       No MDM support or unknown


                                                                                          27




9 Semantic clarity
  • This is a test of if the service interface contract is clear
    enough, specifically regarding semantic description quality.
       – Either:
             • The service interface contract contains (or refers to) a clear semantic
               description of its information
       – Or:
             • The semantic desciption is not clear (or missing)




           Good

Composability

             Bad
                Semantic clarity                        No clarity (or missing)           28




                                                                                               14
9 Semantic clarity


          Semantic descriptions
          are extremely important
          e.g. for a composer to                       Often the only
          understand if he/she is                      description of a service
          mixing incompatible data                     interface is a WSDL file
                                                       and perhaps some
                                                       uncommented XML
                                                       schemas. That is not
                                                       enough to really describe
                                                       the semantics.



         Good

Composability

          Bad
                Semantic clarity                     No clarity (or missing)

                                                                                   29




10 Canonical information model
  • In large-scale SOA it is probably impossable to have the
    same information model and the same semantic concepts
    everywhere, throughout the whole organization. However,
    if a service interface follows a common, canonical
    information model used for integration and SOA purposes,
    it should be useful when composing.
      – Either:
           • The service interface follows a canonical information model.
      – Or:
           • The information model of the underlying system is instead exposed in
             the service interface.

          Good

 Composability

            Bad
                  Canonical model               Underlying system’s model          30




                                                                                        15
10 Canonical information model

                                                      One of SOA’s great features is
                                                      the isolation of underlying details
     A canonical model is in theory                   (black-box principle).
     very positive.                                   Thus, different underlying
     However, it is debated how                       systems may have different
     feasible it is to define one, and to             information models.
     use it, in real-life.                            In the service usage (especially
     Thus, the ”good-weight” of this                  in composition) it is therefore
     might be controversial – different               sometimes to be expected to do
     organisations might choose to                    translations between information
     take different decisions.                        models – or that this takes place
                                                      in an intermediary layer.




            Good

 Composability

              Bad
                   Canonical model                 Underlying system’s model                31




11 Amount of business process logic inside a service
  • Business process logic tends to need to change more
    frequently than the underlying information model which in
    turn could get exposed via simpler CRUD interfaces
      – Either:
             • Almost no business logic inside the service, e.g. only CRUD interfaces
               for information objects.
      – Or:
             • Complex business logic chunks embedded behind the SOA interfaces




            Good

 Composability

              Bad
                     CRUD-only              Both   Complex biz logic embedded 32




                                                                                                 16
11 Amount of business process logic inside a service

                                                        Optimal balance –
                                                        there is a need both              Service interfaces
     CRUD-only is overly                                                                  shouldn’t have to change
                                                        for basic CRUD
     simple, in effect only a                                                             every month.
                                                        interfaces and more
     database encapsulation                                                               In an agile business
                                                        complex logic
     layer.                                                                               some business logic will
                                                        services.
     Composite services                                                                   have to change
                                                        Composition in itself
     would not be allowed                                                                 frequently – in this case
                                                        can yield both levels
     and there is a sound                                                                 don’t let this be handled
                                                        in parallel.
     reuse potential also for                                                             inside services but
     these.                                                                               instead in a biz process
                                                                                          layer on top of all
                                                                                          services – and closer to
                                                                                          the GUI:s.



                     Good

    Composability

                       Bad
                                 CRUD-only                       Both             Complex biz logic embedded

CRUD = Create, Read, Update, Delete
                                                                                                                 33




 Calculating The Index for a service interface
       • Very simple, just add the ”score” from each
         questionaire aspect (i.e. the selected grades’
         ”good-weight”).
       • Divide by number of aspects. Voila, the Index!
       • Easy to create an Excel/Calc sheet for the
         questionaire and the calculation.

                                      Weighted
                                      curves
                                                                      x
                                                            Good
                                       x             Composability
                   Good
                                                              Bad
            Composability                                             Quality 3                              The
                     Bad
                               Quality 2                                                            ∑
                                                        Good
                                                                                                             Index
       Good
Composability                                    Composability    x
                                                          Bad
         Bad                      x                              Quality n
                   Quality 1                                                                                     34




                                                                                                                      17
Sample calculation
                  Service interface A's composability Index:

                                                                       Selected grade's
                  Composability quality aspects                        "good-weight"

                  The ACID problem for updating services                                     2
                  Loop-invocation expectancy                                                10
                  Coherence vs multi-functionality                                           4
                  Exception-handling quality                                                 2
                  Availability                                                              10
                  Authorization principle                                                   10
                  Statelessness                                                             10
                  Master Data Management (MDM) support                                       5
                  Semantic clarity                                                           3
                  Canonical information model                                                4
                  Amount of business process logic inside a service                          5
                                                             Sum:                           65

                  Divide by number of aspects, which is:                                    11
                  Yields the Composability Index for A:                                    5,9

                  (Weights should be from 0 to 10 in this example.)
                                                                                                 35




Customize and modify the Index?
    • A global index where all the world’s services could be justly
      compared is not within the scope of this simple metric.

    • Instead, it is altogether possible to modify the index to
      match different circumstances in a specific organisation
      that wants to use composition
    • Two easy ways to modify the index:
          – Which quality aspects should be included?
                 • Maybe one of them is not of interest in a specific case?
                   Maybe another should be added?
          – Which weights should be applied on each aspect?
                 • This would change the ”good/bad-curve”.
                   For example, if it is sure that the whole solution would only be
                   deployed in one single building, then network latency may be ruled out
                   as a problem cause (whereas in a system deployed around the world,
                   that would definitely be a problem) – so the ”Loop-invocation
                   expectancy” aspect could be given more optimistic weights.


       Good                               Other weights               Good
Composability                            yield other curve     Composability
         Bad                                                            Bad
                Quality 1                                                      Quality 1         36




                                                                                                      18
Questionaire sample
  • A sample Excel file with a questionaire and
    calculation is available for free download at
       www.definitivus.se/soasymposium
  • Includes
        – Short text describing each answer alternative
        – Suggested weights for the grades




                                                                                              37




Sven-Håkan Olsson is an independent consultant, course leader and speaker who focuses on
application architecture and SOA. Since 1977 he has worked in a large number of IT
development projects, ranging from embedded microcontrollers to main-frames. He has
carried out modeling, architecture design and programming in diverse business areas. He has
also specialized in reviews of problem projects.


Sven-Håkan Olsson holds an MScEE from the Royal Institute of Technology in Stockholm. In
May 2008, he was appointed one of the 'top developers in Sweden' by the magazine IDG
Computer Sweden.




 Please feel free to contact
 me if you have comments
       or suggestions!
                                                   D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S
                                                   Tel +46 708 840134
                                                   sven-hakan.olsson[.]definitivus.se
                                                   www.definitivus.se
                                                                                              38




                                                                                                   19

Mais conteúdo relacionado

Mais procurados

exchange2010-Architecture
exchange2010-Architectureexchange2010-Architecture
exchange2010-ArchitectureSelva G Kumar
 
Marketing Strategy and Planning: Sustainable Business ModelsFinal Project
Marketing Strategy and Planning: Sustainable Business ModelsFinal ProjectMarketing Strategy and Planning: Sustainable Business ModelsFinal Project
Marketing Strategy and Planning: Sustainable Business ModelsFinal ProjectBrean Deters
 
3 junhua-experience show unified communication
3 junhua-experience show unified communication3 junhua-experience show unified communication
3 junhua-experience show unified communicationITband
 
פרופילי אלומיניום Kanya
פרופילי אלומיניום Kanyaפרופילי אלומיניום Kanya
פרופילי אלומיניום KanyaIntergreen Ltd
 
Which server to choose ace it solutions guide
Which server to choose ace it solutions guideWhich server to choose ace it solutions guide
Which server to choose ace it solutions guideajaybongani
 
From Informal Process Diagrams To Formal Process Models
From Informal Process Diagrams To Formal Process ModelsFrom Informal Process Diagrams To Formal Process Models
From Informal Process Diagrams To Formal Process ModelsDebdoot Mukherjee
 
Heizer om10 ch11-supply chain
Heizer om10 ch11-supply chainHeizer om10 ch11-supply chain
Heizer om10 ch11-supply chainRozaimi Mohd Saad
 
Steps to sell a business value engage marketing 2 powerpoint ppt slides.
Steps to sell a business value engage marketing 2 powerpoint ppt slides.Steps to sell a business value engage marketing 2 powerpoint ppt slides.
Steps to sell a business value engage marketing 2 powerpoint ppt slides.SlideTeam.net
 
Steps to sell a business value engage marketing 2 powerpoint presentation tem...
Steps to sell a business value engage marketing 2 powerpoint presentation tem...Steps to sell a business value engage marketing 2 powerpoint presentation tem...
Steps to sell a business value engage marketing 2 powerpoint presentation tem...SlideTeam.net
 
Steps to sell a business value engage marketing 2 powerpoint ppt templates.
Steps to sell a business value engage marketing 2 powerpoint ppt templates.Steps to sell a business value engage marketing 2 powerpoint ppt templates.
Steps to sell a business value engage marketing 2 powerpoint ppt templates.SlideTeam.net
 
Steps to sell a business value engage marketing 2 powerpoint presentation sli...
Steps to sell a business value engage marketing 2 powerpoint presentation sli...Steps to sell a business value engage marketing 2 powerpoint presentation sli...
Steps to sell a business value engage marketing 2 powerpoint presentation sli...SlideTeam.net
 
Bill Moore Visual Resume
Bill Moore Visual ResumeBill Moore Visual Resume
Bill Moore Visual ResumeWilliam Moore
 

Mais procurados (13)

exchange2010-Architecture
exchange2010-Architectureexchange2010-Architecture
exchange2010-Architecture
 
Marketing Strategy and Planning: Sustainable Business ModelsFinal Project
Marketing Strategy and Planning: Sustainable Business ModelsFinal ProjectMarketing Strategy and Planning: Sustainable Business ModelsFinal Project
Marketing Strategy and Planning: Sustainable Business ModelsFinal Project
 
3 junhua-experience show unified communication
3 junhua-experience show unified communication3 junhua-experience show unified communication
3 junhua-experience show unified communication
 
פרופילי אלומיניום Kanya
פרופילי אלומיניום Kanyaפרופילי אלומיניום Kanya
פרופילי אלומיניום Kanya
 
Which server to choose ace it solutions guide
Which server to choose ace it solutions guideWhich server to choose ace it solutions guide
Which server to choose ace it solutions guide
 
From Informal Process Diagrams To Formal Process Models
From Informal Process Diagrams To Formal Process ModelsFrom Informal Process Diagrams To Formal Process Models
From Informal Process Diagrams To Formal Process Models
 
Heizer om10 ch11-supply chain
Heizer om10 ch11-supply chainHeizer om10 ch11-supply chain
Heizer om10 ch11-supply chain
 
Steps to sell a business value engage marketing 2 powerpoint ppt slides.
Steps to sell a business value engage marketing 2 powerpoint ppt slides.Steps to sell a business value engage marketing 2 powerpoint ppt slides.
Steps to sell a business value engage marketing 2 powerpoint ppt slides.
 
Steps to sell a business value engage marketing 2 powerpoint presentation tem...
Steps to sell a business value engage marketing 2 powerpoint presentation tem...Steps to sell a business value engage marketing 2 powerpoint presentation tem...
Steps to sell a business value engage marketing 2 powerpoint presentation tem...
 
Steps to sell a business value engage marketing 2 powerpoint ppt templates.
Steps to sell a business value engage marketing 2 powerpoint ppt templates.Steps to sell a business value engage marketing 2 powerpoint ppt templates.
Steps to sell a business value engage marketing 2 powerpoint ppt templates.
 
Steps to sell a business value engage marketing 2 powerpoint presentation sli...
Steps to sell a business value engage marketing 2 powerpoint presentation sli...Steps to sell a business value engage marketing 2 powerpoint presentation sli...
Steps to sell a business value engage marketing 2 powerpoint presentation sli...
 
Heizer om10 ch09-layout
Heizer om10 ch09-layoutHeizer om10 ch09-layout
Heizer om10 ch09-layout
 
Bill Moore Visual Resume
Bill Moore Visual ResumeBill Moore Visual Resume
Bill Moore Visual Resume
 

Destaque

Chris Riley S O A Modeling
Chris  Riley    S O A ModelingChris  Riley    S O A Modeling
Chris Riley S O A ModelingSOA Symposium
 
Jim Webber Guerrilla S O A With Web Services
Jim Webber    Guerrilla  S O A With  Web  ServicesJim Webber    Guerrilla  S O A With  Web  Services
Jim Webber Guerrilla S O A With Web ServicesSOA Symposium
 
Paul Brown Org Man Issues V1
Paul  Brown    Org  Man  Issues V1Paul  Brown    Org  Man  Issues V1
Paul Brown Org Man Issues V1SOA Symposium
 
Dennis Wisnosky 3 Difficult Pieces
Dennis  Wisnosky   3 Difficult PiecesDennis  Wisnosky   3 Difficult Pieces
Dennis Wisnosky 3 Difficult PiecesSOA Symposium
 
Dirk Krafzig S O A And Conveys Law
Dirk  Krafzig    S O A And  Conveys  LawDirk  Krafzig    S O A And  Conveys  Law
Dirk Krafzig S O A And Conveys LawSOA Symposium
 
Paul Butterworth S O A Runtime Governance Practices
Paul  Butterworth    S O A  Runtime  Governance  PracticesPaul  Butterworth    S O A  Runtime  Governance  Practices
Paul Butterworth S O A Runtime Governance PracticesSOA Symposium
 
Umit Yalcinalp Enterprise Mashupsfor S O A
Umit  Yalcinalp    Enterprise Mashupsfor S O AUmit  Yalcinalp    Enterprise Mashupsfor S O A
Umit Yalcinalp Enterprise Mashupsfor S O ASOA Symposium
 
Doug Groves Shell S O A Symposium
Doug  Groves    Shell  S O A  SymposiumDoug  Groves    Shell  S O A  Symposium
Doug Groves Shell S O A SymposiumSOA Symposium
 
Thomas Rischbeck Real Life E S B
Thomas  Rischbeck    Real  Life  E S BThomas  Rischbeck    Real  Life  E S B
Thomas Rischbeck Real Life E S BSOA Symposium
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S BSOA Symposium
 
Natasja Paulssen S A P M D M And E S O A At Philips
Natasja  Paulssen    S A P  M D M And E S O A At  PhilipsNatasja  Paulssen    S A P  M D M And E S O A At  Philips
Natasja Paulssen S A P M D M And E S O A At PhilipsSOA Symposium
 
Introducción soa
Introducción soaIntroducción soa
Introducción soaJuan Pablo
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 StrategiesSOA Symposium
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based ApproachSOA Symposium
 
Laurent Tarin B P M Ilog
Laurent  Tarin    B P M  IlogLaurent  Tarin    B P M  Ilog
Laurent Tarin B P M IlogSOA Symposium
 
Anne Thomas Manes Using User Experience
Anne  Thomas Manes    Using User ExperienceAnne  Thomas Manes    Using User Experience
Anne Thomas Manes Using User ExperienceSOA Symposium
 
Anthony Carrato S O A Business Architecture
Anthony  Carrato    S O A  Business  ArchitectureAnthony  Carrato    S O A  Business  Architecture
Anthony Carrato S O A Business ArchitectureSOA Symposium
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data ProcessingSOA Symposium
 
David Chappel S O A Grid
David  Chappel    S O A  GridDavid  Chappel    S O A  Grid
David Chappel S O A GridSOA Symposium
 
Paul C Brown S O A Governance
Paul  C  Brown    S O A  GovernancePaul  C  Brown    S O A  Governance
Paul C Brown S O A GovernanceSOA Symposium
 

Destaque (20)

Chris Riley S O A Modeling
Chris  Riley    S O A ModelingChris  Riley    S O A Modeling
Chris Riley S O A Modeling
 
Jim Webber Guerrilla S O A With Web Services
Jim Webber    Guerrilla  S O A With  Web  ServicesJim Webber    Guerrilla  S O A With  Web  Services
Jim Webber Guerrilla S O A With Web Services
 
Paul Brown Org Man Issues V1
Paul  Brown    Org  Man  Issues V1Paul  Brown    Org  Man  Issues V1
Paul Brown Org Man Issues V1
 
Dennis Wisnosky 3 Difficult Pieces
Dennis  Wisnosky   3 Difficult PiecesDennis  Wisnosky   3 Difficult Pieces
Dennis Wisnosky 3 Difficult Pieces
 
Dirk Krafzig S O A And Conveys Law
Dirk  Krafzig    S O A And  Conveys  LawDirk  Krafzig    S O A And  Conveys  Law
Dirk Krafzig S O A And Conveys Law
 
Paul Butterworth S O A Runtime Governance Practices
Paul  Butterworth    S O A  Runtime  Governance  PracticesPaul  Butterworth    S O A  Runtime  Governance  Practices
Paul Butterworth S O A Runtime Governance Practices
 
Umit Yalcinalp Enterprise Mashupsfor S O A
Umit  Yalcinalp    Enterprise Mashupsfor S O AUmit  Yalcinalp    Enterprise Mashupsfor S O A
Umit Yalcinalp Enterprise Mashupsfor S O A
 
Doug Groves Shell S O A Symposium
Doug  Groves    Shell  S O A  SymposiumDoug  Groves    Shell  S O A  Symposium
Doug Groves Shell S O A Symposium
 
Thomas Rischbeck Real Life E S B
Thomas  Rischbeck    Real  Life  E S BThomas  Rischbeck    Real  Life  E S B
Thomas Rischbeck Real Life E S B
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S B
 
Natasja Paulssen S A P M D M And E S O A At Philips
Natasja  Paulssen    S A P  M D M And E S O A At  PhilipsNatasja  Paulssen    S A P  M D M And E S O A At  Philips
Natasja Paulssen S A P M D M And E S O A At Philips
 
Introducción soa
Introducción soaIntroducción soa
Introducción soa
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 Strategies
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based Approach
 
Laurent Tarin B P M Ilog
Laurent  Tarin    B P M  IlogLaurent  Tarin    B P M  Ilog
Laurent Tarin B P M Ilog
 
Anne Thomas Manes Using User Experience
Anne  Thomas Manes    Using User ExperienceAnne  Thomas Manes    Using User Experience
Anne Thomas Manes Using User Experience
 
Anthony Carrato S O A Business Architecture
Anthony  Carrato    S O A  Business  ArchitectureAnthony  Carrato    S O A  Business  Architecture
Anthony Carrato S O A Business Architecture
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data Processing
 
David Chappel S O A Grid
David  Chappel    S O A  GridDavid  Chappel    S O A  Grid
David Chappel S O A Grid
 
Paul C Brown S O A Governance
Paul  C  Brown    S O A  GovernancePaul  C  Brown    S O A  Governance
Paul C Brown S O A Governance
 

Semelhante a S Ven Hakan Olsson Compos Index

Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic EnterprisesInnovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic EnterprisesDr. Mehmet Yildiz
 
Refactoring J2EE Application for a JBI-based ESB
Refactoring J2EE Application for a JBI-based ESBRefactoring J2EE Application for a JBI-based ESB
Refactoring J2EE Application for a JBI-based ESBWen Zhu
 
Concepts integrationandbiztalksoa andbpm
Concepts integrationandbiztalksoa andbpm Concepts integrationandbiztalksoa andbpm
Concepts integrationandbiztalksoa andbpm Sandro Pereira
 
Andre Tost E S B Ref Arch
Andre  Tost    E S B Ref ArchAndre  Tost    E S B Ref Arch
Andre Tost E S B Ref ArchSOA Symposium
 
Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...
Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...
Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...Entel
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models JavaSOA Symposium
 
Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0lgradina
 
SOA - Enabling Interoperability And Business Agility March 2009
SOA - Enabling Interoperability And Business Agility   March 2009SOA - Enabling Interoperability And Business Agility   March 2009
SOA - Enabling Interoperability And Business Agility March 2009Mike Wons
 
Developing An SOA Strategy V1
Developing An SOA Strategy V1Developing An SOA Strategy V1
Developing An SOA Strategy V1Salim Sheikh
 
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)OpenBlend society
 
Need Of Enterprise Integration
Need Of Enterprise IntegrationNeed Of Enterprise Integration
Need Of Enterprise Integrationkumar gaurav
 
Practical SOA for the Solution Architect
Practical SOA for the Solution Architect Practical SOA for the Solution Architect
Practical SOA for the Solution Architect WSO2
 
Service Oriented Enterprise Architecture and Service Oriented Enterprise
Service Oriented Enterprise Architecture and Service Oriented EnterpriseService Oriented Enterprise Architecture and Service Oriented Enterprise
Service Oriented Enterprise Architecture and Service Oriented EnterpriseYan Zhao
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)prksh89
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectureslseinturier
 
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...IIBA_Latvia_Chapter
 
Icsoc Mehandjiev Lecue Wajid Presentationv2
Icsoc Mehandjiev Lecue Wajid Presentationv2Icsoc Mehandjiev Lecue Wajid Presentationv2
Icsoc Mehandjiev Lecue Wajid Presentationv2Freddy Lecue
 
Telecom Transformation Using SOA
Telecom Transformation Using SOATelecom Transformation Using SOA
Telecom Transformation Using SOAdidemtopuz
 

Semelhante a S Ven Hakan Olsson Compos Index (20)

Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic EnterprisesInnovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
Innovative Marriage of Security and Performance in SOA Based Dynamic Enterprises
 
Refactoring J2EE Application for a JBI-based ESB
Refactoring J2EE Application for a JBI-based ESBRefactoring J2EE Application for a JBI-based ESB
Refactoring J2EE Application for a JBI-based ESB
 
Service-Oriented Modeling Language
Service-Oriented Modeling LanguageService-Oriented Modeling Language
Service-Oriented Modeling Language
 
Concepts integrationandbiztalksoa andbpm
Concepts integrationandbiztalksoa andbpm Concepts integrationandbiztalksoa andbpm
Concepts integrationandbiztalksoa andbpm
 
Andre Tost E S B Ref Arch
Andre  Tost    E S B Ref ArchAndre  Tost    E S B Ref Arch
Andre Tost E S B Ref Arch
 
Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...
Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...
Oracle: Como apalancar los nuevos modelos de negocios con tecnología Oracle d...
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models Java
 
Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0
 
SOA - Enabling Interoperability And Business Agility March 2009
SOA - Enabling Interoperability And Business Agility   March 2009SOA - Enabling Interoperability And Business Agility   March 2009
SOA - Enabling Interoperability And Business Agility March 2009
 
Developing An SOA Strategy V1
Developing An SOA Strategy V1Developing An SOA Strategy V1
Developing An SOA Strategy V1
 
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
SOA architecture patterns, Matjaž Jurič (FRI/Univerza v Ljubljani)
 
Need Of Enterprise Integration
Need Of Enterprise IntegrationNeed Of Enterprise Integration
Need Of Enterprise Integration
 
Practical SOA for the Solution Architect
Practical SOA for the Solution Architect Practical SOA for the Solution Architect
Practical SOA for the Solution Architect
 
Service Oriented Enterprise Architecture and Service Oriented Enterprise
Service Oriented Enterprise Architecture and Service Oriented EnterpriseService Oriented Enterprise Architecture and Service Oriented Enterprise
Service Oriented Enterprise Architecture and Service Oriented Enterprise
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)
 
Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectures
 
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
 
SOA Course - Next Generation
SOA Course - Next GenerationSOA Course - Next Generation
SOA Course - Next Generation
 
Icsoc Mehandjiev Lecue Wajid Presentationv2
Icsoc Mehandjiev Lecue Wajid Presentationv2Icsoc Mehandjiev Lecue Wajid Presentationv2
Icsoc Mehandjiev Lecue Wajid Presentationv2
 
Telecom Transformation Using SOA
Telecom Transformation Using SOATelecom Transformation Using SOA
Telecom Transformation Using SOA
 

Mais de SOA Symposium

Sven Hakan Olsson Composability Index V2
Sven Hakan Olsson    Composability  Index V2Sven Hakan Olsson    Composability  Index V2
Sven Hakan Olsson Composability Index V2SOA Symposium
 
Thomas Erl Introducing S O A Design Patterns
Thomas  Erl    Introducing  S O A  Design  PatternsThomas  Erl    Introducing  S O A  Design  Patterns
Thomas Erl Introducing S O A Design PatternsSOA Symposium
 
Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A PitfallsSOA Symposium
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every DeveloperSOA Symposium
 
Stefan Pappe Making S O A Operational
Stefan  Pappe    Making  S O A  OperationalStefan  Pappe    Making  S O A  Operational
Stefan Pappe Making S O A OperationalSOA Symposium
 
Paul Brown Org Man Issues
Paul  Brown    Org  Man  IssuesPaul  Brown    Org  Man  Issues
Paul Brown Org Man IssuesSOA Symposium
 
Mark Little Web Services And Transactions
Mark  Little    Web  Services And  TransactionsMark  Little    Web  Services And  Transactions
Mark Little Web Services And TransactionsSOA Symposium
 
Art Ligthart Service Identification Techniques
Art  Ligthart    Service  Identification  TechniquesArt  Ligthart    Service  Identification  Techniques
Art Ligthart Service Identification TechniquesSOA Symposium
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1SOA Symposium
 
Brian Loesgen An Early Look At Oslo
Brian  Loesgen    An  Early  Look At  OsloBrian  Loesgen    An  Early  Look At  Oslo
Brian Loesgen An Early Look At OsloSOA Symposium
 
Prakash Narayan Building Social Web V1
Prakash  Narayan    Building  Social  Web V1Prakash  Narayan    Building  Social  Web V1
Prakash Narayan Building Social Web V1SOA Symposium
 
Anne Thomas Manes S O A Fatigue
Anne  Thomas Manes    S O A  FatigueAnne  Thomas Manes    S O A  Fatigue
Anne Thomas Manes S O A FatigueSOA Symposium
 
Mohamad Afshar Moving Beyond Project Level S O A
Mohamad  Afshar    Moving Beyond Project Level S O AMohamad  Afshar    Moving Beyond Project Level S O A
Mohamad Afshar Moving Beyond Project Level S O ASOA Symposium
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C ASOA Symposium
 
Cesare Pautasso R E S T V1
Cesare  Pautasso    R E S T V1Cesare  Pautasso    R E S T V1
Cesare Pautasso R E S T V1SOA Symposium
 

Mais de SOA Symposium (15)

Sven Hakan Olsson Composability Index V2
Sven Hakan Olsson    Composability  Index V2Sven Hakan Olsson    Composability  Index V2
Sven Hakan Olsson Composability Index V2
 
Thomas Erl Introducing S O A Design Patterns
Thomas  Erl    Introducing  S O A  Design  PatternsThomas  Erl    Introducing  S O A  Design  Patterns
Thomas Erl Introducing S O A Design Patterns
 
Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A Pitfalls
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every Developer
 
Stefan Pappe Making S O A Operational
Stefan  Pappe    Making  S O A  OperationalStefan  Pappe    Making  S O A  Operational
Stefan Pappe Making S O A Operational
 
Paul Brown Org Man Issues
Paul  Brown    Org  Man  IssuesPaul  Brown    Org  Man  Issues
Paul Brown Org Man Issues
 
Mark Little Web Services And Transactions
Mark  Little    Web  Services And  TransactionsMark  Little    Web  Services And  Transactions
Mark Little Web Services And Transactions
 
Art Ligthart Service Identification Techniques
Art  Ligthart    Service  Identification  TechniquesArt  Ligthart    Service  Identification  Techniques
Art Ligthart Service Identification Techniques
 
Mohamad Afshar Moving Beyond Project Level S O A V1
Mohamad  Afshar    Moving Beyond Project Level S O A V1Mohamad  Afshar    Moving Beyond Project Level S O A V1
Mohamad Afshar Moving Beyond Project Level S O A V1
 
Brian Loesgen An Early Look At Oslo
Brian  Loesgen    An  Early  Look At  OsloBrian  Loesgen    An  Early  Look At  Oslo
Brian Loesgen An Early Look At Oslo
 
Prakash Narayan Building Social Web V1
Prakash  Narayan    Building  Social  Web V1Prakash  Narayan    Building  Social  Web V1
Prakash Narayan Building Social Web V1
 
Anne Thomas Manes S O A Fatigue
Anne  Thomas Manes    S O A  FatigueAnne  Thomas Manes    S O A  Fatigue
Anne Thomas Manes S O A Fatigue
 
Mohamad Afshar Moving Beyond Project Level S O A
Mohamad  Afshar    Moving Beyond Project Level S O AMohamad  Afshar    Moving Beyond Project Level S O A
Mohamad Afshar Moving Beyond Project Level S O A
 
Anish Karmakar S C A
Anish  Karmakar    S C AAnish  Karmakar    S C A
Anish Karmakar S C A
 
Cesare Pautasso R E S T V1
Cesare  Pautasso    R E S T V1Cesare  Pautasso    R E S T V1
Cesare Pautasso R E S T V1
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

S Ven Hakan Olsson Compos Index

  • 1. This Presentation Courtesy of the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com info@soasymposium.com Founding Sponsors Platinum Sponsors Gold Sponsors Silver Sponsors SOA Symposium Amsterdam 2008-08-07 - 08 The Composability Index Sven-Håkan Olsson 2 SOA_Symp_Amst_Composability_oct08_v5.ppt 1
  • 2. Why a Composability Index? • To be able to get a fast approximation of a suggested SOA design’s usefulness, when composition is expected • Through the reasoning behind the Composability Index per se, general knowledge about real-life behaviour of SOA interfaces gets increased • Through the work of inspecting a suggested SOA design to calcutate the Index, insight increases and the design may get improved 3 ”KISS” • The Composability Index is kept very simple so that we don’t get dragged into overly theoretical metrics. • It is a course approximation that should work fine for a majority of designs and usages (but not for special cases). • ”Rather roughly right than exactly wrong” ”Aren’t the composability aspects included in the Index just normal SOA design criteria?” - Well, yes, but the selected aspects are extra important for composition usages! 4 2
  • 3. What does Composition mean in this session? • To be able to aggregate several services into larger (or more specialized) services. Examples: usage from business usage process logic Composite Service alfa usage usage Composite Composite Service A Service B simple sequence incl. embedded of service usage business process logic usage Service 1 Service 2 Service 3 5 A more concrete example usage Composite service Rich client Thin arrows here represent ”oldstyle” OO reuse through other services more tightly SOA layer coupled OO interfaces – not loosely coupled SOA interfaces Thick arrows here represent Business Business Business loosely coupled object 1 object 2 ... object n SOA interfaces 6 3
  • 4. What does Composability mean in this session? • How well it works to use a specific service interface as a part of a composition • Mainly architectural and technical, real-life behaviour aspects • Of course, there other important composability aspects outside the scope of this proposed Index, such as who is reponsible for what, pricing, SLA:s and many more governance aspects. Could also be included, the index is customizable. • Also see chapter 13 in ”SOA Principles of Service Design” by Thomas Erl for a thorough, less technical description of composability. 7 SLA = Service Level Agreement The Index • Each service interface that is a candidate for being used in composition is inspected. A simple questionaire is filled in with a course grading of important interface quality aspects related to composability • The grades have weights that reflects how bad or good this is considered to be in relation to composition • Per service interface, a resulting composability index gets calculated. Different situations might require different weights (curves) for a quality aspect. Weighted The index is customizable! curves x Good Composability Good x Bad Composability Quality aspect 3 Bad The Quality aspect 2 ∑ Good Index Composability x Good Bad Composability x Quality aspect n Bad Quality aspect 1 8 4
  • 5. The composability quality aspects The following slides contain a number of these composability quality aspects. Included are: 1. The ACID problem for updating services 2. Loop-invocation expectancy 3. Coherence vs multi-functionality 4. Exception-handling quality 5. Availability 6. Authorization principle 7. Statelessness 8. Master Data Management (MDM) support 9. Semantic clarity 10. Canonical information model 11. Amount of business process logic inside a service (Which aspects that are to be included in an Index can be customized, to fit different situations.) 9 1 The ACID problem for updating services • Information fidelity and consistency cannot be guaranteed if we do not do ACID updates. Since SOA ACID normally would be too tightly coupled, we may have to take care of update errors in a couple of days (via long-running transactions). – Either • Good composability: Read-only services. Or update services that include the ACID needs inside of them. – Or: • Updating services that are likely to be used together with other updating services, thus requiring employment of long-running transactions (costly, complex, less user-friendly). Good Composability Bad Read-only or ACID-inside Requires long-running tx 10 5
  • 6. 1 The ACID problem for updating services Better to make updating services that are larger, so that they can contain needed Long-running business transactions ACID handling inside the service (inside, it caused by the absence of ACID should be is OK to use tight coupling that often kept to a minimum, but cannot always be wouldn’t be OK for SOA). avoided. E.g.: One single SOA interface invocation Cumbersome because long-running for updating invoice-head together with all transactions increase the volume of invoice-rows) needed business logic and because personell usually have to handle the compensation. Also, meanwhile the long-running tx is pending, the users must be informed that the info is only preliminary Good Composability Bad Read-only or ACID-inside Requires long-running tx 11 ACID = Atomicity, Consistency, Independecy, Durability. I.e. all-or-nothing updating or Unit-of-work updating.. Questionaire sample for the ACID problem • Check one of the following:  This is a read-only service interface. Or, all conceivable updates that should be kept together, are kept together inside the service, through internal ACID ”Good-weight”: 10  Internal ACID is used for related updates that should be kept together, but at rare times, related info is expected to have to be updated via another service ”at the same time” ”Good-weight”: 4  Internal ACID is used for related updates that should be kept together, but sometimes, related info is expected to have to be updated via another service ”at the same time” ”Good-weight”: 3  Internal ACID is used for related updates that should be kept together, but often, related info is expected to have to be updated via another service ”at the same time” ”Good-weight”: 1  No internal ACID is used, several service invocations have to be carried out to complete update of related info. ”Good-weight”: 0 Good: 10 Composability Bad: 0 Read-only or ACID-inside Requires long-running tx 12 6
  • 7. 2 Loop-invocation expectancy • Is the SOA interface designed in such a way that it is probable that the using service have to create a loop to invocate the service a lot of times, increasing overhead and latency impact substantially? – Either: • Interface that can cope with multiple instances and also with a hierarchy of instances inside of instances. – Or: • Interface that is ”singleton” and only can cope with one instance of an object Good Composability Bad Multi-instance, hierarchical Singleton only 13 2 Loop-invocation expectancy A SOA interface that can cope with single Better to make SOA interfaces that can instances can be useful, but if they are cope with several instances of objects. restricted to that, a large number of Everything can be accompished in one invocations have to be made to get complete single invocation instead of many small business information. invocations. The major problem is that latency for each E.g.: One single SOA interface invocation degrades performance severly. invocation for reading invoice-head Latency is often caused by network latency, together with all invoice-rows many layers of sw, initial object creation in sw, XML-DOM creation, for satellites the speed of light etc. Latency doesn’t improve so much, whereas bandwidth does! Good Composability Bad Multi-instance, hierarchical Singleton only 14 7
  • 8. 3 Coherence vs multi-functionality • “How good is the Swiss army knife approach to services”? – Either: • Coherent – only one, fixed functionality per SOA interface (or just few), increases the number of interfaces a lot but each one is easier to understand – Or: • Multi-functional – complex, more abstract, reduces number of SOA interfaces but each is more difficult to understand and find Good Composability Bad Coherent Multi-functional 15 3 Coherence vs multi-functionality Too multi-funtional service interfaces will Too coherent service get much more difficult to understand. interfaces, i.e. one Discoverability decreases because the interface only do name of the interface cannot be very exact one thing, mnemotechnical. I.e. AskGeneralLedger means there will be a could disguise hundreds of actual service risk that the number Optimal balance interfaces hidden behind the façade. of interfaces explode coherency vs multi- Interface versioning should always be – all combinations of functionality. clear and explicit – with multi-fynctional it requirements Or, no multi-functionality gets possible to obscure contract version permutate is conceivable in this breach through steering parameters that case get new allowed values. Good Composability Bad Coherent Multi-functional 16 8
  • 9. 4 Exception-handling quality • SOA service usage must be stabile and rugged, especially when combined through composition – very good exception handling is needed. – Either: • Well structured return codes. Return code descriptions. Severity levels. Possible to pass variable texts to consumer. Logging, auditing. – Or: • Overly simple exception handling – e.g. just a sucess/failed flag. Good Composability Bad Structured except. handlg. Simple excep. handlg. 17 4 Exception-handling quality Principles for exception handling must be really well thought through. Needed SOA loose coupling means that Programmers language specifics like sometimes think that ”throw” cannot be used. exception handling is Logging and auditing boring – the result may should add to the be service interfaces possibility to find errors. that gives a less than stabile total system Good Composability Bad Structured except. handlg. Simple excep. handlg. 18 9
  • 10. 5 Availability • The availability (uptime) of a composite service depends severly on the uptime of the underlying services – Either: • A used service exhibits high availability (probability figure, often part of SLA). – Or: • The service exhibits low availability Good Composability Bad High availability Low availability 19 5 Availability High availability for composed service interfaces help create a Low availability is problematic stabile total system. when many services are The availability in turn relies on that composed together – the the service’s inside has fault- availability probabilities has to be tolerant hw/sw, asynch nature, is multiplied. well-tested & bug-free etc. E.g. if 10 services has 0.99 availability each, the resulting availability is only 0,9910 = 0.90 ! (However, cost is not included separately in this Index – high fault- tolerance can be very expensive...!) Good Composability Bad High availability Low availability 20 10
  • 11. Other composability quality aspects • The following slides include other composability quality aspects • These are included for reference, we haven’t time to go through them in this session 21 6 Authorization principle • In the world of large-scale SOA the delegated authorization based on the trust principle is usually best – Either: • Authorization delegation based on the trust principle – Or: • The service itself requires to know a logged in user via some mechanism. Or, other complicated authorization mechanism. Good Composability Bad Authorization delegation Requires logged in user 22 11
  • 12. 6 Authorization principle In the world of large-scale SOA it is usually not practically possible to require that all Normally, each service should service composition layers must demand e.g. be given an authorization PKI log-in-credentials for a logged-in end- delegation. In this, the service user. carries out authorization based Personal PKI or other complicated in its internal logic, and mechanisms would give tighter coupling, bad sometimes based on a interoperability and often technology lock-in. knowledge about a possible Also, sometimes there is no end-user, it’s an end-user. autonomous usage. The using services should And often, the service logic should itself have have a trust contract with the higher rights than the user per se, so simple service. “impersonation” would not work.. Good Composability Bad Authorization delegation Requires logged in user 23 7 Statelessness • Is the service interface stateless? – Either: • It is stateless, so that it doesn’t rely on other service invocations in a specified sequence – Or: • It is stateful Good Composability Bad Stateless Stateful 24 12
  • 13. 7 Statelessness One might argue that persistence inside a service (storing in a database) is a form of statefulness, but that is not what The invocation does not have to we focus on here, it is rather the be a part of a specified interface’s statefulness. sequence, that would give a too A way of avoiding statefulness in tight coupling. another way is to create the business E.g. a course granular interface logic so that it allows for incomplete with one invoice-head together preliminary data, e.g. then it might be with all its invoice-rows would OK to store orphan invoice-rows without be stateless. any invoice-head. Another statefulness that would be OK is security infrastructure state, e.g. a VPN session. Good Composability Bad Stateless Stateful 25 8 Master Data Management (MDM) support • In cases where the same info is stored inside several systems (too common), a composer must have a chance to know if the service takes care of notifying other systems about updates, in an MDM fashion, or not. Part of the contract. – Either: • The service contract states that the service takes responsability to notify according to an MDM scheme – Or: • The service contract doesn’t states anything about this issue, or states that it doesn’t take MDM responsability Good Composability Bad MDM support No MDM support or unknown 26 13
  • 14. 8 Master Data Management (MDM) support The unknown state is of course not good. Composition is powerful, but there is And if it is stated that MDM is also a risk that it hides problems, one not included, the composite of them MDM issues. service probably have to device The service contract should thus tell its own MDM, e.g. an that it supports MDM. aynchronous notification to (In an ideal world, all MDM needs another system. would already be taken care of behind the SOA interface, but the world is not ideal...) Good Composability Bad MDM support No MDM support or unknown 27 9 Semantic clarity • This is a test of if the service interface contract is clear enough, specifically regarding semantic description quality. – Either: • The service interface contract contains (or refers to) a clear semantic description of its information – Or: • The semantic desciption is not clear (or missing) Good Composability Bad Semantic clarity No clarity (or missing) 28 14
  • 15. 9 Semantic clarity Semantic descriptions are extremely important e.g. for a composer to Often the only understand if he/she is description of a service mixing incompatible data interface is a WSDL file and perhaps some uncommented XML schemas. That is not enough to really describe the semantics. Good Composability Bad Semantic clarity No clarity (or missing) 29 10 Canonical information model • In large-scale SOA it is probably impossable to have the same information model and the same semantic concepts everywhere, throughout the whole organization. However, if a service interface follows a common, canonical information model used for integration and SOA purposes, it should be useful when composing. – Either: • The service interface follows a canonical information model. – Or: • The information model of the underlying system is instead exposed in the service interface. Good Composability Bad Canonical model Underlying system’s model 30 15
  • 16. 10 Canonical information model One of SOA’s great features is the isolation of underlying details A canonical model is in theory (black-box principle). very positive. Thus, different underlying However, it is debated how systems may have different feasible it is to define one, and to information models. use it, in real-life. In the service usage (especially Thus, the ”good-weight” of this in composition) it is therefore might be controversial – different sometimes to be expected to do organisations might choose to translations between information take different decisions. models – or that this takes place in an intermediary layer. Good Composability Bad Canonical model Underlying system’s model 31 11 Amount of business process logic inside a service • Business process logic tends to need to change more frequently than the underlying information model which in turn could get exposed via simpler CRUD interfaces – Either: • Almost no business logic inside the service, e.g. only CRUD interfaces for information objects. – Or: • Complex business logic chunks embedded behind the SOA interfaces Good Composability Bad CRUD-only Both Complex biz logic embedded 32 16
  • 17. 11 Amount of business process logic inside a service Optimal balance – there is a need both Service interfaces CRUD-only is overly shouldn’t have to change for basic CRUD simple, in effect only a every month. interfaces and more database encapsulation In an agile business complex logic layer. some business logic will services. Composite services have to change Composition in itself would not be allowed frequently – in this case can yield both levels and there is a sound don’t let this be handled in parallel. reuse potential also for inside services but these. instead in a biz process layer on top of all services – and closer to the GUI:s. Good Composability Bad CRUD-only Both Complex biz logic embedded CRUD = Create, Read, Update, Delete 33 Calculating The Index for a service interface • Very simple, just add the ”score” from each questionaire aspect (i.e. the selected grades’ ”good-weight”). • Divide by number of aspects. Voila, the Index! • Easy to create an Excel/Calc sheet for the questionaire and the calculation. Weighted curves x Good x Composability Good Bad Composability Quality 3 The Bad Quality 2 ∑ Good Index Good Composability Composability x Bad Bad x Quality n Quality 1 34 17
  • 18. Sample calculation Service interface A's composability Index: Selected grade's Composability quality aspects "good-weight" The ACID problem for updating services 2 Loop-invocation expectancy 10 Coherence vs multi-functionality 4 Exception-handling quality 2 Availability 10 Authorization principle 10 Statelessness 10 Master Data Management (MDM) support 5 Semantic clarity 3 Canonical information model 4 Amount of business process logic inside a service 5 Sum: 65 Divide by number of aspects, which is: 11 Yields the Composability Index for A: 5,9 (Weights should be from 0 to 10 in this example.) 35 Customize and modify the Index? • A global index where all the world’s services could be justly compared is not within the scope of this simple metric. • Instead, it is altogether possible to modify the index to match different circumstances in a specific organisation that wants to use composition • Two easy ways to modify the index: – Which quality aspects should be included? • Maybe one of them is not of interest in a specific case? Maybe another should be added? – Which weights should be applied on each aspect? • This would change the ”good/bad-curve”. For example, if it is sure that the whole solution would only be deployed in one single building, then network latency may be ruled out as a problem cause (whereas in a system deployed around the world, that would definitely be a problem) – so the ”Loop-invocation expectancy” aspect could be given more optimistic weights. Good Other weights Good Composability yield other curve Composability Bad Bad Quality 1 Quality 1 36 18
  • 19. Questionaire sample • A sample Excel file with a questionaire and calculation is available for free download at www.definitivus.se/soasymposium • Includes – Short text describing each answer alternative – Suggested weights for the grades 37 Sven-Håkan Olsson is an independent consultant, course leader and speaker who focuses on application architecture and SOA. Since 1977 he has worked in a large number of IT development projects, ranging from embedded microcontrollers to main-frames. He has carried out modeling, architecture design and programming in diverse business areas. He has also specialized in reviews of problem projects. Sven-Håkan Olsson holds an MScEE from the Royal Institute of Technology in Stockholm. In May 2008, he was appointed one of the 'top developers in Sweden' by the magazine IDG Computer Sweden. Please feel free to contact me if you have comments or suggestions! D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S Tel +46 708 840134 sven-hakan.olsson[.]definitivus.se www.definitivus.se 38 19