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

More Related Content

PDF
David Chappel S O A Grid
PDF
Thomas Rischbeck Real Life E S B
PDF
Anne Thomas Manes S O A Fatigue
PDF
Art Ligthart Service Identification Techniques
PDF
Paul C Brown S O A Governance
PDF
Mark Little Web Services And Transactions
PDF
Quantitative Design Tools
PDF
Computing Risk without Numbers: A Semantic Approach to Risk Metrics - Tim Ke...
David Chappel S O A Grid
Thomas Rischbeck Real Life E S B
Anne Thomas Manes S O A Fatigue
Art Ligthart Service Identification Techniques
Paul C Brown S O A Governance
Mark Little Web Services And Transactions
Quantitative Design Tools
Computing Risk without Numbers: A Semantic Approach to Risk Metrics - Tim Ke...

Similar to Sven Hakan Olsson Composability Index V2 (20)

KEY
Software metrics
PDF
Faults and Regression Testing - Fault interaction and its repercussions
PPT
Impact of design complexity on software quality - A systematic review
PDF
SRCP seminar
XLS
Fsna tool
PDF
Nov 06 MS3
PDF
S Ven Hakan Olsson Compos Index
PDF
ArcGIS Data Reviewer Check Poster
PDF
Customer Satisfaction Survey Results 2012
PDF
Understanding High Availability - Introducing the Theory and Concepts of High...
PDF
iPaper@GlobIS - Interactive Paper Research
PPTX
Optimality of Monotone procedure
PDF
Evaluating the conformance and interoperability of semantic technologies
PPTX
3. project charter, check sheet, pareto analysis & c&e diagram & matrix
PPT
Fault tolerant and online testability
ODP
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
PDF
A successful improvement process with measurable results
PDF
A Successful Improvement Process With Measurable Results
PDF
What is Wrong with Digital Documents? A Conceptual Model for Structural Cross...
PDF
Virus Detection System
Software metrics
Faults and Regression Testing - Fault interaction and its repercussions
Impact of design complexity on software quality - A systematic review
SRCP seminar
Fsna tool
Nov 06 MS3
S Ven Hakan Olsson Compos Index
ArcGIS Data Reviewer Check Poster
Customer Satisfaction Survey Results 2012
Understanding High Availability - Introducing the Theory and Concepts of High...
iPaper@GlobIS - Interactive Paper Research
Optimality of Monotone procedure
Evaluating the conformance and interoperability of semantic technologies
3. project charter, check sheet, pareto analysis & c&e diagram & matrix
Fault tolerant and online testability
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
A successful improvement process with measurable results
A Successful Improvement Process With Measurable Results
What is Wrong with Digital Documents? A Conceptual Model for Structural Cross...
Virus Detection System
Ad

More from SOA Symposium (20)

PDF
Thomas Erl Introducing S O A Design Patterns
PDF
Radovan Janecek Avoiding S O A Pitfalls
PDF
Natasja Paulssen S A P M D M And E S O A At Philips
PDF
Anthony Carrato S O A Business Architecture
PDF
Johan Kumps Federal E S B
PDF
Laurent Tarin B P M Ilog
PDF
Jim Webber Guerrilla S O A With Web Services
PDF
Robert Schneider What Every Developer
PDF
Robert Schneider 10 Strategies
PDF
Stefan Pappe Making S O A Operational
PDF
Paul Brown Org Man Issues
PDF
Arnaud Simon Flight Data Processing
PDF
Paul Butterworth Policy Based Approach
PDF
Mohamad Afshar Moving Beyond Project Level S O A V1
PDF
Brian Loesgen An Early Look At Oslo
PDF
Chris Riley S O A Modeling
PDF
Prakash Narayan Building Social Web V1
PDF
Anne Thomas Manes Using User Experience
PDF
Mohamad Afshar Moving Beyond Project Level S O A
PDF
Anish Karmakar S C A
Thomas Erl Introducing S O A Design Patterns
Radovan Janecek Avoiding S O A Pitfalls
Natasja Paulssen S A P M D M And E S O A At Philips
Anthony Carrato S O A Business Architecture
Johan Kumps Federal E S B
Laurent Tarin B P M Ilog
Jim Webber Guerrilla S O A With Web Services
Robert Schneider What Every Developer
Robert Schneider 10 Strategies
Stefan Pappe Making S O A Operational
Paul Brown Org Man Issues
Arnaud Simon Flight Data Processing
Paul Butterworth Policy Based Approach
Mohamad Afshar Moving Beyond Project Level S O A V1
Brian Loesgen An Early Look At Oslo
Chris Riley S O A Modeling
Prakash Narayan Building Social Web V1
Anne Thomas Manes Using User Experience
Mohamad Afshar Moving Beyond Project Level S O A
Anish Karmakar S C A
Ad

Recently uploaded (20)

PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
2018-HIPAA-Renewal-Training for executives
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PPTX
Configure Apache Mutual Authentication
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
The various Industrial Revolutions .pptx
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
STKI Israel Market Study 2025 version august
DOCX
search engine optimization ppt fir known well about this
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
Zenith AI: Advanced Artificial Intelligence
Developing a website for English-speaking practice to English as a foreign la...
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Enhancing emotion recognition model for a student engagement use case through...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
2018-HIPAA-Renewal-Training for executives
A contest of sentiment analysis: k-nearest neighbor versus neural network
Microsoft Excel 365/2024 Beginner's training
sustainability-14-14877-v2.pddhzftheheeeee
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Configure Apache Mutual Authentication
Consumable AI The What, Why & How for Small Teams.pdf
The various Industrial Revolutions .pptx
Custom Battery Pack Design Considerations for Performance and Safety
Credit Without Borders: AI and Financial Inclusion in Bangladesh
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
STKI Israel Market Study 2025 version august
search engine optimization ppt fir known well about this
A proposed approach for plagiarism detection in Myanmar Unicode text
OpenACC and Open Hackathons Monthly Highlights July 2025
Zenith AI: Advanced Artificial Intelligence

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