SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais 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
 

Mais 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
 

Último

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 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