SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Sales Process Service
                www.cbdiforum.com                   «Business Process
                                                      Orchestration»
                                                        Sales Process
                                             Orders                        Customers
                                             Service                        Service
                                                        «component»
                                                          Sales
                                                        Component

                                                    Products
                                                     Service
SOA Best Practice                              «aggregator»
                                                 Products
                                                                               Address
                                                                               Service
                                                                           «component»
                                                 Service                     Address
                                                                              Service
                                            Manufacturing         Inventory
Service Implementation                      System Service      System Service
                                         «wrapper»            «wrapper»
Architecture and Automation             Manufacturing          Inventory
                                          System                System
Unit Specification
By Lawrence Wilkes

 Independent Guidance for
 Service Architecture and Engineering
Introduction




              This presentation provides an overview of our approach to modeling
               the Service Implementation Architecture and identifying and
               specifying Automation Units.....
              Further detail and guidance (e.g. Specific techniques) is provided in
               the CBDI Journal report and the CBDI-SAE Knowledgebase
              In addition, the Knowledgebase contains the following resources
                  Automation Unit Description Template
                  Automation Unit Specification Template
                  Detailed Process, Task, Technique and Artifact guidance




   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
SO Process Context
                             <<discipline>>
                                                                                                  <<discipline>>                    <<discipline>>
                            Service Oriented
                                                                                                     Service                           Service
                              Architecture
                                                                                                   Provisioning                    Implementation
                               & Design

                           <<process unit>>
                            Evolve Service
                             Portfolio Plan

          <<process unit>>                  <<process unit>>                   <<process unit>>             <<process unit>>
          Produce Service                   Produce Service                    Produce Service             Produce Automation
            Specification                    Implementation                      Specification              Unit Specification
            Architecture                       Architecture

           <<deliverable>>
                                                                                <<deliverable>>
               Service
                                                                                   Service
            Specification
                                                                                 Specification
             Architecture
                                             <<deliverable>>
                                                 Service                                                     <<deliverable>>
                                             Implementation                                                  Automation Unit
                                               Architecture                                                   Specification

                                                                                                                                   <<deliverable>>
    From a process perspective, the Service Implementation                                                   <<deliverable>>
                                                                                                                                      Software
    Architecture is a deliverable from the Service Oriented                                                Internal Architecture
                                                                                                                                    Executables
    Architecture and Design discipline, and the Automation Unit
    Specification is a deliverable from Service Provisioning.
    Together with the Service Specification, these will be key
    inputs to the Service Implementation activity.

   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
SO Process Context
                               Service Oriented      Service Provisioning                               Service Implementation
                               Architecture & Design
Key                            Service                                        Automation Unit           Internal Architecture
Deliverable                    Implementation                                 Specification
                               Architecture
Scope                          Overall Structure of                           Individual Automation     Individual Automation Unit
                               Automation Units                               Unit
Level                          Logical Architecture                           Logical Specification     Platform specific software
                                                                                                        design. Technical Interface &
                                                                                                        Component structure

Mapping                        Mapping of logical                             Mapping of logical       Mapping Service Operations
                               Services to logical                            Service operations to    to Technical Realizations (e.g.
                               Automation Units                               logical Automation Units the Technical Operations)
Dependency                     Service-level                                  Service Operation-level   Technical Operation
                               dependency                                     dependency                dependency
                                                                              Non-Service               Non-Service dependencies
                                                                              dependencies
    The Service Implementation Architecture defines the overall logical structure of Automation Units and
    the Services they provide and require, whilst the Automation Unit specification is a logical
    specification of an individual Automation Unit. Finally, the internal architecture details the platform
    specific design of an Individual Automation Unit.
   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Example Automation Unit Types – Implementation
                  Patterns
    Automation Unit                                Description
    Types
    «Component»                                    An encapsulated component, whose logic and data can only be
                                                   accessed via the service's operations.
    «Quasi-Component»                              Not fully encapsulated, but it still amounts to a single "logical"
                                                   deployment unit not fitting into any of the other stereotype categories
    «Script»                                       Automation Units using an interpreted script rather than a compiled
                                                   language can be highlighted with a special stereotype. You could treat
                                                   BPEL as a script, or you may prefer to use the more specific
                                                   stereotype «BPEL»
    «External»                                     Where a service is supplied by an external vendor who also hosts the
                                                   service, and there is no knowledge of how the service is implemented,
                                                   then a notional Automation Unit can be included in the Architecture.
    «Package»                                      Where an Automation Unit is supplied by an external vendor, and there
                                                   is no knowledge of how the service is implemented, then a notional
                                                   Automation Unit can be included in the Architecture.
     What is an Automation Unit?
     An Automation Unit describes the implementation of one or more Services. It consists of a collection
     of Deployable Artifacts, such as the executables or scripts that together provide the implementation
     for a service. It is a logical construct that enables the service architecture to map between the high-
     level service specification architecture and the physical implementation of the services.
   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Example Automation Unit Types – Design Patterns

    Automation Unit                                Description
    Types
    «Facade» or                                    Aggregate data from several services
    «Aggregator»
    «Wrapper»                                      Provide access to some functionality within an existing system, making
                                                   it available to SOA consumers as a service. A wrapper would mainly
                                                   call the legacy system's API -- or its methods or transactions or
                                                   whatever -- and convert them into operations of services (as
                                                   documented in a Service Specification).
    «Broker» or «Router»                           The Automation Unit acts as a broker or router switching requests to
                                                   one of several alternative implementations based on business rules.

     Rather than use a term like Component, for which some readers will assume a specific meaning, we
     use Automation Unit as a more general term that covers the many different ways in which the Service
     might be implemented.
     The table on this and the previous slide shows two properties that can be used to label an
     Automation Unit. The Implementation Pattern shows how the Automation Unit is physically
     implemented, whilst the Design Pattern shows the general function of the Automation Unit.




   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Automation Unit Patterns - Mapping Services to
                  Automation Units
                                                                                                               Several Services, One AU,
             One Service, One AU, One Component                                                                    One Component
                             Orders                           Customers                                       Orders                  Customers
                             Service                           Service                                        Service                  Service
                     «component»                       «component»                                                      «component»
                          Orders                        Customers                                                          Sales
                          Service                         Service                                                        Component
                                                                           Many services, One AU,
                                                                            Unknown Components
                                                 Orders              Customers                    Inventory    Payments
                                                 Service              Service                      Service      Service
                                                                                 «package»
                                                                              Ecommerce System

      The key task of the architect is to decide how the Service Specification Architecture will be mapped
      to different units of software that will implement each service. In its simplest form, each Service is
      realized in the Service Implementation Architecture by a single Automation Unit, and that
      Automation Unit is implemented by a single component. However, when identifying Automation
      Units, architects may decide to build or acquire one software component that offers several
      services, where those services have high affinity. Though this might impact flexibility,
      implementation concerns may outweigh that.
   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Automation Unit as a Unit of Integrity
                                                                                   n Services, n Components, One AU
                                                                                       Orders            Customers
                                                                                       Service            Service
                                                                                      «automationUnit»
                                                                                           Sales
                                                                               «component»       «component»
                      Unit of Integrity
                      Aka Component                                                  Orders                   Customers
                                                                                     Service                   Service
                          Cluster

                          AKA Quasi-
                                                                                                    Sales
                          component
                                                                                                   Database


                                                                                                   «legacy»
                     Breaks the Integrity                                                            Order
                                                                                                  Management
                                                                                                    System

      Other factors may affect mapping decisions. For example: To better manage deployment,
      versioning, testing or security, architects may decide to cluster Automation Units into single “unit of
      integrity” and not publish the Services which only have dependencies within that unit.

   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Service Implementation Architecture Concepts in UML
                  and SoaML
            Concept                        UML                                                    SoaML
            Automation                     are represented by UML                                 UML classes or Components
            Units                          classes Stereotypes are                                stereotyped as Participants.
                                           used to indicate the type of
                                           Automation unit
            Associations                   UML associations                                       UML associations are stereotyped as
                                                                                                  ServiceChannels
            Services                       UML interface icon                                     UML Ports, stereotyped as ServicePoints
            provided                                                                              and typed by ServiceInterfaces. These
                                                                                                  are the small blue boxes in the diagram.
            Services                       UML „socket‟ icon                                      stereotyped as a RequestPoint, and
            required                                                                              typed by the ServiceInterface of the
                                                                                                  Service required or a “compatible”
                                                                                                  ServiceInterface the small red box on the
                                                                                                  Participant.

            The Service Implementation Architecture is a model that describes the Automation Units used
            to implement services, and their inter-dependencies. This can be modeled using UML or
            SoaML. The CBDI-SAE UML Profile provides the necessary stereotypes to model the Service
            Implementation Architecture. Various SoaML profiles are also available for download,
            including one that CBDI has built for Sparx Systems Enterprise Architect.
   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Modeling the Service Implementation Architecture


                                                                                                                                   ServicePoints
                                                        UML Interface                              :Orders Service

         Orders                                                                                               «Participant»
         Service                                                                                             Orders Service
                                                                                                                                  Stereotyped UML
               «component»                                                                                                             Class
                                                     Stereotyped UML
              Orders Service                              Class                                              :Products Service


                                                          UML socket                                                               RequestPoints
                                                                                             <<ServiceChannel>>
      Products
      Service                                                                                     :Products Service              ServiceChannels

                                                                                                              «Participant»
               «component»                                                                                  Products Service

            Products Service


                                  UML                                                                                SoaML



   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Service Implementation Architecture Example
                                                                                                                          Sales Process Service
Note that in this example the integrity of the Service
Specification Architecture is maintained. Though the Orders       «Business Process
Service and Customers Service are both provided by the same         Orchestration»
Automation Unit in the form of the Sales Component, the             Sales Process
individual Services and their dependencies in the Service
Specification Architecture still remain.                    Orders                  Customers
                                                                                                       Service                        Service
                     Service Specification Architecture
                                                                                                                  «component»
             Process                                 Sales Process Service
             Services
                                                                                                                    Sales
                                                                                                                  Component
                                                  Orders
                                                  Service
                                                                     Customers                                Products
                Core
                                                                     Service                                   Service                   Address
            Business             Products
            Services                                                                                     «aggregator»                    Service
                                  Service
                                                                                                           Products                  «component»
                                                                     Address                               Service
               Utility                                               Service                                                           Address
             Services                                                                                                                  Service

                                                                                                      Manufacturing          Inventory
                                  Manufacturing                   Inventory                           System Service      System Service
          Underlying
                                  Systems Service                 Systems Service
            Services                                                                               «wrapper»           «wrapper»
    The Service Implementation Architecture is based                                              Manufacturing          Inventory
    on the Service Specification Architecture, but also                                             System                System
    takes into account any constraints
   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Adding Further Implementation Detail


                            Several components, one data
                                   storage service
                                                                Customers                         Sometimes the opposite will occur, in
                                Orders
                                Service                          Service                          that additional Services are added to
                                                                                                  the Service Implementation Architecture
                                                                                                  that are not modeled in the Service
                         «component»                       «component»
                                                                                                  Specification Architecture. For example
                                                              Customers                           it may be decided that Orders Service
                        Orders Service                         Service
                                                                                                  and Customers Service components
                                                                                                  should both use a Sales Database
                                                                                                  Component which itself provides a
          « implementation only »                        Sales Data
                                                                                                  Sales Data Service. The Sales Data
                                                         Service
                                                                                                  Service would not normally be added to
                                                                                                  the Service Specification Architecture
                                         «component»                                              as it is considered an implementation-
                                       Sales Database                                             only dependency, and in this example
                                                                                                  the dependency has been labelled as
                                                                                                  such.




   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Adding Further Implementation Detail
                                                                                                                          Application

                                                                                                                         «application»
                                                                                                            Wrapper      eCommerce
                                                                                                                           System
                                                                                                  Orders
                                                                                                  Service
         Automation Units can also be used to depict any
         distinct collection of software, such as an existing
         system, even if it does not directly offer services.                                           «wrapper»
         This shows an example of an existing Order                                                          Order
         Processing System that is behind a wrapper used                                                    System
         to implement the Orders Service.
         Finally, an Automation Unit can also be used to
         represent the solution or application that consumes                                        <<existingsystem>>
         Services. In this case the eCommerce System.                                                Order Processing
                                                                                                          System




                                                                                                        Orders File




   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Modeling the Internal Architecture Using Service
                  Component Architecture (SCA)
                                                                                                              An alternative notation that has
                                                             Properties                                       been developed specifically with
                                                                                                              SOA in mind is Service
                                                                                                              Component Architecture (SCA)
        Service                          Sales Composite

                                                                                                                           Products
                       Orders                             component X                                                      Service
                                                     A
                       Service                                Orders              Y
                                                                                                      component
                                                                                                                           Address
                                                                                                  C    Sales       Q
                                                                                                                           Service
                                                                                                      Database
                    Customers                            component                                                                     Reference
                                                    B              Z
                     Service                             Customers
                                                                                                                                      Component

                                                                                                                                       Composite
     <composite name=“SalesComposite" ...>
       <component name=“Orders"> ... </component>
       <service name=“OrdersService” promote=“Orders/A” <binding.ws/> <service/>
       <reference name=“ProductsService” promote=“Orders/X”/>
     </composite>
                                                                                                      A benefit of SCA is that it enables the
                                                                                                      architecture to be documented in XML
   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Automation Unit Lifecycle
                                   Like any other artifact, the Automation Unit also has a life cycle


          State                        Deliverables                                               Comments
          Planned                      Service Implementation                                     Essentially a to-be
                                       Architecture
                                       AU Description
          Specified                    AU Specification                                           Requirement – ideal specification
                                                                                                  Actual – Delivered specification
          Designed                     AU Internal Architecture                                   Include any design constraints, e.g
                                                                                                  must use Technical Interface
          Provisioned                  AU Implementation                                          External provisioning decisions may
                                       (Software Executables, etc)                                pre-determine Automation Unit
                                                                                                  packaging
                                                                                                  As -delivered
          Retired                      AU Implementation                                          Retirement of the AU is not necessarily
                                       (Software Executables, etc)                                in line with the life cycle of the Service




   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Specifying Implementation Detail
                          Automation Unit                                                                 Internal Architecture
                           Specification
             Orders                                Customers                                            Orders                    Customers
             Service                                Service                                             Service                    Service
                           «component»
                                                                                                           <<component>>
                              Sales                                                                       Sales Component
                            Component
                                                                                                  «component»            «component»
         Products                                    Address
         Service                                                                                    Orders                Customers
                                                     Service
                                                                                                    Service                 Service

    Rather than overloading the Service
    Implementation Architecture diagram with the                                                                    Sales
    internal architecture of each Automation Unit, it                                                               DataService
    may be decided to document these individually as                                                      «component»
    the internal architecture of an individual
    Automation Unit. Whereas a single box                                                                      Sales
    representing the Sales Component may be                                                                   Database
    sufficient in the Service Implementation
    Architecture, the internal architecture can be
    modeled elsewhere to show the Automation Units                                                     Products                    Address
    and Services within it.                                                                            Service                     Service

   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Policies


              We would expect organizations to define policies that more tightly
               scope the permitted Automation Unit types that can be used in their
               organization and the associated documentation they require. Policies
               should cover
                  Permitted types of implementation and design patterns
                  Documentation requirement by type
                  Documentation requirement by provisioner/implementer
                   relationship. That is
                      Internal implementation
                      Acquired implementation
                      Outsourced/Offshored Implementation
                  Modeling and specification standards
                  Mapping and Packaging policies
                      Permitted Service to Automation Unit packaging patterns



   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
Links and Resources



              CBDI-SAE UML Profile for SOA
                 http://www.cbdiforum.com/public/uml_profile.php
              CBDI SoaML UML Profile
                 http://cbdi.wikispaces.com/SoaML
              Automation Unit Specification
                 http://cbdi.wikispaces.com/Automation+Unit+Specification
              Service Implementation Architecture
                 http://cbdi.wikispaces.com/Service+Implementation+Architecture
              Original CBDI Journal Report
                 http://www.cbdiforum.com/secure/interact/2009-
                   06/servic_implementation_architecture_and_automation_unit_spe
                   cification.php



   2009 Everware-CBDI Inc This material may not be copied or reused without express permission
www.cbdiforum.com



                  Independent Guidance for Service Architecture and Engineering




                                                             www.everware-cbdi.com




   2009 Everware-CBDI Inc This material may not be copied or reused without express permission

Mais conteúdo relacionado

Último

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Último (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Destaque

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destaque (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

SOA Service Implementation Architecture And Automation Unit Specification

  • 1. Sales Process Service www.cbdiforum.com «Business Process Orchestration» Sales Process Orders Customers Service Service «component» Sales Component Products Service SOA Best Practice «aggregator» Products Address Service «component» Service Address Service Manufacturing Inventory Service Implementation System Service System Service «wrapper» «wrapper» Architecture and Automation Manufacturing Inventory System System Unit Specification By Lawrence Wilkes Independent Guidance for Service Architecture and Engineering
  • 2. Introduction  This presentation provides an overview of our approach to modeling the Service Implementation Architecture and identifying and specifying Automation Units.....  Further detail and guidance (e.g. Specific techniques) is provided in the CBDI Journal report and the CBDI-SAE Knowledgebase  In addition, the Knowledgebase contains the following resources  Automation Unit Description Template  Automation Unit Specification Template  Detailed Process, Task, Technique and Artifact guidance  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 3. SO Process Context <<discipline>> <<discipline>> <<discipline>> Service Oriented Service Service Architecture Provisioning Implementation & Design <<process unit>> Evolve Service Portfolio Plan <<process unit>> <<process unit>> <<process unit>> <<process unit>> Produce Service Produce Service Produce Service Produce Automation Specification Implementation Specification Unit Specification Architecture Architecture <<deliverable>> <<deliverable>> Service Service Specification Specification Architecture <<deliverable>> Service <<deliverable>> Implementation Automation Unit Architecture Specification <<deliverable>> From a process perspective, the Service Implementation <<deliverable>> Software Architecture is a deliverable from the Service Oriented Internal Architecture Executables Architecture and Design discipline, and the Automation Unit Specification is a deliverable from Service Provisioning. Together with the Service Specification, these will be key inputs to the Service Implementation activity.  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 4. SO Process Context Service Oriented Service Provisioning Service Implementation Architecture & Design Key Service Automation Unit Internal Architecture Deliverable Implementation Specification Architecture Scope Overall Structure of Individual Automation Individual Automation Unit Automation Units Unit Level Logical Architecture Logical Specification Platform specific software design. Technical Interface & Component structure Mapping Mapping of logical Mapping of logical Mapping Service Operations Services to logical Service operations to to Technical Realizations (e.g. Automation Units logical Automation Units the Technical Operations) Dependency Service-level Service Operation-level Technical Operation dependency dependency dependency Non-Service Non-Service dependencies dependencies The Service Implementation Architecture defines the overall logical structure of Automation Units and the Services they provide and require, whilst the Automation Unit specification is a logical specification of an individual Automation Unit. Finally, the internal architecture details the platform specific design of an Individual Automation Unit.  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 5. Example Automation Unit Types – Implementation Patterns Automation Unit Description Types «Component» An encapsulated component, whose logic and data can only be accessed via the service's operations. «Quasi-Component» Not fully encapsulated, but it still amounts to a single "logical" deployment unit not fitting into any of the other stereotype categories «Script» Automation Units using an interpreted script rather than a compiled language can be highlighted with a special stereotype. You could treat BPEL as a script, or you may prefer to use the more specific stereotype «BPEL» «External» Where a service is supplied by an external vendor who also hosts the service, and there is no knowledge of how the service is implemented, then a notional Automation Unit can be included in the Architecture. «Package» Where an Automation Unit is supplied by an external vendor, and there is no knowledge of how the service is implemented, then a notional Automation Unit can be included in the Architecture. What is an Automation Unit? An Automation Unit describes the implementation of one or more Services. It consists of a collection of Deployable Artifacts, such as the executables or scripts that together provide the implementation for a service. It is a logical construct that enables the service architecture to map between the high- level service specification architecture and the physical implementation of the services.  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 6. Example Automation Unit Types – Design Patterns Automation Unit Description Types «Facade» or Aggregate data from several services «Aggregator» «Wrapper» Provide access to some functionality within an existing system, making it available to SOA consumers as a service. A wrapper would mainly call the legacy system's API -- or its methods or transactions or whatever -- and convert them into operations of services (as documented in a Service Specification). «Broker» or «Router» The Automation Unit acts as a broker or router switching requests to one of several alternative implementations based on business rules. Rather than use a term like Component, for which some readers will assume a specific meaning, we use Automation Unit as a more general term that covers the many different ways in which the Service might be implemented. The table on this and the previous slide shows two properties that can be used to label an Automation Unit. The Implementation Pattern shows how the Automation Unit is physically implemented, whilst the Design Pattern shows the general function of the Automation Unit.  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 7. Automation Unit Patterns - Mapping Services to Automation Units Several Services, One AU, One Service, One AU, One Component One Component Orders Customers Orders Customers Service Service Service Service «component» «component» «component» Orders Customers Sales Service Service Component Many services, One AU, Unknown Components Orders Customers Inventory Payments Service Service Service Service «package» Ecommerce System The key task of the architect is to decide how the Service Specification Architecture will be mapped to different units of software that will implement each service. In its simplest form, each Service is realized in the Service Implementation Architecture by a single Automation Unit, and that Automation Unit is implemented by a single component. However, when identifying Automation Units, architects may decide to build or acquire one software component that offers several services, where those services have high affinity. Though this might impact flexibility, implementation concerns may outweigh that.  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 8. Automation Unit as a Unit of Integrity n Services, n Components, One AU Orders Customers Service Service «automationUnit» Sales «component» «component» Unit of Integrity Aka Component Orders Customers Service Service Cluster AKA Quasi- Sales component Database «legacy» Breaks the Integrity Order Management System Other factors may affect mapping decisions. For example: To better manage deployment, versioning, testing or security, architects may decide to cluster Automation Units into single “unit of integrity” and not publish the Services which only have dependencies within that unit.  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 9. Service Implementation Architecture Concepts in UML and SoaML Concept UML SoaML Automation are represented by UML UML classes or Components Units classes Stereotypes are stereotyped as Participants. used to indicate the type of Automation unit Associations UML associations UML associations are stereotyped as ServiceChannels Services UML interface icon UML Ports, stereotyped as ServicePoints provided and typed by ServiceInterfaces. These are the small blue boxes in the diagram. Services UML „socket‟ icon stereotyped as a RequestPoint, and required typed by the ServiceInterface of the Service required or a “compatible” ServiceInterface the small red box on the Participant. The Service Implementation Architecture is a model that describes the Automation Units used to implement services, and their inter-dependencies. This can be modeled using UML or SoaML. The CBDI-SAE UML Profile provides the necessary stereotypes to model the Service Implementation Architecture. Various SoaML profiles are also available for download, including one that CBDI has built for Sparx Systems Enterprise Architect.  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 10. Modeling the Service Implementation Architecture ServicePoints UML Interface :Orders Service Orders «Participant» Service Orders Service Stereotyped UML «component» Class Stereotyped UML Orders Service Class :Products Service UML socket RequestPoints <<ServiceChannel>> Products Service :Products Service ServiceChannels «Participant» «component» Products Service Products Service UML SoaML  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 11. Service Implementation Architecture Example Sales Process Service Note that in this example the integrity of the Service Specification Architecture is maintained. Though the Orders «Business Process Service and Customers Service are both provided by the same Orchestration» Automation Unit in the form of the Sales Component, the Sales Process individual Services and their dependencies in the Service Specification Architecture still remain. Orders Customers Service Service Service Specification Architecture «component» Process Sales Process Service Services Sales Component Orders Service Customers Products Core Service Service Address Business Products Services «aggregator» Service Service Products «component» Address Service Utility Service Address Services Service Manufacturing Inventory Manufacturing Inventory System Service System Service Underlying Systems Service Systems Service Services «wrapper» «wrapper» The Service Implementation Architecture is based Manufacturing Inventory on the Service Specification Architecture, but also System System takes into account any constraints  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 12. Adding Further Implementation Detail Several components, one data storage service Customers Sometimes the opposite will occur, in Orders Service Service that additional Services are added to the Service Implementation Architecture that are not modeled in the Service «component» «component» Specification Architecture. For example Customers it may be decided that Orders Service Orders Service Service and Customers Service components should both use a Sales Database Component which itself provides a « implementation only » Sales Data Sales Data Service. The Sales Data Service Service would not normally be added to the Service Specification Architecture «component» as it is considered an implementation- Sales Database only dependency, and in this example the dependency has been labelled as such.  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 13. Adding Further Implementation Detail Application «application» Wrapper eCommerce System Orders Service Automation Units can also be used to depict any distinct collection of software, such as an existing system, even if it does not directly offer services. «wrapper» This shows an example of an existing Order Order Processing System that is behind a wrapper used System to implement the Orders Service. Finally, an Automation Unit can also be used to represent the solution or application that consumes <<existingsystem>> Services. In this case the eCommerce System. Order Processing System Orders File  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 14. Modeling the Internal Architecture Using Service Component Architecture (SCA) An alternative notation that has Properties been developed specifically with SOA in mind is Service Component Architecture (SCA) Service Sales Composite Products Orders component X Service A Service Orders Y component Address C Sales Q Service Database Customers component Reference B Z Service Customers Component Composite <composite name=“SalesComposite" ...> <component name=“Orders"> ... </component> <service name=“OrdersService” promote=“Orders/A” <binding.ws/> <service/> <reference name=“ProductsService” promote=“Orders/X”/> </composite> A benefit of SCA is that it enables the architecture to be documented in XML  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 15. Automation Unit Lifecycle Like any other artifact, the Automation Unit also has a life cycle State Deliverables Comments Planned Service Implementation Essentially a to-be Architecture AU Description Specified AU Specification Requirement – ideal specification Actual – Delivered specification Designed AU Internal Architecture Include any design constraints, e.g must use Technical Interface Provisioned AU Implementation External provisioning decisions may (Software Executables, etc) pre-determine Automation Unit packaging As -delivered Retired AU Implementation Retirement of the AU is not necessarily (Software Executables, etc) in line with the life cycle of the Service  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 16. Specifying Implementation Detail Automation Unit Internal Architecture Specification Orders Customers Orders Customers Service Service Service Service «component» <<component>> Sales Sales Component Component «component» «component» Products Address Service Orders Customers Service Service Service Rather than overloading the Service Implementation Architecture diagram with the Sales internal architecture of each Automation Unit, it DataService may be decided to document these individually as «component» the internal architecture of an individual Automation Unit. Whereas a single box Sales representing the Sales Component may be Database sufficient in the Service Implementation Architecture, the internal architecture can be modeled elsewhere to show the Automation Units Products Address and Services within it. Service Service  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 17. Policies  We would expect organizations to define policies that more tightly scope the permitted Automation Unit types that can be used in their organization and the associated documentation they require. Policies should cover  Permitted types of implementation and design patterns  Documentation requirement by type  Documentation requirement by provisioner/implementer relationship. That is  Internal implementation  Acquired implementation  Outsourced/Offshored Implementation  Modeling and specification standards  Mapping and Packaging policies  Permitted Service to Automation Unit packaging patterns  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 18. Links and Resources  CBDI-SAE UML Profile for SOA  http://www.cbdiforum.com/public/uml_profile.php  CBDI SoaML UML Profile  http://cbdi.wikispaces.com/SoaML  Automation Unit Specification  http://cbdi.wikispaces.com/Automation+Unit+Specification  Service Implementation Architecture  http://cbdi.wikispaces.com/Service+Implementation+Architecture  Original CBDI Journal Report  http://www.cbdiforum.com/secure/interact/2009- 06/servic_implementation_architecture_and_automation_unit_spe cification.php  2009 Everware-CBDI Inc This material may not be copied or reused without express permission
  • 19. www.cbdiforum.com Independent Guidance for Service Architecture and Engineering www.everware-cbdi.com  2009 Everware-CBDI Inc This material may not be copied or reused without express permission