SOA Overview and Layered Model Byungwook Cho K. 2006-05-25
Agenda What is SOA? What is Service? Service Type SOA Layered Model SOA Elements SOA platform Technical things we need to support SOA Reference
1. What is SOA? Software architecture history Structured programming / SSADM (C/Pascal) Object Oriented Programming / OOADM & CBD (C++/Java) + coarse grained , loosely coupled, platform independency, standard interface =  Service Oriented Architecture
1. What is SOA? SOA is “Legoware”. SOA is an architecture that a software system is divide into high flexible and re-usable component unit called service and compose with interconnection of these services.  The general concept of service in SOA is that service is a major unit of software component with business sense. These services have low dependency and each can be implemented without platform dependency while the interfaces that the service provides must be standardized  .
1. What is SOA? Conceptual view of SOA G H I J K L Software Component System (Platform) .NET CRM JAVA KMS Services Business Process A B C D E F Application Frontend Web Client, Rich Client, Enterprise Portal etc
1. What is SOA? SOA Definition BD : A SOA provides the flexibility to treat elements of business processes and the underlying IT infrastructure as secure,standardized components(services) that can be reused and combined to address changing business priorities. – IBM Resource is application or resources built on IT systems. SOA is a software architecture that integrate the resources to maximized reusability and flexibility of composition. SOA is Not a technical standard Not a technology Just architecture blue print
1. What is SOA? Contemporary SOA WebService BPM G H I J K L Services Business Process A B C D E F WebService BPM
2. What is Service? Service is  component of distinctive functional meaning that typically encapsulate a high-level business concept Lego block Service contains Contract – message type def, constraint, description (comment) Interface – set of operations Implementation – Logic and data
2. What is Service? Conceptual structure of service NOTE: Every service is an entity of distinctive functional meaning that typically encapsulates a high-level business entity. Services impose a strong  vertical slicing  of application that defines the coarse-grained structure of the whole system.
2. What is Service? Service is Lego block. Building Block Has standard based interface Loosely coupled Platform independent Composable Discoverable Vertical slicing
3. Service Type 5 main type of service Application Service Business Service Intermediary Service Process Centric Service Public Enterprise Service
3. Service Type Application Service Provide technology-specific functionality.  It does not have business meaning Wrapper service Expose legacy functionality to service requestor. Service adapter from legacy vendor Example) Tuxedo Services, SAP RPC Utility Service Can be used by P2P integration. Can be custom developed or 3 rd  party services Can be avoided in perfect SOA world  Example) System Notification Service,Load Balancing Service, Transaction management Service etc.
3. Service Type Business Service Business meaning + compose application service Composable unit    SOA is accomplished by orchestartion of Business Service Hybrid service    service contains business process (orchestration) and application logic
3. Service Type Business Service Task centric service Has business algorithm or logic Similar to logic layer in traditional application. Eg. Session Bean Example) Booking Service etc Data centric service (Entity centric service) Only update and query data Easy to reuse Similar to data access layer in traditional application. Eg. Entity Beans in EJB Example) Employee Service, Vendor Profile Service, Purchase Order Service
3.  Service Type Intermediary Service Stateless service that bridge design gap or conceptual gap in an architecture Transformer service (Adapter Service) Routing service Function adding service Façade service
3. Service Type Intermediary Service Transformation Service Service A New Service Message type mismatch New Service Intermediary  Service Transformation Personal = SEX + “:”+ AGE AGE SEX ADDR NAME PERSONAL INFO ADDR NAME AGE SEX ADDR NAME PERSONAL INFO ADDR NAME
3. Service Type Intermediary Service Routing Service Service B Customer Service Service B Customer Service * Before change VIP Service * After new service “VIP Service” added, We have to add control logic to service consumer “Service B” If there are a lot of service consumer of “Customer Service” We have to change a lot of things..!! Intermediary Service Customer Service VIP Service Service B If balance > 10m$ then goto VIP Service * If we just add “Intermediary Service”, we don’t have to fix consumer Service B. Intermediary service will route service request to appropriate client by routing rule.
3. Service Type Process  centric service Orchestrate business services Implement business process (flow) Process centric service are stateful  Public enterprise service Service interface for B2B Will be Business service in service consumer side.
3. Service Type SOA service stack Application Service Data centric Business Service Task centric Business Service Intermediary Service Process centric Service Public enterprise service Software components (Used for Business Service & Intermediary Service)  Application Frontend T T T D D D D D A A A I I I P B B D Web Client, Rich Client, Enterprise Portal etc
3. Service Type Service Type Summary It needs when new service or new service connection is made  Most Important Service * Hybrid svc Note Export business logic to other enterprise or organization Encapsulate business process and orchestrate other services Bride the gap from concept or design  Contains business logic and data. Express technology-specific functionality Description No No No Yes No Mandatory in SOA Reusability State mgmt Sub category High Very Low Low High ?? No Yes No No No Process centric Façade ,Function Adding,Routing,Transforming Task centric  ,Entity centric Wrapper svc Utility svc Public Enterprise Service Process centric Service Intermediary Service Business Service Application Service
3.  Service Type  (optional *) How can I define services? Task centric business services    from business process Data centric business services    from Entity relationship diagram Process centric service    each business process is process centric service Intermediary service    Adding new service or re-implement Application services    In design or implementation phase The most important factor in SOA is finding business service and define scope of it… !!
4. SOA Layed Model SOA Layered Model Fundamental SOA Networked SOA Process enabled SOA Other layered model
4. SOA Layered Model Fundamental SOA T T T D D D D D A A A Application Service Data centric Business Service Task centric Business Service B T Software components (Used for Business Service & Intermediary Service)  Web Client, Rich Client, Enterprise Portal etc Application Frontend
4. SOA Layered Model Fundamental SOA Easy to implement. Good starting point for SOA Integration only Consists of only Application Service & Business Service Complex Application Frontends Business process control is in Frontends
4. SOA Layered Model Networked SOA T T T D D D D D A A A I I I Application Service Data centric Business Service Task centric Business Service Intermediary Service B T Software components (Used for Business Service & Intermediary Service)  Web Client, Rich Client, Enterprise Portal etc Application Frontend
4. SOA Layered Model Networked SOA Fundamental SOA +  Intermediary Service  = enable  Flexibility   Reduce complexity of frontends Business control still reside in application frontend
4. SOA Layered Model Process enabled SOA T T T D D D D D A A A I I I P Application Service Data centric Business Service Task centric Business Service Intermediary Service B T Process centric Service Software components (Used for Business Service & Intermediary Service)  Web Client, Rich Client, Enterprise Portal etc Application Frontend
4. SOA Layered Model Process Enabled SOA Networked SOA +  Business Process  (BPM) = enable  Agility When it has complex business flow Implements business control
4. SOA Layered Model SOA Maturity Level
4. SOA Layered Model SOA introduction plan Define integration scope Select SOA level depends on budget,skill,required agility. CF. 6 Domain architecture from BEA Service maturity level Based on the required scope of business integration Intra-department~Cross department : Fundamental SOA Cross-department~Cross Business unit : Networked SOA Simple B2B~Complex Business integration : Process enabled SOA
4. SOA Layered Model Other Layered Model Task centric service Task centric service + Data centric service Process centric service + Hybrid service Process centric service + Task centric service  Process centric service + Data centric service  Process centric service + Task centric service + Data centric service
5. SOA Elements SOA is based on 3 major elements Service Service Repository Application Frontend optionally  ESB
5. SOA Elements Application frontend Active player of an SOA Service consumer Initiate and control all activity of enterprise system
5. SOA Elements Service Message format  Input message, output message Data type Message exchange pattern
5. SOA Elements Service repository Service repository is “provides facilities to discover services and acquire all information to user the service “ Service repository is indispensable in long term It contains In addition to service contract : location,provider,contact ,usage fee,technical constraints,security issues and availble service level SVC Info,ACL,SLA,Transactional properties of SVC & operation (CRUD) In cross enterprise : security,user registration, service subscription,billing and versioning
6. SOA Platform Revise SOA stack T T T D D D D D A A A I I I P Application Service Data centric Business Service Task centric Business Service Intermediary Service B T Process centric Service Software components Web Client, Rich Client, Enterprise Portal etc Application Frontend
6. SOA Platform BEA SOA Platform I way adapter WS-WLW WS-WLS  ant task AquaLogic Data Service Platform  WebLogic Integration AquaLogic Service Bus (ESB) Aqua Logic BPM Suite (BPA+BPM+BAM) Weblogic Portal AquaLogic User Interaction AquaLogic Service Registry Subprocess (BPM) Application Service Data centric Business Service Task centric Business Service Intermediary Service Process centric Service Application Frontend Make service it self Data store Legacy System AquaLogic Enterprise Security
6. SOA Platform Request Loan Approve Loan AquaLogic  BPM Suite WebLogic Integration Backend Systems Human-centric process integration Leverage reusable services System-centric process integration Build reusable services that solve complex integration problems LOB CENTRIC  IT CENTRIC AquaLogic Service Bus Service Infrastructure Approver System System Customer
6. SOA Platform – AL BPM Life Cycle Process Modeling, Simulation  and Documentation Process Management and Real-Time BAM Historical & Trend Analysis Tools Business Owners HiPer Workspace Process Participants Process Server and  Monitoring Repository AquaLogic BPM Enterprise Server Business Systems CRM DB ERP Business Analysts Use Cases 1.0 Get the stuff 2.0 Build the picture 3.0 BAM Consoles Requirements 1.1 Process Diagram 2.1 Launch screen 3.1 Monitoring screen Process Analyst  Process Development and Systems Integration BPA BAM BPM Start
6. SOA Platform WebService Technical Stack JAXP  JAX-RPC SAAJ XML Parser SOAP Protocol Handling SOAP With Attachment WebService JAXR UDDI UDDI Interface
7. Technical things we need to support SOA Services XML Skills   name space ,XSD ,XML XML Apis    JAXP,JAX-RPC,JAAS,JAXR WS Standard    SOAP, WSDL WS*    WS-Reliable Messaging,WS-Security CF. WS I Basic Profile ESB (ALSB) Additionally    Xquery, Xpath
8. Reference Enterprise SOA Best Practice – Dirk Krafzig,Karl Banke,Dirk Slama Good book to run contemporary SOA whole concept Service Oriented Architecture – Concepts,Technology, and Design by Thomas Erl Good for SOA Analysis and design
Questions?

Soa Overview

  • 1.
    SOA Overview andLayered Model Byungwook Cho K. 2006-05-25
  • 2.
    Agenda What isSOA? What is Service? Service Type SOA Layered Model SOA Elements SOA platform Technical things we need to support SOA Reference
  • 3.
    1. What isSOA? Software architecture history Structured programming / SSADM (C/Pascal) Object Oriented Programming / OOADM & CBD (C++/Java) + coarse grained , loosely coupled, platform independency, standard interface = Service Oriented Architecture
  • 4.
    1. What isSOA? SOA is “Legoware”. SOA is an architecture that a software system is divide into high flexible and re-usable component unit called service and compose with interconnection of these services. The general concept of service in SOA is that service is a major unit of software component with business sense. These services have low dependency and each can be implemented without platform dependency while the interfaces that the service provides must be standardized .
  • 5.
    1. What isSOA? Conceptual view of SOA G H I J K L Software Component System (Platform) .NET CRM JAVA KMS Services Business Process A B C D E F Application Frontend Web Client, Rich Client, Enterprise Portal etc
  • 6.
    1. What isSOA? SOA Definition BD : A SOA provides the flexibility to treat elements of business processes and the underlying IT infrastructure as secure,standardized components(services) that can be reused and combined to address changing business priorities. – IBM Resource is application or resources built on IT systems. SOA is a software architecture that integrate the resources to maximized reusability and flexibility of composition. SOA is Not a technical standard Not a technology Just architecture blue print
  • 7.
    1. What isSOA? Contemporary SOA WebService BPM G H I J K L Services Business Process A B C D E F WebService BPM
  • 8.
    2. What isService? Service is component of distinctive functional meaning that typically encapsulate a high-level business concept Lego block Service contains Contract – message type def, constraint, description (comment) Interface – set of operations Implementation – Logic and data
  • 9.
    2. What isService? Conceptual structure of service NOTE: Every service is an entity of distinctive functional meaning that typically encapsulates a high-level business entity. Services impose a strong vertical slicing of application that defines the coarse-grained structure of the whole system.
  • 10.
    2. What isService? Service is Lego block. Building Block Has standard based interface Loosely coupled Platform independent Composable Discoverable Vertical slicing
  • 11.
    3. Service Type5 main type of service Application Service Business Service Intermediary Service Process Centric Service Public Enterprise Service
  • 12.
    3. Service TypeApplication Service Provide technology-specific functionality. It does not have business meaning Wrapper service Expose legacy functionality to service requestor. Service adapter from legacy vendor Example) Tuxedo Services, SAP RPC Utility Service Can be used by P2P integration. Can be custom developed or 3 rd party services Can be avoided in perfect SOA world Example) System Notification Service,Load Balancing Service, Transaction management Service etc.
  • 13.
    3. Service TypeBusiness Service Business meaning + compose application service Composable unit  SOA is accomplished by orchestartion of Business Service Hybrid service  service contains business process (orchestration) and application logic
  • 14.
    3. Service TypeBusiness Service Task centric service Has business algorithm or logic Similar to logic layer in traditional application. Eg. Session Bean Example) Booking Service etc Data centric service (Entity centric service) Only update and query data Easy to reuse Similar to data access layer in traditional application. Eg. Entity Beans in EJB Example) Employee Service, Vendor Profile Service, Purchase Order Service
  • 15.
    3. ServiceType Intermediary Service Stateless service that bridge design gap or conceptual gap in an architecture Transformer service (Adapter Service) Routing service Function adding service Façade service
  • 16.
    3. Service TypeIntermediary Service Transformation Service Service A New Service Message type mismatch New Service Intermediary Service Transformation Personal = SEX + “:”+ AGE AGE SEX ADDR NAME PERSONAL INFO ADDR NAME AGE SEX ADDR NAME PERSONAL INFO ADDR NAME
  • 17.
    3. Service TypeIntermediary Service Routing Service Service B Customer Service Service B Customer Service * Before change VIP Service * After new service “VIP Service” added, We have to add control logic to service consumer “Service B” If there are a lot of service consumer of “Customer Service” We have to change a lot of things..!! Intermediary Service Customer Service VIP Service Service B If balance > 10m$ then goto VIP Service * If we just add “Intermediary Service”, we don’t have to fix consumer Service B. Intermediary service will route service request to appropriate client by routing rule.
  • 18.
    3. Service TypeProcess centric service Orchestrate business services Implement business process (flow) Process centric service are stateful Public enterprise service Service interface for B2B Will be Business service in service consumer side.
  • 19.
    3. Service TypeSOA service stack Application Service Data centric Business Service Task centric Business Service Intermediary Service Process centric Service Public enterprise service Software components (Used for Business Service & Intermediary Service) Application Frontend T T T D D D D D A A A I I I P B B D Web Client, Rich Client, Enterprise Portal etc
  • 20.
    3. Service TypeService Type Summary It needs when new service or new service connection is made Most Important Service * Hybrid svc Note Export business logic to other enterprise or organization Encapsulate business process and orchestrate other services Bride the gap from concept or design Contains business logic and data. Express technology-specific functionality Description No No No Yes No Mandatory in SOA Reusability State mgmt Sub category High Very Low Low High ?? No Yes No No No Process centric Façade ,Function Adding,Routing,Transforming Task centric ,Entity centric Wrapper svc Utility svc Public Enterprise Service Process centric Service Intermediary Service Business Service Application Service
  • 21.
    3. ServiceType (optional *) How can I define services? Task centric business services  from business process Data centric business services  from Entity relationship diagram Process centric service  each business process is process centric service Intermediary service  Adding new service or re-implement Application services  In design or implementation phase The most important factor in SOA is finding business service and define scope of it… !!
  • 22.
    4. SOA LayedModel SOA Layered Model Fundamental SOA Networked SOA Process enabled SOA Other layered model
  • 23.
    4. SOA LayeredModel Fundamental SOA T T T D D D D D A A A Application Service Data centric Business Service Task centric Business Service B T Software components (Used for Business Service & Intermediary Service) Web Client, Rich Client, Enterprise Portal etc Application Frontend
  • 24.
    4. SOA LayeredModel Fundamental SOA Easy to implement. Good starting point for SOA Integration only Consists of only Application Service & Business Service Complex Application Frontends Business process control is in Frontends
  • 25.
    4. SOA LayeredModel Networked SOA T T T D D D D D A A A I I I Application Service Data centric Business Service Task centric Business Service Intermediary Service B T Software components (Used for Business Service & Intermediary Service) Web Client, Rich Client, Enterprise Portal etc Application Frontend
  • 26.
    4. SOA LayeredModel Networked SOA Fundamental SOA + Intermediary Service = enable Flexibility Reduce complexity of frontends Business control still reside in application frontend
  • 27.
    4. SOA LayeredModel Process enabled SOA T T T D D D D D A A A I I I P Application Service Data centric Business Service Task centric Business Service Intermediary Service B T Process centric Service Software components (Used for Business Service & Intermediary Service) Web Client, Rich Client, Enterprise Portal etc Application Frontend
  • 28.
    4. SOA LayeredModel Process Enabled SOA Networked SOA + Business Process (BPM) = enable Agility When it has complex business flow Implements business control
  • 29.
    4. SOA LayeredModel SOA Maturity Level
  • 30.
    4. SOA LayeredModel SOA introduction plan Define integration scope Select SOA level depends on budget,skill,required agility. CF. 6 Domain architecture from BEA Service maturity level Based on the required scope of business integration Intra-department~Cross department : Fundamental SOA Cross-department~Cross Business unit : Networked SOA Simple B2B~Complex Business integration : Process enabled SOA
  • 31.
    4. SOA LayeredModel Other Layered Model Task centric service Task centric service + Data centric service Process centric service + Hybrid service Process centric service + Task centric service Process centric service + Data centric service Process centric service + Task centric service + Data centric service
  • 32.
    5. SOA ElementsSOA is based on 3 major elements Service Service Repository Application Frontend optionally ESB
  • 33.
    5. SOA ElementsApplication frontend Active player of an SOA Service consumer Initiate and control all activity of enterprise system
  • 34.
    5. SOA ElementsService Message format Input message, output message Data type Message exchange pattern
  • 35.
    5. SOA ElementsService repository Service repository is “provides facilities to discover services and acquire all information to user the service “ Service repository is indispensable in long term It contains In addition to service contract : location,provider,contact ,usage fee,technical constraints,security issues and availble service level SVC Info,ACL,SLA,Transactional properties of SVC & operation (CRUD) In cross enterprise : security,user registration, service subscription,billing and versioning
  • 36.
    6. SOA PlatformRevise SOA stack T T T D D D D D A A A I I I P Application Service Data centric Business Service Task centric Business Service Intermediary Service B T Process centric Service Software components Web Client, Rich Client, Enterprise Portal etc Application Frontend
  • 37.
    6. SOA PlatformBEA SOA Platform I way adapter WS-WLW WS-WLS ant task AquaLogic Data Service Platform WebLogic Integration AquaLogic Service Bus (ESB) Aqua Logic BPM Suite (BPA+BPM+BAM) Weblogic Portal AquaLogic User Interaction AquaLogic Service Registry Subprocess (BPM) Application Service Data centric Business Service Task centric Business Service Intermediary Service Process centric Service Application Frontend Make service it self Data store Legacy System AquaLogic Enterprise Security
  • 38.
    6. SOA PlatformRequest Loan Approve Loan AquaLogic BPM Suite WebLogic Integration Backend Systems Human-centric process integration Leverage reusable services System-centric process integration Build reusable services that solve complex integration problems LOB CENTRIC IT CENTRIC AquaLogic Service Bus Service Infrastructure Approver System System Customer
  • 39.
    6. SOA Platform– AL BPM Life Cycle Process Modeling, Simulation and Documentation Process Management and Real-Time BAM Historical & Trend Analysis Tools Business Owners HiPer Workspace Process Participants Process Server and Monitoring Repository AquaLogic BPM Enterprise Server Business Systems CRM DB ERP Business Analysts Use Cases 1.0 Get the stuff 2.0 Build the picture 3.0 BAM Consoles Requirements 1.1 Process Diagram 2.1 Launch screen 3.1 Monitoring screen Process Analyst Process Development and Systems Integration BPA BAM BPM Start
  • 40.
    6. SOA PlatformWebService Technical Stack JAXP JAX-RPC SAAJ XML Parser SOAP Protocol Handling SOAP With Attachment WebService JAXR UDDI UDDI Interface
  • 41.
    7. Technical thingswe need to support SOA Services XML Skills  name space ,XSD ,XML XML Apis  JAXP,JAX-RPC,JAAS,JAXR WS Standard  SOAP, WSDL WS*  WS-Reliable Messaging,WS-Security CF. WS I Basic Profile ESB (ALSB) Additionally  Xquery, Xpath
  • 42.
    8. Reference EnterpriseSOA Best Practice – Dirk Krafzig,Karl Banke,Dirk Slama Good book to run contemporary SOA whole concept Service Oriented Architecture – Concepts,Technology, and Design by Thomas Erl Good for SOA Analysis and design
  • 43.