SlideShare a Scribd company logo
Wrap-Up Session

          Asanka Abeysinghe,
         Prabath Siriwardena,
                Ruwan Linton,
              Keith Chapman,
        Nandika Jayawardena,
           Milinda Pathirage.
Summer School
Summer School
Summer School
Summer School
Agenda
   SOA Enterprise Architecture Patterns
   Use-Case #1 – MDM & EDA
      Scalable SOA
   Use-Case #2 – Service Broker Pattern, Functional
    Decomposition, Secured Subsystems, Service
    Encapsulation,
      ESB and SOA
      Security in SOA
    Use-Case #3 – Aggregated Data Pattern and Logical
    Flows
      Marshups for SOA
      BPM and SOA
   Use-Case #4 – Shared Repository, Version
    Identification Pattern, Compatible Change Pattern
      SOA Governance
   Use-Case #5 – Adapters and High Performance
      C++ in SOA
   Summary
Patterns
A generic solution for a common recurring
problem.
        Used it before
        Error proof
        Catalog to pick one
        Feel comfortable
SOA Patterns
                                      SA Patterns
OO Patterns


                       EAA Patterns



  EAI Patterns                                  Other

                 OO - Object-Oriented
                 SA – Software Architecture
                 EAI – Ent. Application Integration
                 EAA – Ent. Application Architecture
SOA Infrastructure
Solution Building Roadmap

Requirements   Business PatternsIntegration Patterns



                       Application Patterns



                         Runtime Patterns


                         Product Mappings
USE-Case-1             (Business Scenario)

SOA infrastructure going to implement in an environment that
contains legacy systems and legacy databases that running for
a long time. Existing systems are error proof and the data is
valuable to make decisions.


                       Throw the old sys-
                         tems away.....
           Data ?
                                            NO SOA $$$$
USE-Case-1        (Pattern Mapping)


   MDM (Master Data Management)
    Pattern
   EDA (Event Driven Architecture)
USE-Case-1   (Implementation)




MDM
USE-Case-1   (Implementation) cont..




MDM
USE-Case-1   (Implementation) cont..




MDM
EDA
Scalable SOA
Web services clustering
   Different servers 
    providing the same 
    service
   Group communication 
    among the servers
   Shared resources for 
    the cluster
Motivation for Clustering
   Achieving high availability and scalability
   Enterprise Service Buses (ESB) 
       De­facto standard for integrating autonomous 
        entities
       Could become the bottleneck in the system
            High availability and high scalability critical
       Ability to cluster is an essential functionality for an 
        ESB in a SOA deployment
   Service hosting engines
       Needs to be able to plug into clusters
Scalability
   Ability to  
      Handle growing amounts of work in a 


       graceful manner
    Or 
      Be readily enlarged
Availability
   The degree to which a system, subsystem, or 
    equipment is 
      Operable and in a committable state at the 


       start of a mission
      When the mission is called for at an 


       unknown
A Computer Cluster is...
   A group of coupled computers that works 
    closely together
   As if they were a single computerh
State­full Session Aware Load 
               Balancing
●   Transport and SOAP session




                   Load Balancer
Fail­Over with LB




     Load Balancer
LB and FO Groups




    Load Balancer
Dynamic LB




Load Balancer
Dynamic LB (Cntd..)




   Load Balancer
USE-Case-2              (Business Scenario)


A system has connected a service client and a service in P2P.
System is running on production.
Backend Service development team decided to bring bunch of
changes to the backend service(s).
 Secure the backend service.

 Change the service contract.

 Bring multiple services instead of the single service.


                    Change
                    Again ?

                          Service Client/Frontend developers
                          PMs, Financial dept, HR Dept
USE-Case-2     (Pattern Mapping)


   Service Broker Pattern with ESB
   Pipes and Filters
       Transform
       Route
   Trusted Subsystems
   Functional Decomposition
   Service Encapsulation
USE-Case-2   (Implementation)




Pipes and filters
Route
Trusted subsystems
USE-Case-2     (Implementation) cont..




Pipes and filters                     Mediation
Route                                 DBLookup
Transform
USE-Case-2     (Implementation) cont..




Pipes and filters
Route
USE-Case-2             (Implementation) cont..




Pipes and filters
Route
Functional decomposition
Service encapsulation
ESB and SOA
A common ESB definition

“Any to any data connectivity and
 transformation (including Web Services)
 built on an advanced, proven, reliable
 middleware infrastructure”
SOA can end up as spaghetti




 • Too many point-to-point links
 • Multiple protocols, different qualities of service
 • No clear picture of all available services
An ESB can simplify SOA deployment




                         Virtualization
                         Perf Mgmt
                         •Load balance
                         •Throttle
                         Transport
                          matching
                         Access control
                         Message
                           transform
                         Logging and
                          auditability




                                          Integrated
                                           Registry/
                                          Repository
               Web-based console
The Concentrator Pattern


                    Mashup/Web Application
                         Dashboard


                      Concentrator ESB
     Consistent access, security, logging, audit, monitoring
                    But no transformation



   .NET         CRM           Apache
                                             C/C++          Data 
  service      service        Axis2 
                                             service       service
                              service
The Federated ESB pattern

                                      Department
                                         ESB


                 Enterprise ESB
                 Routing, Audit
    Department
       ESB


                                  Department
                                     ESB
Anti-Patterns

   Anti-Pattern #1
       Implement all your business logic in the ESB
       Why not?
           Mixing Infrastructure logic and Business Logic
           Maintainability
           Tooling and Skills
   Anti-Pattern #2
       Apply waterfall and application deployment
        approaches to the ESB
           Long project cycles
           No iterative approach
       Why not?
           Lose all flexibility and agility
           Once the ESB becomes a static, code-driven system
            then you would be better off updating your
            applications
Anti-Pattern #3

   “Big Brother”
       The ESB is hosted, managed and controlled by
        a central IT team
       Because of organizational issues using the ESB
        is complex:
           e.g.
                It takes months of meetings to get access
                The Central IT team is trying to recoup the investment and
                 internally charges $000/year to use the ESB
                The central IT deployment model holds up users
       Departments and divisions actually sneak
        behind the ESB
           Set up peer-to-peer communications
           Avoid the ESB at all costs
The biggest Anti-Pattern of all

   Use an ESB because:
       You heard it was a good idea
       The salesman told you that you need one (over a
        nice dinner)
       You need a new TLA on your resume/CV
       Its an excuse to spend several months learning
        and going to conferences
Security in SOA
The Concentrator Pattern

                  Mashup/Web Application
                       Dashboard


                    Concentrator ESB
   Consistent access, security, logging, audit, monitoring
                  But no transformation



 .NET         CRM           Apache
                                           C/C++          Data
service      service         Axis2
                                           service       service
                            service
SOA Summer School: Best of SOA Summer School – Encore Session
Provides a single entry point and allows
centralization of security enforcement for
incoming and outgoing messages.


Helps to apply transport-level and message-
level security mechanisms required for securely
communicating with a Web services endpoint.
Message Interceptor Gateway
Pattern
Authentication
              Module

        Authorization Mod-
            ule [PEP]

LDA
P
       Ser-     Ser-     Ser-
      vice A   vice B   vice C
Authentication
              Module

        Authorization Mod-
            ule [PEP]

LDA
P
       Ser-     Ser-     Ser-
                                 PDP
      vice A   vice B   vice C
Authentication
              Module

        Authorization Mod-
            ule [PEP]

LDA
P
       Ser-     Ser-     Ser-
                                   PDP
      vice A   vice B   vice C




                                 Policy
                                 Store
Authentication
              Module

        Authorization Mod-
            ule [PEP]

LDA
P
       Ser-     Ser-     Ser-
      vice A   vice B   vice C     PDP




                                 Policy
                                 Store
Authentication             PAP
              Module

        Authorization Mod-
            ule [PEP]

LDA
P
       Ser-     Ser-     Ser-
      vice A   vice B   vice C     PDP




                                 Policy
                                 Store
USE-Case-3             (Business Scenario)


ABC company got several development groups that use various
Time tracking applications developed on SOA to track the effort
putting for the tasks.
Accounts department needs various reports from these different
Systems as a single view.
Some reports go through a validation process through some
sub-systems and the management wants to monitor the process.
USE-Case-3       (Pattern Mapping)


   Aggregated Data Pattern
   Logical Flows
Mashups in SOA
What is a Mashup?


A mashup is a Web site that combines content data 
from more than one source to create a new user expe­
rience. 
SOA Summer School: Best of SOA Summer School – Encore Session
Mashup Characteristics

●   Situational application, consuming Web APIs
●   Characteristics
    ●   Lightweight
    ●   Customized
    ●   Aggregates data / Composes services
    ●   Often combines personal and public data
    ●   Recursive?
Metcalfe's law


Metcalfe's law states that the value of a 
telecommunications network is proportional to the 
square of the number of connected users of the sys­
tem (n2).
Metcalfe's law
Metcalfe's law Adjusted...
Importance of Mashups in a 
               SOA
●   Helps bridge users to your SOA
    ●   Emails
    ●   IM
    ●   Feeds
●   Create mock services
    ●   Helps create a prototypes quickly
●   Improves Agility
BPM in SOA
What is a business process?

• A process you need to run your business!
• Any well-defined interaction between
  systems and people, triggered by events,
  using logical decision points, and with
  clearly defined flows
Why business process matter?

• Enterprise applications and information
  systems have became fundamental assets
• Enterprise information systems can
  improve the efficiency of businesses
  through automation of business processes
• To stay competitive applications must
  quickly and efficiently adept to changing
  business needs
Business Process Management

•Defining, Executing, and Monitoring
Business Processes Typically long-running,
stateful processes
                   Model



      Innovate    BPM Execute

                  Monitor
How does BPM fit with SOA

•Business Process Management needs to
connect to ‘operations’
–When processing an order, connect to the billing
system and raise an invoice
–When handling a problem ticket, connect to the
ticket management system
–Etc
•These operations could be direct
connection in-memory, but much more
likely to be distributed
•A service oriented architecture provides
the best way to connect the BPM to the SOA
BPM and SOA

                     BPM

        Long running co­ordination state


                     SOA

         Stateless service interactions


        Applications, Databases, Legacy

          Persistent application state
How does BPM work?

•Model
–Create a visual map of your process
•Refine
–Convert that visual map into an executable
process
•Execute
–Run that process
•Monitor
–Use built-in capabilities of the BPM platform to
monitor the state of processes
Executable business processes

•There are many approaches to executable
business processes:
–XPDL
–BPML
–YAWL
–jBPM
–WS-BPEL 1.1
BPEL 2.0
The industry standard
WS-BPEL

• Orchestration language used to describe
  execution logic of Web services
  applications by defining their control flows
  and providing a way for partner services
  to share a common context
• With WS-BPEL, you build a business
  process by integrating a collection of Web
  services into a business process flow
Understanding the relationship
between BPMN and BPEL
•BPMN is like UML
–Useful, especially as a higher level modeling
approach
–Allows formal modeling of processes by a
business analyst
–BPMN diagrams cannot be executed
•BPMN 2.0 is looking to define a better path to execution
•BPEL is like Java
–Can be directly executed
–Can be visualized using a graphical editor
–Can be created using BPMN as a guide
(refinement)
–
BPEL4People model
Monitoring Processes

•A key benefit of BPM
•Can range from:
–Simple stats on processes
–Inspect individual instances
–View overall flows across a process map
–Building custom business reports on specific
measures
•E.g. Sales / hour over the last week
USE-Case-4              (Business Scenario)


SOA development team needs to keep the metadata in a central
Place, manage them version them and get ready for the changes.
Same time looking to limit access to specific metadata sets.
USE-Case-4         (Pattern Mapping)


   Shared repository
   Version identification
   Compatible change
SOA Governance
Governance
Categorize 


Metadata             Control




           Monitor
Implementation
   Identify the SOA architecture
   Identify the governance team
   Pick a framework, product
   Iterative process
       Data entry, configuration, (approach)
   Dry run
   Live run
   Govern your SOA infrastructure
USE-Case-5                  (Business Scenario)

A C/C++ Development team wants to implement SOA application, they 
Will be reusing some existing Java and .Net backend services. 
They are more keen about the re­usability of services and performance.
USE-Case-5   (Pattern Mapping)


   Adapters
C++ in SOA
Why use C++
●   C++ is still widely used in the industry
    due to
     ● Performance advantage of the native


       code
     ● Flexibility available from object


       oriented language
     ● Tight control over memory and CPU
Typical applications that use 
                 C++
●   Applications which require high
    performance and the ability to handle
    large volumes of data
    ●   Financial Market Applications
    ●   Large E-Commerce applications
    ●   Banking Applications
    ●   Telecommunication Systems
    ●   Data Base Systems
●   Applications which require tight control
    over memory and CPU
    ●   Operating Systems (C/C++)
    ●   Embedded Systems
A Use­Case
●   A legacy C++ system which has been
    performing useful work for a long time.
    This has remained isolated while all other
    systems in the organization evolved and
    connected together.
●   Need to integrate this system with other
    applications to use its functionality in a
    broader perspective.
●   Options
    ●   Rewrite the system ( Costly )
    ●   Integrate using EAI
    ●   Integrate using a native Web Services Stack
A Use­Case


                                                                     SAP
                               .N E T


Legacy 
System             S e c u r e ,   R e lia b le ,   B in a r y  
           J2EE
                            W e b  S e r v ic e s



                                                                   C IC S
                  Java
How to adapt a C++ Application 
       as Web Services
Native Web Services Stack
●   What would you look from a native web
    services stack ?
    ●   Support for Basic Web Services Standards
    ●   Tooling for WSDL
    ●   Portability
    ●   Performance / Low memory foot print
    ●   Security
    ●   Ability to handle binary data
    ●   Interoperability
    ●   Asynchronous communication
Portability
●   My legacy application is running on
    platform 'X'. Does your Web Service
    stack run on it ?
●   It can boil down to multitude of issues
    ●   Differences in operating system versions
    ●   Differences in build tool versions, compiler
        versions
    ●   Dependency problems
Performance
●   Performance is a broad area. Usually
    Performance means response time. In
    another way, how many requests can
    the server handle per second
●   However, performance depends on the
    system's hardware as well as load on
    the system
●   Does the performance stay constant or
    does it degrade over time
●   How does the performance vary with
    the size of the messages, load of the
    system
Low Memory Foot Print
●   Some servers take large amount of
    memory just to start up
●   How much memory does it require to
    run efficiently ( Important in embedded
    systems)
●   Does the memory usage stay constant
    while handling large xml messages,
    large binary content
Student Lab
(Practical Sessions)
Student Lab
Student Lab
Contacts
   Corporate web site: http://wso2.com


   Developer portal: http://wso2.org


   Business development team: bizdev@wso2.com
Q&A

More Related Content

PDF
How to Choose A SOA Gateway from Layer 7
PDF
ESB and SOA
PPTX
CloudStack Collaboration Conference 12; Refactoring cloud stack
PPTX
Showbox 2 2012
PDF
Layer 7 and Oracle -
PPTX
Configuring and deploying a private cloud with system center 2012
PPT
Enterprise service bus(esb)
PPT
Introduction to Enterprise Service Bus
How to Choose A SOA Gateway from Layer 7
ESB and SOA
CloudStack Collaboration Conference 12; Refactoring cloud stack
Showbox 2 2012
Layer 7 and Oracle -
Configuring and deploying a private cloud with system center 2012
Enterprise service bus(esb)
Introduction to Enterprise Service Bus

What's hot (20)

PPTX
Scug nov system center day
PDF
Implementing Process Controls and Risk Management with Novell Compliance Mana...
PPTX
PDF
Plm flex assist v1.4
PDF
Amdatu - ApacheCon NA 2011
PDF
Anish Karmakar S C A
PPT
ESB Concepts
PDF
Layer 7 & Oracle: Cyber Defense for SOA & REST
PPTX
Overview of ESB at Azilen Tech Meetup
PDF
20120620 moving to windows azure
PPTX
Tracking SLAs In Cloud
PPTX
Sakeesoft
PDF
Systems Resource Management with NetIQ AppManager
PDF
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
PPTX
Applications at Scale
PDF
CA Nimsoft xen desktop monitoring
PPT
SOA - Creating True Business Agility
PPTX
ESB What it is?
PPTX
Where and when to use the Oracle Service Bus (OSB)
PDF
What's New in WebSphere Application Server
Scug nov system center day
Implementing Process Controls and Risk Management with Novell Compliance Mana...
Plm flex assist v1.4
Amdatu - ApacheCon NA 2011
Anish Karmakar S C A
ESB Concepts
Layer 7 & Oracle: Cyber Defense for SOA & REST
Overview of ESB at Azilen Tech Meetup
20120620 moving to windows azure
Tracking SLAs In Cloud
Sakeesoft
Systems Resource Management with NetIQ AppManager
S-CUBE LP: Service Level Agreement based Service infrastructures in the conte...
Applications at Scale
CA Nimsoft xen desktop monitoring
SOA - Creating True Business Agility
ESB What it is?
Where and when to use the Oracle Service Bus (OSB)
What's New in WebSphere Application Server
Ad

Similar to SOA Summer School: Best of SOA Summer School – Encore Session (20)

PDF
10 - Architetture Software - More architectural styles
PDF
Summer School Soa EAP Asanka 18 Jun
PDF
SOA Solution Patterns
PPTX
The Intricacies Of Enterprise Integration Soa Vs Esb
PDF
Tactics Esb Implementation
PDF
Spagic3 Presentation En
PDF
Keynote-Service Orientation – Why is it good for your business
PDF
M3 Modernization Case Study
PPTX
BAM CEP / Business Activity Monitoring , Complex Event Processingomplex
PDF
Building enterprise depth APIs with the IBM hybrid integration portfolio
PPT
Ss Esb
PPT
Ss Esb
PDF
WSO2 ESB and SOA
PPTX
Introduction To Cloud Computing
PPTX
Donny - EAI
PDF
Spagic3 Presentation En
PDF
Understanding the WSO2 Platform and Technology
PPT
Managing Software from Development to Deployment in the Cloud
PDF
Competitive Analysis w SWOT Matrix
PDF
21st Century Service Oriented Architecture
10 - Architetture Software - More architectural styles
Summer School Soa EAP Asanka 18 Jun
SOA Solution Patterns
The Intricacies Of Enterprise Integration Soa Vs Esb
Tactics Esb Implementation
Spagic3 Presentation En
Keynote-Service Orientation – Why is it good for your business
M3 Modernization Case Study
BAM CEP / Business Activity Monitoring , Complex Event Processingomplex
Building enterprise depth APIs with the IBM hybrid integration portfolio
Ss Esb
Ss Esb
WSO2 ESB and SOA
Introduction To Cloud Computing
Donny - EAI
Spagic3 Presentation En
Understanding the WSO2 Platform and Technology
Managing Software from Development to Deployment in the Cloud
Competitive Analysis w SWOT Matrix
21st Century Service Oriented Architecture
Ad

More from WSO2 (20)

PDF
Demystifying CMS-0057-F - Compliance Made Seamless with WSO2
PDF
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
PDF
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
PDF
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
PDF
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
PDF
Platformless Modernization with Choreo.pdf
PDF
Application Modernization with Choreo for the BFSI Sector
PDF
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
PDF
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
PPTX
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
PPTX
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
PPTX
WSO2Con 2025 - Building Secure Customer Experience Apps
PPTX
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
PPTX
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
PPTX
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
PPTX
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
PPTX
WSO2Con 2025 - Architecting Cloud-Native Applications
PDF
Mastering Intelligent Digital Experiences with Platformless Modernization
PDF
Accelerate Enterprise Software Engineering with Platformless
PDF
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
Demystifying CMS-0057-F - Compliance Made Seamless with WSO2
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Platformless Modernization with Choreo.pdf
Application Modernization with Choreo for the BFSI Sector
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - Architecting Cloud-Native Applications
Mastering Intelligent Digital Experiences with Platformless Modernization
Accelerate Enterprise Software Engineering with Platformless
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation

Recently uploaded (20)

PPTX
Cell Types and Its function , kingdom of life
PDF
Complications of Minimal Access Surgery at WLH
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
RMMM.pdf make it easy to upload and study
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Microbial diseases, their pathogenesis and prophylaxis
Cell Types and Its function , kingdom of life
Complications of Minimal Access Surgery at WLH
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Renaissance Architecture: A Journey from Faith to Humanism
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Basic Mud Logging Guide for educational purpose
RMMM.pdf make it easy to upload and study
Final Presentation General Medicine 03-08-2024.pptx
O5-L3 Freight Transport Ops (International) V1.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
102 student loan defaulters named and shamed – Is someone you know on the list?
VCE English Exam - Section C Student Revision Booklet
2.FourierTransform-ShortQuestionswithAnswers.pdf
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Microbial diseases, their pathogenesis and prophylaxis

SOA Summer School: Best of SOA Summer School – Encore Session

  • 1. Wrap-Up Session Asanka Abeysinghe, Prabath Siriwardena, Ruwan Linton, Keith Chapman, Nandika Jayawardena, Milinda Pathirage.
  • 6. Agenda  SOA Enterprise Architecture Patterns  Use-Case #1 – MDM & EDA  Scalable SOA  Use-Case #2 – Service Broker Pattern, Functional Decomposition, Secured Subsystems, Service Encapsulation,  ESB and SOA  Security in SOA  Use-Case #3 – Aggregated Data Pattern and Logical Flows  Marshups for SOA  BPM and SOA  Use-Case #4 – Shared Repository, Version Identification Pattern, Compatible Change Pattern  SOA Governance  Use-Case #5 – Adapters and High Performance  C++ in SOA  Summary
  • 7. Patterns A generic solution for a common recurring problem.  Used it before  Error proof  Catalog to pick one  Feel comfortable
  • 8. SOA Patterns SA Patterns OO Patterns EAA Patterns EAI Patterns Other OO - Object-Oriented SA – Software Architecture EAI – Ent. Application Integration EAA – Ent. Application Architecture
  • 10. Solution Building Roadmap Requirements Business PatternsIntegration Patterns Application Patterns Runtime Patterns Product Mappings
  • 11. USE-Case-1 (Business Scenario) SOA infrastructure going to implement in an environment that contains legacy systems and legacy databases that running for a long time. Existing systems are error proof and the data is valuable to make decisions. Throw the old sys- tems away..... Data ? NO SOA $$$$
  • 12. USE-Case-1 (Pattern Mapping)  MDM (Master Data Management) Pattern  EDA (Event Driven Architecture)
  • 13. USE-Case-1 (Implementation) MDM
  • 14. USE-Case-1 (Implementation) cont.. MDM
  • 15. USE-Case-1 (Implementation) cont.. MDM EDA
  • 17. Web services clustering  Different servers  providing the same  service  Group communication  among the servers  Shared resources for  the cluster
  • 18. Motivation for Clustering  Achieving high availability and scalability  Enterprise Service Buses (ESB)   De­facto standard for integrating autonomous  entities  Could become the bottleneck in the system  High availability and high scalability critical  Ability to cluster is an essential functionality for an  ESB in a SOA deployment  Service hosting engines  Needs to be able to plug into clusters
  • 19. Scalability  Ability to    Handle growing amounts of work in a  graceful manner Or   Be readily enlarged
  • 20. Availability  The degree to which a system, subsystem, or  equipment is   Operable and in a committable state at the  start of a mission  When the mission is called for at an  unknown
  • 21. A Computer Cluster is...  A group of coupled computers that works  closely together  As if they were a single computerh
  • 22. State­full Session Aware Load  Balancing ● Transport and SOAP session Load Balancer
  • 23. Fail­Over with LB Load Balancer
  • 24. LB and FO Groups Load Balancer
  • 26. Dynamic LB (Cntd..) Load Balancer
  • 27. USE-Case-2 (Business Scenario) A system has connected a service client and a service in P2P. System is running on production. Backend Service development team decided to bring bunch of changes to the backend service(s).  Secure the backend service.  Change the service contract.  Bring multiple services instead of the single service. Change Again ? Service Client/Frontend developers PMs, Financial dept, HR Dept
  • 28. USE-Case-2 (Pattern Mapping)  Service Broker Pattern with ESB  Pipes and Filters  Transform  Route  Trusted Subsystems  Functional Decomposition  Service Encapsulation
  • 29. USE-Case-2 (Implementation) Pipes and filters Route Trusted subsystems
  • 30. USE-Case-2 (Implementation) cont.. Pipes and filters Mediation Route DBLookup Transform
  • 31. USE-Case-2 (Implementation) cont.. Pipes and filters Route
  • 32. USE-Case-2 (Implementation) cont.. Pipes and filters Route Functional decomposition Service encapsulation
  • 34. A common ESB definition “Any to any data connectivity and transformation (including Web Services) built on an advanced, proven, reliable middleware infrastructure”
  • 35. SOA can end up as spaghetti • Too many point-to-point links • Multiple protocols, different qualities of service • No clear picture of all available services
  • 36. An ESB can simplify SOA deployment Virtualization Perf Mgmt •Load balance •Throttle Transport matching Access control Message transform Logging and auditability Integrated Registry/ Repository Web-based console
  • 37. The Concentrator Pattern Mashup/Web Application Dashboard Concentrator ESB Consistent access, security, logging, audit, monitoring But no transformation .NET  CRM Apache C/C++ Data  service service Axis2  service service service
  • 38. The Federated ESB pattern Department ESB Enterprise ESB Routing, Audit Department ESB Department ESB
  • 39. Anti-Patterns  Anti-Pattern #1  Implement all your business logic in the ESB  Why not?  Mixing Infrastructure logic and Business Logic  Maintainability  Tooling and Skills  Anti-Pattern #2  Apply waterfall and application deployment approaches to the ESB  Long project cycles  No iterative approach  Why not?  Lose all flexibility and agility  Once the ESB becomes a static, code-driven system then you would be better off updating your applications
  • 40. Anti-Pattern #3  “Big Brother”  The ESB is hosted, managed and controlled by a central IT team  Because of organizational issues using the ESB is complex:  e.g.  It takes months of meetings to get access  The Central IT team is trying to recoup the investment and internally charges $000/year to use the ESB  The central IT deployment model holds up users  Departments and divisions actually sneak behind the ESB  Set up peer-to-peer communications  Avoid the ESB at all costs
  • 41. The biggest Anti-Pattern of all  Use an ESB because:  You heard it was a good idea  The salesman told you that you need one (over a nice dinner)  You need a new TLA on your resume/CV  Its an excuse to spend several months learning and going to conferences
  • 43. The Concentrator Pattern Mashup/Web Application Dashboard Concentrator ESB Consistent access, security, logging, audit, monitoring But no transformation .NET CRM Apache C/C++ Data service service Axis2 service service service
  • 45. Provides a single entry point and allows centralization of security enforcement for incoming and outgoing messages. Helps to apply transport-level and message- level security mechanisms required for securely communicating with a Web services endpoint.
  • 47. Authentication Module Authorization Mod- ule [PEP] LDA P Ser- Ser- Ser- vice A vice B vice C
  • 48. Authentication Module Authorization Mod- ule [PEP] LDA P Ser- Ser- Ser- PDP vice A vice B vice C
  • 49. Authentication Module Authorization Mod- ule [PEP] LDA P Ser- Ser- Ser- PDP vice A vice B vice C Policy Store
  • 50. Authentication Module Authorization Mod- ule [PEP] LDA P Ser- Ser- Ser- vice A vice B vice C PDP Policy Store
  • 51. Authentication PAP Module Authorization Mod- ule [PEP] LDA P Ser- Ser- Ser- vice A vice B vice C PDP Policy Store
  • 52. USE-Case-3 (Business Scenario) ABC company got several development groups that use various Time tracking applications developed on SOA to track the effort putting for the tasks. Accounts department needs various reports from these different Systems as a single view. Some reports go through a validation process through some sub-systems and the management wants to monitor the process.
  • 53. USE-Case-3 (Pattern Mapping)  Aggregated Data Pattern  Logical Flows
  • 57. Mashup Characteristics ● Situational application, consuming Web APIs ● Characteristics ● Lightweight ● Customized ● Aggregates data / Composes services ● Often combines personal and public data ● Recursive?
  • 61. Importance of Mashups in a  SOA ● Helps bridge users to your SOA ● Emails ● IM ● Feeds ● Create mock services ● Helps create a prototypes quickly ● Improves Agility
  • 63. What is a business process? • A process you need to run your business! • Any well-defined interaction between systems and people, triggered by events, using logical decision points, and with clearly defined flows
  • 64. Why business process matter? • Enterprise applications and information systems have became fundamental assets • Enterprise information systems can improve the efficiency of businesses through automation of business processes • To stay competitive applications must quickly and efficiently adept to changing business needs
  • 65. Business Process Management •Defining, Executing, and Monitoring Business Processes Typically long-running, stateful processes Model Innovate BPM Execute Monitor
  • 66. How does BPM fit with SOA •Business Process Management needs to connect to ‘operations’ –When processing an order, connect to the billing system and raise an invoice –When handling a problem ticket, connect to the ticket management system –Etc •These operations could be direct connection in-memory, but much more likely to be distributed •A service oriented architecture provides the best way to connect the BPM to the SOA
  • 67. BPM and SOA BPM Long running co­ordination state SOA Stateless service interactions Applications, Databases, Legacy Persistent application state
  • 68. How does BPM work? •Model –Create a visual map of your process •Refine –Convert that visual map into an executable process •Execute –Run that process •Monitor –Use built-in capabilities of the BPM platform to monitor the state of processes
  • 69. Executable business processes •There are many approaches to executable business processes: –XPDL –BPML –YAWL –jBPM –WS-BPEL 1.1 BPEL 2.0 The industry standard
  • 70. WS-BPEL • Orchestration language used to describe execution logic of Web services applications by defining their control flows and providing a way for partner services to share a common context • With WS-BPEL, you build a business process by integrating a collection of Web services into a business process flow
  • 71. Understanding the relationship between BPMN and BPEL •BPMN is like UML –Useful, especially as a higher level modeling approach –Allows formal modeling of processes by a business analyst –BPMN diagrams cannot be executed •BPMN 2.0 is looking to define a better path to execution •BPEL is like Java –Can be directly executed –Can be visualized using a graphical editor –Can be created using BPMN as a guide (refinement) –
  • 73. Monitoring Processes •A key benefit of BPM •Can range from: –Simple stats on processes –Inspect individual instances –View overall flows across a process map –Building custom business reports on specific measures •E.g. Sales / hour over the last week
  • 74. USE-Case-4 (Business Scenario) SOA development team needs to keep the metadata in a central Place, manage them version them and get ready for the changes. Same time looking to limit access to specific metadata sets.
  • 75. USE-Case-4 (Pattern Mapping)  Shared repository  Version identification  Compatible change
  • 78. Categorize  Metadata Control Monitor
  • 79. Implementation  Identify the SOA architecture  Identify the governance team  Pick a framework, product  Iterative process  Data entry, configuration, (approach)  Dry run  Live run  Govern your SOA infrastructure
  • 80. USE-Case-5 (Business Scenario) A C/C++ Development team wants to implement SOA application, they  Will be reusing some existing Java and .Net backend services.  They are more keen about the re­usability of services and performance.
  • 81. USE-Case-5 (Pattern Mapping)  Adapters
  • 83. Why use C++ ● C++ is still widely used in the industry due to ● Performance advantage of the native code ● Flexibility available from object oriented language ● Tight control over memory and CPU
  • 84. Typical applications that use  C++ ● Applications which require high performance and the ability to handle large volumes of data ● Financial Market Applications ● Large E-Commerce applications ● Banking Applications ● Telecommunication Systems ● Data Base Systems ● Applications which require tight control over memory and CPU ● Operating Systems (C/C++) ● Embedded Systems
  • 85. A Use­Case ● A legacy C++ system which has been performing useful work for a long time. This has remained isolated while all other systems in the organization evolved and connected together. ● Need to integrate this system with other applications to use its functionality in a broader perspective. ● Options ● Rewrite the system ( Costly ) ● Integrate using EAI ● Integrate using a native Web Services Stack
  • 86. A Use­Case SAP .N E T Legacy  System S e c u r e ,   R e lia b le ,   B in a r y   J2EE W e b  S e r v ic e s C IC S Java
  • 88. Native Web Services Stack ● What would you look from a native web services stack ? ● Support for Basic Web Services Standards ● Tooling for WSDL ● Portability ● Performance / Low memory foot print ● Security ● Ability to handle binary data ● Interoperability ● Asynchronous communication
  • 89. Portability ● My legacy application is running on platform 'X'. Does your Web Service stack run on it ? ● It can boil down to multitude of issues ● Differences in operating system versions ● Differences in build tool versions, compiler versions ● Dependency problems
  • 90. Performance ● Performance is a broad area. Usually Performance means response time. In another way, how many requests can the server handle per second ● However, performance depends on the system's hardware as well as load on the system ● Does the performance stay constant or does it degrade over time ● How does the performance vary with the size of the messages, load of the system
  • 91. Low Memory Foot Print ● Some servers take large amount of memory just to start up ● How much memory does it require to run efficiently ( Important in embedded systems) ● Does the memory usage stay constant while handling large xml messages, large binary content
  • 95. Contacts  Corporate web site: http://wso2.com  Developer portal: http://wso2.org  Business development team: bizdev@wso2.com
  • 96. Q&A