SlideShare une entreprise Scribd logo
1  sur  14
Composability Index


www.definitivus.se   Sven-Håkan Olsson   2008   Composability_Index_v2.xls

                                                Only enter alternatives in yellow cells
                                                Refer to the Explanation sheet for more info




Composability Index


Name of the SOA interface:


SOA Domain (if applicable):

Interface version (if applicable):




Resulting Composability Index:                                 7.18




                                 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                         1(14)
Composability Index


Questionaire


Composability Quality Aspect:
The ACID problem for updating
services                                                  Enter "1" below if the
                                                          alternative applies, or
                                                          "0" (or empty) if not.

                                                          (Only enter "1" for a                                  (aspect
Alternatives:                                             single alternative)   Weight        Result             counter)

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                                                                    10                  0
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"                                                   1    4                  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"                                                        3                  0
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"                                                                1                  0
No internal ACID is used, several service
invocations have to be carried out to complete
update of related info                                                                    0                  0

                                     Aspect result:                                       4
                                                                                                                            1


  12




  10




   8




   6




   4




   2




   0

       R o w 40          R ow 41               R o w 42                    R ow 43                R o w 44




                                   D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                                    2(14)
Composability Index


Composability Quality Aspect:
Loop-invocation expectancy
                                                       Enter "1" below if the
                                                       alternative applies, or
                                                       "0" (or empty) if not.

                                                       (Only enter "1" for a                                (aspect
Alternatives:                                          single alternative)   Weight        Result           counter)

Interface copes with multiple instances of data
and also copes with hierarchical data (parent-
children) in all ways conceivable.
Or, this data can inherently never be multi-
instance nor hierarchical.                                                            10                0
As first alternative, except for rare times                                       1    7                7
As first alternative, except for sometimes                                             4                0
As first alternative, except for many times                                            1                0
Never as in first alternative.
Or, is in some other way expected to cause a lot
of usage loops.                                                                        0                0

                                    Aspect result:                                     7

                                                                                                                       1

  12




  10




   8




   6




   4




   2




   0

       Row 69            Row 70               Row 71                     Row 72                Row 73




                                  D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                                3(14)
Composability Index


Composability Quality Aspect:
Coherence vs multi-functionality
                                                          Enter "1" below if the
                                                          alternative applies, or
                                                          "0" (or empty) if not.

                                                          (Only enter "1" for a                                   (aspect
Alternatives:                                             single alternative)   Weight         Result             counter)

The service interface is strictly coherent and thus
always does only one thing. No parameters that
could modify the functionality.                                                            2                 0
The service interface mainly does only one thing.
But to a small extent the functionality can be
modified through e.g. parameters. The interface
name still describes the real functionality.
Or, no multi-functionality is conceivable in this
case, so strict coherence is fine.                                                    1   10                 10
The service interface mainly does only one thing.
But to some extent the functionality can be
modified through e.g. parameters. The interface
name still describes the real functionality.                                               8                 0

The service interface mainly does only one thing.
But to a large extent the functionality can be
modified through e.g. parameters. The interface
name still roughly describes the real functionality.                                       3                 0
The service interface is altogether multi-
functional, more of a "channel for verbs" to be
sent to the underlying logic.                                                              0                 0

                                      Aspect result:                                      10

                                                                                                                             1

  12




  10




   8




   6




   4




   2




   0

       Row 100            Row 101               Row 102                     Row 103                Row 104




                                    D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                                    4(14)
Composability Index


Composability Quality Aspect:
Exception-handling quality
                                                        Enter "1" below if the
                                                        alternative applies, or
                                                        "0" (or empty) if not.

                                                        (Only enter "1" for a                                  (aspect
Alternatives:                                           single alternative)   Weight         Result            counter)

Well structured exception handling. Good return
code descriptions. Severity levels. Possible to
pass variable texts to consumer for error
description. Logging, auditing.                                                         10                 0
As first alternative, but rare exceptions                                           1    9                 9
As first alternative, but some exceptions                                                5                 0
As first alternative, but many exceptions                                                1                 0
Not at all as in first alternative.                                                      0                 0

                                    Aspect result:                                       9

                                                                                                                          1

  12




  10




   8




   6




   4




   2




   0

       Row 130          Row 131               Row 132                     Row 133                Row 134




                                  D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                                   5(14)
Composability Index


Composability Quality Aspect:
Availability
                                                           Enter "1" below if the
                                                           alternative applies, or
                                                           "0" (or empty) if not.

                                                           (Only enter "1" for a                                   (aspect
Alternatives:                                              single alternative)   Weight         Result             counter)

The service exhibits ultra high availability (through
fault-tolerant hw/sw, asynch nature, being well-
tested & bug-free etc)                                                                      9                  0
As first alternative, but very high availability                                       1   10                 10
As first alternative, but high availability                                                 7                  0
As first alternative, but medium availability                                               3                  0

As first alternative, but low or unknown availability                                       0                 0

                                      Aspect result:                                       10

                                                                                                                              1

  12




  10




   8




   6




   4




   2




   0

       Row 161            Row 162                Row 163                     Row 164                Row 165




                                    D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                                     6(14)
Composability Index


Composability Quality Aspect:
Authorization principle
                                                         Enter "1" below if the
                                                         alternative applies, or
                                                         "0" (or empty) if not.

                                                         (Only enter "1" for a                                  (aspect
Alternatives:                                            single alternative)   Weight         Result            counter)

Authorization delegation based on a trust
principle                                                                                10                 0
As first alternative, but with a small amount of
more complicated authorization                                                       1    6                 6
As first alternative, but with some more
complicated authorization                                                                 3                 0
As first alternative, but with a good deal of more
complicated authorization                                                                 1                 0
Complicated federated security and authorization
mechanism. Big risks of not being interoperable.                                          0                 0

                                     Aspect result:                                       6

                                                                                                                           1

  12




  10




   8




   6




   4




   2




   0

       Row 193           Row 194               Row 195                     Row 196                Row 197




                                   D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                                   7(14)
Composability Index


Composability Quality Aspect:
Statelessness
                                                           Enter "1" below if the
                                                           alternative applies, or
                                                           "0" (or empty) if not.

                                                           (Only enter "1" for a                                  (aspect
Alternatives:                                              single alternative)   Weight         Result            counter)

The service interface is completely stateless (so
that it doesn’t rely on other service invocations in
a specified sequence)                                                                      10                 0
As first alternative, but with a very small amount
of statefulness                                                                        1    0                 0
As first alternative, but with a small amount of
statefulness                                                                                0                 0
As first alternative, but with a medium amount of
statefulness                                                                                0                 0
As first alternative, but with a large amount of
statefulness (e.g. old-style OO interfaces).                                                0                 0

                                      Aspect result:                                        0

                                                                                                                             1

  12




  10




   8




   6




   4




   2




   0

       Row 225            Row 226                Row 227                     Row 228                Row 229




                                    D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                                    8(14)
Composability Index


Composability Quality Aspect:
Master Data Management (MDM)
support                                                  Enter "1" below if the
                                                         alternative applies, or
                                                         "0" (or empty) if not.

                                                         (Only enter "1" for a                                  (aspect
Alternatives:                                            single alternative)   Weight         Result            counter)

The service interfaces' contract states that the
service itself takes responsability to notify
according to an MDM scheme, should so be
needed.                                                                                  10                 0
As first alternative, but with a very small amount
of MDM tasks having to be done by service user                                       1    8                 8
As first alternative, but with a small amount of
MDM tasks having to be done by service user                                               3                 0
As first alternative, but with a medium amount of
MDM tasks having to be done by service user                                               2                 0
As first alternative, but with a large amount of
MDM tasks having to be done by service user.
Or, that MDM consequences are unknown.                                                    0                 0

                                     Aspect result:                                       8

                                                                                                                           1

  12




  10




   8




   6




   4




   2




   0

       Row 256           Row 257               Row 258                     Row 259                Row 260




                                   D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                                   9(14)
Composability Index


Composability Quality Aspect:
Semantic clarity
                                                          Enter "1" below if the
                                                          alternative applies, or
                                                          "0" (or empty) if not.

                                                          (Only enter "1" for a                                  (aspect
Alternatives:                                             single alternative)   Weight         Result            counter)

The service interface contract contains (or refers
to) a clear semantic description of its information                                       10                 0
As first alternative, but rare exceptions                                             1    9                 9
As first alternative, but some exceptions                                                  3                 0
As first alternative, but many exceptions                                                  1                 0
Not at all as in first alternative.                                                        0                 0

                                      Aspect result:                                       9

                                                                                                                            1

  12




  10




   8




   6




   4




   2




   0

       Row 287            Row 288               Row 289                     Row 290                Row 291




                                    D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                               10(14)
Composability Index


Composability Quality Aspect:
Canonical information model
                                                          Enter "1" below if the
                                                          alternative applies, or
                                                          "0" (or empty) if not.

                                                          (Only enter "1" for a                                  (aspect
Alternatives:                                             single alternative)   Weight         Result            counter)

The service interface follows a canonical
information model                                                                         10                 0
As first alternative, but rare exceptions                                             1    9                 9
As first alternative, but some exceptions                                                  6                 0
As first alternative, but many exceptions                                                  4                 0
Not at all canonical, e.g. the information model of
the underlying system is instead exposed in the
service interface                                                                          3                 0

                                     Aspect result:                                        9

                                                                                                                            1

  12




  10




   8




   6




   4




   2




   0

       Row 318           Row 319                Row 320                     Row 321                Row 322




                                   D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                                11(14)
Composability Index


Composability Quality Aspect:
Amount of business process logic
inside a service                                        Enter "1" below if the
                                                        alternative applies, or
                                                        "0" (or empty) if not.

                                                        (Only enter "1" for a                                  (aspect
Alternatives:                                           single alternative)   Weight         Result            counter)

No business logic inside the service, only CRUD
interfaces for information objects.                                                      1                 0
Some business logic behind interfaces.
Combined with interfaces for useful CRUD:s.                                         1    7                 7
Medium amount of business logic behind
interfaces. Combined with interfaces for useful
CRUD:s.                                                                                 10                 0
Complex business logic chunks embedded
behind the SOA interfaces. Combined with
interfaces for useful CRUD:s.                                                            9                 0
Complex business logic chunks embedded
behind the SOA interfaces. No CRUD:s available
in parallell.                                                                            1                 0

                                    Aspect result:                                       7


Comment: This aspect is really about a collection
of interfaces, rather than about one single, so
several may have to be judged together.
                                                                                                                          1

  12




  10




   8




   6




   4




   2




   0

       Row 349          Row 350               Row 351                     Row 352                Row 353




                                  D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                                                               12(14)
Composability Index




Sum page
             Number of answers:           11


                     Sum results               79

              Number of aspects:                    11

           Resulting Index:                    7




              D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S                 13(14)
Composability Index
Short explanation


The Composability Index is a very simple (but hopefully useful) metric to
find out how well a certain SOA service interface works when being used
for composition purposes.

The "good-weights" for each alternative (in each quality aspect) that are
used in the Index calculation (i.e. the grade given for an answer) can be
adapted to different environments, circumstances and architectural
principles. It should be between 0 and 10.

When the Excel file is used as a questionaire when reviewing a SOA
interface, only the yellow cells are to be changed. One and only one "1" is
to be filled in per aspect.

The "aspect counter" column is there just to caclulate the number of quality
aspects. Should the number of aspects change (insert/delete of Excel
rows) when the Index is adopted to a different setting, this should make the
formulae automatic. Thus, one single, fixed "1" is to exist per aspect in that
column.
A warning message is shown if the number of aspects is not equal to the
number of responses, thus that more than one alternative has been
entered for a specific aspect.

This Excel file could of course be developed into a much more advanced
tool, but probably this simple version will suffice for many cases.

For more details, for example refer to the powerpoint file:
SOA_Symp_Amst_Composability_oct08


                                           Sven-Håkan Olsson, september 2008
                                                           www.definitivus.se

Contenu connexe

Plus de SOA 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
 
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
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S BSOA 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
 
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
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every DeveloperSOA Symposium
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 StrategiesSOA 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
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data ProcessingSOA Symposium
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based ApproachSOA Symposium
 
S Ven Hakan Olsson Compos Index
S Ven  Hakan  Olsson    Compos IndexS Ven  Hakan  Olsson    Compos Index
S Ven Hakan Olsson Compos IndexSOA 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
 
Chris Riley S O A Modeling
Chris  Riley    S O A ModelingChris  Riley    S O A Modeling
Chris Riley S O A ModelingSOA 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 Using User Experience
Anne  Thomas Manes    Using User ExperienceAnne  Thomas Manes    Using User Experience
Anne Thomas Manes Using User ExperienceSOA 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
 
Arnaud Simon Service Contract Template
Arnaud  Simon    Service  Contract  TemplateArnaud  Simon    Service  Contract  Template
Arnaud Simon Service Contract TemplateSOA Symposium
 

Plus de SOA Symposium (20)

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
 
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
 
Johan Kumps Federal E S B
Johan  Kumps    Federal  E S BJohan  Kumps    Federal  E S B
Johan Kumps Federal E S B
 
Laurent Tarin B P M Ilog
Laurent  Tarin    B P M  IlogLaurent  Tarin    B P M  Ilog
Laurent Tarin B P M Ilog
 
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
 
Robert Schneider What Every Developer
Robert  Schneider    What Every DeveloperRobert  Schneider    What Every Developer
Robert Schneider What Every Developer
 
Robert Schneider 10 Strategies
Robert  Schneider   10  StrategiesRobert  Schneider   10  Strategies
Robert Schneider 10 Strategies
 
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
 
Arnaud Simon Flight Data Processing
Arnaud  Simon    Flight  Data ProcessingArnaud  Simon    Flight  Data Processing
Arnaud Simon Flight Data Processing
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based Approach
 
S Ven Hakan Olsson Compos Index
S Ven  Hakan  Olsson    Compos IndexS Ven  Hakan  Olsson    Compos Index
S Ven Hakan Olsson Compos Index
 
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
 
Chris Riley S O A Modeling
Chris  Riley    S O A ModelingChris  Riley    S O A Modeling
Chris Riley S O A Modeling
 
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 Using User Experience
Anne  Thomas Manes    Using User ExperienceAnne  Thomas Manes    Using User Experience
Anne Thomas Manes Using User Experience
 
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
 
Arnaud Simon Service Contract Template
Arnaud  Simon    Service  Contract  TemplateArnaud  Simon    Service  Contract  Template
Arnaud Simon Service Contract Template
 

Dernier

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Dernier (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Sven Hakan Olsson Composability Index V2

  • 1. Composability Index www.definitivus.se Sven-Håkan Olsson 2008 Composability_Index_v2.xls Only enter alternatives in yellow cells Refer to the Explanation sheet for more info Composability Index Name of the SOA interface: SOA Domain (if applicable): Interface version (if applicable): Resulting Composability Index: 7.18 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 1(14)
  • 2. Composability Index Questionaire Composability Quality Aspect: The ACID problem for updating services Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) 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 10 0 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" 1 4 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" 3 0 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" 1 0 No internal ACID is used, several service invocations have to be carried out to complete update of related info 0 0 Aspect result: 4 1 12 10 8 6 4 2 0 R o w 40 R ow 41 R o w 42 R ow 43 R o w 44 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 2(14)
  • 3. Composability Index Composability Quality Aspect: Loop-invocation expectancy Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) Interface copes with multiple instances of data and also copes with hierarchical data (parent- children) in all ways conceivable. Or, this data can inherently never be multi- instance nor hierarchical. 10 0 As first alternative, except for rare times 1 7 7 As first alternative, except for sometimes 4 0 As first alternative, except for many times 1 0 Never as in first alternative. Or, is in some other way expected to cause a lot of usage loops. 0 0 Aspect result: 7 1 12 10 8 6 4 2 0 Row 69 Row 70 Row 71 Row 72 Row 73 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 3(14)
  • 4. Composability Index Composability Quality Aspect: Coherence vs multi-functionality Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) The service interface is strictly coherent and thus always does only one thing. No parameters that could modify the functionality. 2 0 The service interface mainly does only one thing. But to a small extent the functionality can be modified through e.g. parameters. The interface name still describes the real functionality. Or, no multi-functionality is conceivable in this case, so strict coherence is fine. 1 10 10 The service interface mainly does only one thing. But to some extent the functionality can be modified through e.g. parameters. The interface name still describes the real functionality. 8 0 The service interface mainly does only one thing. But to a large extent the functionality can be modified through e.g. parameters. The interface name still roughly describes the real functionality. 3 0 The service interface is altogether multi- functional, more of a "channel for verbs" to be sent to the underlying logic. 0 0 Aspect result: 10 1 12 10 8 6 4 2 0 Row 100 Row 101 Row 102 Row 103 Row 104 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 4(14)
  • 5. Composability Index Composability Quality Aspect: Exception-handling quality Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) Well structured exception handling. Good return code descriptions. Severity levels. Possible to pass variable texts to consumer for error description. Logging, auditing. 10 0 As first alternative, but rare exceptions 1 9 9 As first alternative, but some exceptions 5 0 As first alternative, but many exceptions 1 0 Not at all as in first alternative. 0 0 Aspect result: 9 1 12 10 8 6 4 2 0 Row 130 Row 131 Row 132 Row 133 Row 134 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 5(14)
  • 6. Composability Index Composability Quality Aspect: Availability Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) The service exhibits ultra high availability (through fault-tolerant hw/sw, asynch nature, being well- tested & bug-free etc) 9 0 As first alternative, but very high availability 1 10 10 As first alternative, but high availability 7 0 As first alternative, but medium availability 3 0 As first alternative, but low or unknown availability 0 0 Aspect result: 10 1 12 10 8 6 4 2 0 Row 161 Row 162 Row 163 Row 164 Row 165 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 6(14)
  • 7. Composability Index Composability Quality Aspect: Authorization principle Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) Authorization delegation based on a trust principle 10 0 As first alternative, but with a small amount of more complicated authorization 1 6 6 As first alternative, but with some more complicated authorization 3 0 As first alternative, but with a good deal of more complicated authorization 1 0 Complicated federated security and authorization mechanism. Big risks of not being interoperable. 0 0 Aspect result: 6 1 12 10 8 6 4 2 0 Row 193 Row 194 Row 195 Row 196 Row 197 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 7(14)
  • 8. Composability Index Composability Quality Aspect: Statelessness Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) The service interface is completely stateless (so that it doesn’t rely on other service invocations in a specified sequence) 10 0 As first alternative, but with a very small amount of statefulness 1 0 0 As first alternative, but with a small amount of statefulness 0 0 As first alternative, but with a medium amount of statefulness 0 0 As first alternative, but with a large amount of statefulness (e.g. old-style OO interfaces). 0 0 Aspect result: 0 1 12 10 8 6 4 2 0 Row 225 Row 226 Row 227 Row 228 Row 229 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 8(14)
  • 9. Composability Index Composability Quality Aspect: Master Data Management (MDM) support Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) The service interfaces' contract states that the service itself takes responsability to notify according to an MDM scheme, should so be needed. 10 0 As first alternative, but with a very small amount of MDM tasks having to be done by service user 1 8 8 As first alternative, but with a small amount of MDM tasks having to be done by service user 3 0 As first alternative, but with a medium amount of MDM tasks having to be done by service user 2 0 As first alternative, but with a large amount of MDM tasks having to be done by service user. Or, that MDM consequences are unknown. 0 0 Aspect result: 8 1 12 10 8 6 4 2 0 Row 256 Row 257 Row 258 Row 259 Row 260 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 9(14)
  • 10. Composability Index Composability Quality Aspect: Semantic clarity Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) The service interface contract contains (or refers to) a clear semantic description of its information 10 0 As first alternative, but rare exceptions 1 9 9 As first alternative, but some exceptions 3 0 As first alternative, but many exceptions 1 0 Not at all as in first alternative. 0 0 Aspect result: 9 1 12 10 8 6 4 2 0 Row 287 Row 288 Row 289 Row 290 Row 291 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 10(14)
  • 11. Composability Index Composability Quality Aspect: Canonical information model Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) The service interface follows a canonical information model 10 0 As first alternative, but rare exceptions 1 9 9 As first alternative, but some exceptions 6 0 As first alternative, but many exceptions 4 0 Not at all canonical, e.g. the information model of the underlying system is instead exposed in the service interface 3 0 Aspect result: 9 1 12 10 8 6 4 2 0 Row 318 Row 319 Row 320 Row 321 Row 322 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 11(14)
  • 12. Composability Index Composability Quality Aspect: Amount of business process logic inside a service Enter "1" below if the alternative applies, or "0" (or empty) if not. (Only enter "1" for a (aspect Alternatives: single alternative) Weight Result counter) No business logic inside the service, only CRUD interfaces for information objects. 1 0 Some business logic behind interfaces. Combined with interfaces for useful CRUD:s. 1 7 7 Medium amount of business logic behind interfaces. Combined with interfaces for useful CRUD:s. 10 0 Complex business logic chunks embedded behind the SOA interfaces. Combined with interfaces for useful CRUD:s. 9 0 Complex business logic chunks embedded behind the SOA interfaces. No CRUD:s available in parallell. 1 0 Aspect result: 7 Comment: This aspect is really about a collection of interfaces, rather than about one single, so several may have to be judged together. 1 12 10 8 6 4 2 0 Row 349 Row 350 Row 351 Row 352 Row 353 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 12(14)
  • 13. Composability Index Sum page Number of answers: 11 Sum results 79 Number of aspects: 11 Resulting Index: 7 D▪E▪F▪I▪N▪I▪T▪I▪V▪U▪S 13(14)
  • 14. Composability Index Short explanation The Composability Index is a very simple (but hopefully useful) metric to find out how well a certain SOA service interface works when being used for composition purposes. The "good-weights" for each alternative (in each quality aspect) that are used in the Index calculation (i.e. the grade given for an answer) can be adapted to different environments, circumstances and architectural principles. It should be between 0 and 10. When the Excel file is used as a questionaire when reviewing a SOA interface, only the yellow cells are to be changed. One and only one "1" is to be filled in per aspect. The "aspect counter" column is there just to caclulate the number of quality aspects. Should the number of aspects change (insert/delete of Excel rows) when the Index is adopted to a different setting, this should make the formulae automatic. Thus, one single, fixed "1" is to exist per aspect in that column. A warning message is shown if the number of aspects is not equal to the number of responses, thus that more than one alternative has been entered for a specific aspect. This Excel file could of course be developed into a much more advanced tool, but probably this simple version will suffice for many cases. For more details, for example refer to the powerpoint file: SOA_Symp_Amst_Composability_oct08 Sven-Håkan Olsson, september 2008 www.definitivus.se