Santa Clara




    SOA Solution Patterns
                  Afkham Azeez,
Architect & Product Manager WSO2 WSAS, WSO2, Inc.
                 azeez@wso2.com
Santa Clara




                         We will
...see how to implement an SOA solution using basic elements of
an SOA infrastructure.

...demonstrate how to map enterprise SOA patterns, to a few real
world and a few hypothetical business requirements.

...discuss SOA implementation details using products from the
WSO2 SOA Platform.
Santa Clara




                    Overview

    Patterns
   SOA Infrastructure

    Solution building roadmap

    3 usecases
       Scenario, pattern mapping & implementation

    Enhancements
Santa Clara




             What is a pattern?
A generic reusable solution for a common recurring
problem.
        
          Tried & tested
         Robust (stood the test of time)

         Maintained in a catalog

         Feel comfortable using
Santa Clara




       SOA Solution Patterns
                                    SA Patterns
OO Patterns


                  EAA Patterns




  EAI Patterns                                  Other
                 OO - Object-Oriented
                 SA – Software Architecture
                 EAI – Enterprise Application Integration
                 EAA – Enterprise Application Architecture
SOA Infrastructure –    Santa Clara



  The Building Blocks
Santa Clara




     Solution Building Roadmap

Requirements   Business Patterns    Integration Patterns



                         Application Patterns



                          Runtime Patterns


                          Product Mappings
Santa Clara

            Usecase-1             (Business Scenario)
●
    Service client and service connected in P2P fashion in a
    production System.

●
    Backend service development team has decided to change
    the backend services.
     ●
       Secure the backend services.
     ●
       Change the service contracts.
     ● Introduce multiple services in place of a single service.




                       Change Again ?




                           Client/frontend developers
                           PMs, Finance, HR etc.
Santa Clara




            Usecase-1    (Pattern Mapping)



    Service Broker Pattern
   Pipes and Filters
       Transform
       Route

    Trusted Subsystems

    Functional Decomposition
   Service Encapsulation
Santa Clara




               Usecase-1   (Implementation)




Pipes and filters
Route
Trusted subsystems
Santa Clara




             Usecase-1   (Implementation) cont..




Pipes and filters                                  Mediation
Route                                              DBLookup
Transform
Santa Clara




             Usecase-1   (Implementation) cont..




Pipes and filters
Route
Santa Clara




            Usecase-1      (Implementation) cont..




Pipes and filters
Route
Functional decomposition
Service encapsulation
Santa Clara


            Usecase-2           (Business Scenario)

●
    A service that hosted in a local network required to accept
    requests from outside need to
     ●
       Need to virus scan & validate the content outside LAN
       before accepting.
     ● Incoming protocol may be different from the protocols


       allowed within the LAN

                     Expose the service to
                      the outside world?


                                               NO you can't!
Santa Clara




          Usecase-2    (Pattern Mapping)



    Service Firewall
   Protocol Bridge
Santa Clara




                   Usecase-2   (Implementation)




Service Firewall
Protocol Bridge
Santa Clara




             Usecase-3          (Business Scenario)
●
     SOA infrastructure to be implemented in an environment
     containing legacy systems and legacy databases.
●    Existing systems are robust and the data is crucial for
     decision making.


                 Throw away the old
                      systems
    Data ?
                                                  $$ ?
                                                 NO SOA!
Santa Clara




          Usecase-3      (Pattern Mapping)


   MDM (Master Data Management)

    EDA (Event Driven Architecture)
Usecase-3
                                     Santa Clara

                  (Implementation)




MDM
Usecase-3
                                            Santa Clara

                  (Implementation) cont..




MDM
Usecase-3
                                            Santa Clara

                  (Implementation) cont..




MDM
EDA
Santa Clara




                   Enhancements

    Governance
    ●
        Shared registry/repository
       operational/runtime governance
         ●
             Monitoring
         ●
             Management
   Clustering
    ●   Availability
    ●   Load

    Create your own patterns for your needs
Santa Clara




          Summary - Patterns

    Service broker

    Pipes & filters

    Route

    Trusted subsystems

    Transformation
   Functional decomposition
   Service encapsulation

    Service firewall

    Protocol bridge

    Master Data Management
   Event Driven Architecture
Santa Clara




                   Summary

    Identify the business requirements.
   Map them to patterns.

    Avoid P2P.

    Think about the ROI.

    Keep all stakeholders happy.

    Optimize the usage of the application.
   Apply SOA correctly, use it in a practical
    manner.
Santa Clara




Questions

WSO2 SOA Solution Patterns

  • 1.
    Santa Clara SOA Solution Patterns Afkham Azeez, Architect & Product Manager WSO2 WSAS, WSO2, Inc. azeez@wso2.com
  • 2.
    Santa Clara We will ...see how to implement an SOA solution using basic elements of an SOA infrastructure. ...demonstrate how to map enterprise SOA patterns, to a few real world and a few hypothetical business requirements. ...discuss SOA implementation details using products from the WSO2 SOA Platform.
  • 3.
    Santa Clara Overview  Patterns  SOA Infrastructure  Solution building roadmap  3 usecases  Scenario, pattern mapping & implementation  Enhancements
  • 4.
    Santa Clara What is a pattern? A generic reusable solution for a common recurring problem.  Tried & tested  Robust (stood the test of time)  Maintained in a catalog  Feel comfortable using
  • 5.
    Santa Clara SOA Solution Patterns SA Patterns OO Patterns EAA Patterns EAI Patterns Other OO - Object-Oriented SA – Software Architecture EAI – Enterprise Application Integration EAA – Enterprise Application Architecture
  • 6.
    SOA Infrastructure – Santa Clara The Building Blocks
  • 7.
    Santa Clara Solution Building Roadmap Requirements Business Patterns Integration Patterns Application Patterns Runtime Patterns Product Mappings
  • 8.
    Santa Clara Usecase-1 (Business Scenario) ● Service client and service connected in P2P fashion in a production System. ● Backend service development team has decided to change the backend services. ● Secure the backend services. ● Change the service contracts. ● Introduce multiple services in place of a single service. Change Again ? Client/frontend developers PMs, Finance, HR etc.
  • 9.
    Santa Clara Usecase-1 (Pattern Mapping)  Service Broker Pattern  Pipes and Filters  Transform  Route  Trusted Subsystems  Functional Decomposition  Service Encapsulation
  • 10.
    Santa Clara Usecase-1 (Implementation) Pipes and filters Route Trusted subsystems
  • 11.
    Santa Clara Usecase-1 (Implementation) cont.. Pipes and filters Mediation Route DBLookup Transform
  • 12.
    Santa Clara Usecase-1 (Implementation) cont.. Pipes and filters Route
  • 13.
    Santa Clara Usecase-1 (Implementation) cont.. Pipes and filters Route Functional decomposition Service encapsulation
  • 14.
    Santa Clara Usecase-2 (Business Scenario) ● A service that hosted in a local network required to accept requests from outside need to ● Need to virus scan & validate the content outside LAN before accepting. ● Incoming protocol may be different from the protocols allowed within the LAN Expose the service to the outside world? NO you can't!
  • 15.
    Santa Clara Usecase-2 (Pattern Mapping)  Service Firewall  Protocol Bridge
  • 16.
    Santa Clara Usecase-2 (Implementation) Service Firewall Protocol Bridge
  • 17.
    Santa Clara Usecase-3 (Business Scenario) ● SOA infrastructure to be implemented in an environment containing legacy systems and legacy databases. ● Existing systems are robust and the data is crucial for decision making. Throw away the old systems Data ? $$ ? NO SOA!
  • 18.
    Santa Clara Usecase-3 (Pattern Mapping)  MDM (Master Data Management)  EDA (Event Driven Architecture)
  • 19.
    Usecase-3 Santa Clara (Implementation) MDM
  • 20.
    Usecase-3 Santa Clara (Implementation) cont.. MDM
  • 21.
    Usecase-3 Santa Clara (Implementation) cont.. MDM EDA
  • 22.
    Santa Clara Enhancements  Governance ● Shared registry/repository  operational/runtime governance ● Monitoring ● Management  Clustering ● Availability ● Load  Create your own patterns for your needs
  • 23.
    Santa Clara Summary - Patterns  Service broker  Pipes & filters  Route  Trusted subsystems  Transformation  Functional decomposition  Service encapsulation  Service firewall  Protocol bridge  Master Data Management  Event Driven Architecture
  • 24.
    Santa Clara Summary  Identify the business requirements.  Map them to patterns.  Avoid P2P.  Think about the ROI.  Keep all stakeholders happy.  Optimize the usage of the application.  Apply SOA correctly, use it in a practical manner.
  • 25.