Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Soa Grundlagen


Published on

  • Be the first to comment

  • Be the first to like this

Soa Grundlagen

  1. 1. Module: Basics and definitions of SOA Several „definitions“ available, mostly from practitioners: „ A Service-Oriented Architecture (SOA) is a software architecture that is based on the key concepts of an application frontend, service, service repository, and service bus. A service consists of a contract, one or more interfaces, and an implementation.“ [KBS05] „ SOA is the architectural style that supports loosely coupled services to enable business flexibility in an interoperable, technology-agnostic manner. SOA consists of a composite set of business-aligned services that support a flexible and dynamically re-configurable end-to-end business processes realization using interface-based service descriptions.“ (Arsanjani, Borges und Holley) „ Contemporary SOA represents an agile, extensible, federated, composable architecture comprised of autonomous, QoS-capable, vendor diverse, interoperable, discoverable, and potentially reusable services, implemented as Web Services. […]“ [Erl05]
  2. 2. Understanding SOA – Basics What is a Service? In general In a Web-Service context no technologies mentioned A unit of work done by a service provider to achieve desired end results for a service consumer. Software application units that provide a distinct and atomic business process
  3. 3. Service Interface Service oriented language independant Technological evolution towards SOA << class >> MyClass String myAttribute ... object oriented (encapsulated) language dependant (Java, C#, C++, ABAP4) doSomething(Param a) structured (functional composition) language dependant (C, ABAP, ...) Business Interface Lifecycle Interface Component based (interoperable) language dependant (EJB, SAP-BO, ...) if(condition) { do something } unstructured (the dark ages) language dependant
  4. 4. SOA roles and activities Service Registry Service Provider Consumer Contract 1. publish 2. search 3. refer to contract 4. bind 5. use
  5. 5. Classification of services (cf. Krafzig et al.) Basic Service data / logic centric Intermediary Service composition of services without state Process centric Service technical representation of business process (stateful) Public Enterprise Service external enterprise interface with additional requirements for security, reliability, ... Composite Services Core Services
  6. 6. Understanding SOA – Basics Architectural layers today Hardcoded or proprietary implemented / declared Business process tightly coupled to components BP changes difficult to implement Data
  7. 7. Adopting SOA – what changes? Architectural layers tomorrow Loosely coupled components/services BP easily definable/changeable by business experts Integration plus process Process logic Components Data Human interaction: Frontend Machine interaction: Businesses Components Data Service layers
  8. 8. Understanding SOA – Basic Knowledge SOA Components
  9. 9. Web Services Enabling interaction of heterogenous systems based on certain technologies and standards Process logic Data
  10. 10. Web Services Standards employed: Dataformat, Typesystem XML Schema Service invocation SOAP Metadata WSDL Service localisation UDDI Security (and other) WS* specs Processdefinition / -notation BPEL, BPMN Bodies involved: W3C (XML, XML Schema, SOAP, WSDL) OASIS (BPEL, UDDI, SAML, SOA Blueprints and reference architecture) OMG (BPMN) WS-I (ensuring interoperability)
  11. 11. Web Services SOAP, WSDL and UDDI are not enough! WS-* Technology stack extends SOAP/WSDL specifications, e.g. Security Transactions Messaging Reliability Interoperability Metadata ...
  12. 12. Web Services Web Services implement the SOA paradigm One can think of other possible implementations (RMI, CORBA, DCOM, ...) Repository (UDDI) Service Provider Service Consumer WSDL SOAP
  13. 13. Web Services A typical SOAP / HTTP messaging scenario: SEI Servlet Http Request SOAP Http Response SOAP Magic happens
  14. 14. Session summary – What you should take home ... SOA, Web Services, BPMN, BPEL ... are no short-lived buzzwords which came from outer space a few years ago SOA is the current endpoint of an evolutionary process which started approx. 30 years ago Web Services represent a technology stack for implementing SOA BPMN is the current answer to „How to model business processes from different perspectives?“ BPEL is the current answer to „How to automate business processes?“ These questions are not driven by IT but driven by „the business“ needing IT The „big picture“ comprising architecture, technical expertise, and business expertise is needed to answer today's demanding requirements like flexibility, agility, scalability ...