SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
This Presentation Courtesy of the
                            International SOA Symposium
                            October 7-8, 2008 Amsterdam Arena
                            www.soasymposium.com
                            info@soasymposium.com


                                                                     Founding Sponsors




Platinum Sponsors




Gold Sponsors         Silver Sponsors



                                                                                                        1




                   SOA,
   Testable Architecture
         and offshoring


                    Steve.Ross-Talbot@cognizant.com
                    Bhavish.Kumar@cognizant.com




                                        © 2008, Cognizant Technology Solutions.          Confidential       2




                                                                                                                1
Problem Domain
The Industrial Revolution and Ambiguity




       Stevenson’s Rocket                 Micrometer                            Enfield Rifle


                          The micrometer removed ambiguity between specification
                          and implementation leading to both Stevenson’s rocket and
                          the off shoring of production of the Enfield rifle during the US
                          Civil War.


        Steam Engine




                                                                                                   3




Problem Domain
IT and Ambiguity

     Ambiguity
            in requirements
            between architecture and requirements
            between implementation and architecture

     Ambiguity exists because requirements are divorced from architecture and architecture from
      implementation, as a result we end up with:
            Poor alignment of IT to business
            High cost in managing complexity
            High cost of testing
            Lack of transparency and control in delivery and change management
            Poor reuse of IT assets
            Lack of business agility hindered by IT

     Removing ambiguity, joining things up, moves us from art to engineering

                                    Leads to industrialisation of IT


                                                                                                   4




                                                                                                       2
Problem Domain


     Requirements
      Functional
               Based on some business goal in English
                   • On-line sales channel connecting buyers to sellers
               Typically a flow described as a use case in UML or a sequence
                diagram with annotations
                   • It must be possible to examine any message and see where it has been



      Non-functional
               Based on business and/or technical constraints
                   • Seller response time should be less than 5 seconds on offering goods
                   • Use existing standards with the organisation
                   • Budget is $500,000 for initial PoC

               Expressed in English
                   • Seller goods.response.receive_time <= 5 seconds
                   • Must use J2EE




                                                                                            5




Problem Domain


     The Promise of SOA
      De-coupling
                I can change service implementation without impacting the system
                 (but the contract must remain invariant)
                I can evolve my IT landscape according to business need
      Reuse
                I can leverage my existing assets
                I can build new services faster
      Agility
                I can change business rules to reflect business imperatives
                I can build new services faster
      Alignment
                I can see how a service implements a business function
                I can track business transactions




                                                                                            6




                                                                                                3
Problem Domain


     The SOA Fallacy
        As we scale, complexity really hurts
           As the number of service components increases so does the
            complexity of managing de-coupling, reuse, agility and alignment
           As the number of service components increases change becomes
            more difficult and time consuming to manage

        Imagine changing just one service out of 100
           Changing a service contract to have an additional error return type
            becomes a problem
           How many services use this service?
           How many services use the error return types?
           How many composite services use this service in some other
            composition?

        SOA is not scale invariant




                                                                                  7




Problem Domain


     Ambiguity


                                      The reality is that we draw many
                                      pictures and write lots of text for the
                                      requirements and draw many
                                      pictures and write lots of text for the
                                      architecture which are disjoint from
                                      each other and then disjoint from
                                      implementation.

                                      A lot of disjoint artifacts which
                                      breeds ambiguity




                                                                                  8




                                                                                      4
The solution


      The three pillars for SOA success

                                                                      • Ensuring architecture meets
                                                                        requirements before you cut code
                                 System                               • Impact analysis to determine the effect
                                                                        of change against a precise
                                                                        architectural description.
                                                                      • Analysis to ensure that SLA’s are
         Testable Architecture




                                                 Runtime Monitoring
                                                                        achievable




                                  Conformance
                                                                      • Ensuring services meet their
                                                                        collaborative obligations
                                                                        (interoperability)

                                                                      • Ensuring services interoperate
                                                                        correctly
                                                                      • Ensuring business transaction meets
                                                                        their SLA’s
                                                                      • Managing the business on an
                                                                        exceptions basis
 The fundamental problem is that there is no A in SOA and
 so SOA solutions can easily be misaligned and hard to
 manage as they evolve.

 What we need is living architecture.


                                                                                                              9




Testable Architecture


      Definition

    A testable architecture is an unambiguous formal description of a set of
     components and their ordered interactions coupled with any constraints on
     their implementation and behavior. Such a description may be reasoned
     over to ensure consistency and correctness against requirements.

    Formal description of a set of components and their ordered interactions is
     delivered through WS-CDL

    Formal description of any constraints on the implementation or behavior of
     those components is delivered by RuleML




                                                                                                              10




                                                                                                                   5
Testable Architecture


      The winning line

  Goals                                                Effect on on/offshoring
  System description (the model) is correct            Onshore ensuring that the architecture is correct
  against requirements
  Requirements are implementable                       Onshore ensuring that the requirements are
                                                       consistent
  Contracts for implementation are correct             On/offshore ensuring that the implementation
  against a system description (the model)             contracts are correct.
  Implementation of a service is correct               Off/onshore ensuring that the delivery of services
  against a system description (the model)             is correct service wide
  Implementation of the services are correct           Off/onshore ensuring that the delivery of the
  against a system description (the model)             services is correct system wide




                                                                                                                 11




Testable Architecture
Methodology

                                                   CDL Methodology

                                                                 Gather requirements - Sequence
               Monitor- Runtime
                                                                 diagrams and messages, rules,
               enforcement
                                                                 constraints
                                                                       Model system architecture of services
              Test - J2EE, .NET                                        - WS-CDL and RuleML attachments
              against WS-CDL


                                                                           Validate the model against
              Implement - J2EE,                                            requirements –
              .NET                                                         WS-CDL against sequence
                                                                           diagrams and messages,
                                                                           RuleML for policy consistency
               Guide implementation -
               UML, WSDL, Java, C#,                             Verify model and sign off on description -
               BPEL, HTML                                       BPMN, HTML

                                                                                                     Gather
                                                                                                    Model
                                        Removing Ambiguity                                           Validate

                                            Driving up quality                                       Verify
                                                                                                    Guide
                                            Driving down costs
                                                                                                     Implement
                                            Increasing agility in a controlled way
                                                                                                    Test
                                                                                                     Monitor



                                                                                                                 12




                                                                                                                      6
Testable Architecture
Typical Problems




                        13




Testable Architecture
Typical Problems




                        14




                             7
Testable Architecture
An example

                                                                                         With thanks to the Pi4 Technologies Foundation
       Seller, Broker and Buyer


                                                                                           Bubble and stick




                                                  <ex1:Payload xmlns:ex1="http://www.cognizant.com/broker">
                                                     <ex1:id> 100 </ex1:id>
                                                     <ex1:message> Widgets </ex1:message>
                                                     <ex1:value> 105 </ex1:value>
                                                     <ex1:reserve> 99 </ex1:reserve>
                                                     <ex1:provenence> Receiver </ex1:provenence>
                Sequence diagram                  </ex1:Payload>
                                                                                   Example message
     Play
     Demo1

         1. Requires Quicktime to play

                                                                   Conversational identities with example messages
                                                                                                                                          15




                                         Q&A




                                         © 2008, Cognizant Technology Solutions.                   Confidential                           16




                                                                                                                                               8

Contenu connexe

Plus de SOA Symposium

Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A PitfallsSOA Symposium
 
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
 

Plus de SOA Symposium (20)

Radovan Janecek Avoiding S O A Pitfalls
Radovan  Janecek   Avoiding  S O A  PitfallsRadovan  Janecek   Avoiding  S O A  Pitfalls
Radovan Janecek Avoiding S O A Pitfalls
 
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
 

Dernier

Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 

Dernier (20)

Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 

Steve Ross Testable Architecture And Offshoring

  • 1. This Presentation Courtesy of the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com info@soasymposium.com Founding Sponsors Platinum Sponsors Gold Sponsors Silver Sponsors 1 SOA, Testable Architecture and offshoring Steve.Ross-Talbot@cognizant.com Bhavish.Kumar@cognizant.com © 2008, Cognizant Technology Solutions. Confidential 2 1
  • 2. Problem Domain The Industrial Revolution and Ambiguity Stevenson’s Rocket Micrometer Enfield Rifle The micrometer removed ambiguity between specification and implementation leading to both Stevenson’s rocket and the off shoring of production of the Enfield rifle during the US Civil War. Steam Engine 3 Problem Domain IT and Ambiguity  Ambiguity  in requirements  between architecture and requirements  between implementation and architecture  Ambiguity exists because requirements are divorced from architecture and architecture from implementation, as a result we end up with:  Poor alignment of IT to business  High cost in managing complexity  High cost of testing  Lack of transparency and control in delivery and change management  Poor reuse of IT assets  Lack of business agility hindered by IT  Removing ambiguity, joining things up, moves us from art to engineering Leads to industrialisation of IT 4 2
  • 3. Problem Domain Requirements  Functional  Based on some business goal in English • On-line sales channel connecting buyers to sellers  Typically a flow described as a use case in UML or a sequence diagram with annotations • It must be possible to examine any message and see where it has been  Non-functional  Based on business and/or technical constraints • Seller response time should be less than 5 seconds on offering goods • Use existing standards with the organisation • Budget is $500,000 for initial PoC  Expressed in English • Seller goods.response.receive_time <= 5 seconds • Must use J2EE 5 Problem Domain The Promise of SOA  De-coupling  I can change service implementation without impacting the system (but the contract must remain invariant)  I can evolve my IT landscape according to business need  Reuse  I can leverage my existing assets  I can build new services faster  Agility  I can change business rules to reflect business imperatives  I can build new services faster  Alignment  I can see how a service implements a business function  I can track business transactions 6 3
  • 4. Problem Domain The SOA Fallacy  As we scale, complexity really hurts  As the number of service components increases so does the complexity of managing de-coupling, reuse, agility and alignment  As the number of service components increases change becomes more difficult and time consuming to manage  Imagine changing just one service out of 100  Changing a service contract to have an additional error return type becomes a problem  How many services use this service?  How many services use the error return types?  How many composite services use this service in some other composition?  SOA is not scale invariant 7 Problem Domain Ambiguity The reality is that we draw many pictures and write lots of text for the requirements and draw many pictures and write lots of text for the architecture which are disjoint from each other and then disjoint from implementation. A lot of disjoint artifacts which breeds ambiguity 8 4
  • 5. The solution The three pillars for SOA success • Ensuring architecture meets requirements before you cut code System • Impact analysis to determine the effect of change against a precise architectural description. • Analysis to ensure that SLA’s are Testable Architecture Runtime Monitoring achievable Conformance • Ensuring services meet their collaborative obligations (interoperability) • Ensuring services interoperate correctly • Ensuring business transaction meets their SLA’s • Managing the business on an exceptions basis The fundamental problem is that there is no A in SOA and so SOA solutions can easily be misaligned and hard to manage as they evolve. What we need is living architecture. 9 Testable Architecture Definition  A testable architecture is an unambiguous formal description of a set of components and their ordered interactions coupled with any constraints on their implementation and behavior. Such a description may be reasoned over to ensure consistency and correctness against requirements.  Formal description of a set of components and their ordered interactions is delivered through WS-CDL  Formal description of any constraints on the implementation or behavior of those components is delivered by RuleML 10 5
  • 6. Testable Architecture The winning line Goals Effect on on/offshoring System description (the model) is correct Onshore ensuring that the architecture is correct against requirements Requirements are implementable Onshore ensuring that the requirements are consistent Contracts for implementation are correct On/offshore ensuring that the implementation against a system description (the model) contracts are correct. Implementation of a service is correct Off/onshore ensuring that the delivery of services against a system description (the model) is correct service wide Implementation of the services are correct Off/onshore ensuring that the delivery of the against a system description (the model) services is correct system wide 11 Testable Architecture Methodology CDL Methodology Gather requirements - Sequence Monitor- Runtime diagrams and messages, rules, enforcement constraints Model system architecture of services Test - J2EE, .NET - WS-CDL and RuleML attachments against WS-CDL Validate the model against Implement - J2EE, requirements – .NET WS-CDL against sequence diagrams and messages, RuleML for policy consistency Guide implementation - UML, WSDL, Java, C#, Verify model and sign off on description - BPEL, HTML BPMN, HTML Gather Model Removing Ambiguity Validate Driving up quality Verify Guide Driving down costs Implement Increasing agility in a controlled way Test Monitor 12 6
  • 7. Testable Architecture Typical Problems 13 Testable Architecture Typical Problems 14 7
  • 8. Testable Architecture An example With thanks to the Pi4 Technologies Foundation Seller, Broker and Buyer Bubble and stick <ex1:Payload xmlns:ex1="http://www.cognizant.com/broker"> <ex1:id> 100 </ex1:id> <ex1:message> Widgets </ex1:message> <ex1:value> 105 </ex1:value> <ex1:reserve> 99 </ex1:reserve> <ex1:provenence> Receiver </ex1:provenence> Sequence diagram </ex1:Payload> Example message Play Demo1 1. Requires Quicktime to play Conversational identities with example messages 15 Q&A © 2008, Cognizant Technology Solutions. Confidential 16 8