GrERPmodule03C a SOA(2)

  • Upload
    fraalan

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

  • 8/8/2019 GrERPmodule03C a SOA(2)

    1/36

    Service Oriented Architecture

  • 8/8/2019 GrERPmodule03C a SOA(2)

    2/36

    Outline

    Service Oriented Society

    The connected world

    From Component Orientation to ServiceOrientation

    The Road to SOA

    Three key concepts in software construction Conclusion

  • 8/8/2019 GrERPmodule03C a SOA(2)

    3/36

    3

    What is Service Oriented Architecture (SOA)?

    An SOA application is a composition ofservices

    A service is the atomic unit of an SOA

    Services encapsulate a business process

    Service Providers Register themselves

    Service use involves: Find, Bind,Execute

    Most well-known instance isWeb

    Services

    Service

    Registry

    Service

    Provider

    Service

    Consumer

    Find Register

    Bind,

    Execute

  • 8/8/2019 GrERPmodule03C a SOA(2)

    4/36

  • 8/8/2019 GrERPmodule03C a SOA(2)

    5/36

    5

    SOA Benefits

    Business Benefits

    Focus on Business Domain solutions

    Leverage Existing Infrastructure

    Agility

    Technical Benefits

    Loose Coupling

    Autonomous Service Location Transparency

    Late Binding

    Service

    Registry

    Service

    Provider

    Service

    Consumer

    Find Register

    Bind,

    Execute

  • 8/8/2019 GrERPmodule03C a SOA(2)

    6/36

    6

    SOA/Web Services Related Standards

    Source: http://roadmap.cbdiforum.com/reports/protocols/

  • 8/8/2019 GrERPmodule03C a SOA(2)

    7/36

    7

    Service Oriented Architecture

    W

    hat is Service-Oriented Architecture?. Hao He. http://webservices.xml.com/lpt/a/ws/2003

    /09/3

    0/soa.html

    Service-Oriented Architecture: A Primer. Michael S. Pallos. http://www.bijonline.com/PDF/SOAPallos.pdf

    The Benefits of a Service-Oriented Architecture. Michael Stevens. http://www.developer.com/design/article.php/1041191

    Web Services Specifications - http://www.w3.org/2002/ws/

    Grid ComputingGlobal Grid Forum (http://www.ggf.org)

    The Globus Alliance ( http://www.globus.org)

    The Physiology of the Grid. Ian Foster, Carl Kesselman, Jeffrey M. Nick, Steven Tuecke.

    http://www.globus.org/research/papers/ogsa.pdf

    The Anatomy of the Grid. Ian Foster, Carl Kesselman, Steven Tuecke. http://www.globus.org/research/papers/anatomy.pdf

    Web Services Resource Framework - http://www.globus.org/wsrf/

  • 8/8/2019 GrERPmodule03C a SOA(2)

    8/36

    The Service Oriented Society

    Imagine if we had to do everything

    we need to get done by ourselves?

  • 8/8/2019 GrERPmodule03C a SOA(2)

    9/36

    From Craftsmen to Service Providers

    Our society has become what it is today through the forces of

    Specialization

    Standardization

    Scalability

    It is now almost exclusively service oriented

    Transportation

    Telecommunication

    Retail

    Healthcare Financial services

  • 8/8/2019 GrERPmodule03C a SOA(2)

    10/36

    Attributes of physical services

    Well defined, easy-to-use, somewhat standardized interface

    Self-contained with no visible dependencies to other services

    (almost) Always available but idle until requests come

    Provision-able

    Easily accessible and usable readily, no integration required

    Coarse grain

    Independent of consumer context,

    but a service can have a context

    New services can be offered by combining existing services

    Quantifiable quality of service

    Do not compete on What but How Performance/Quality

    Cost

  • 8/8/2019 GrERPmodule03C a SOA(2)

    11/36

  • 8/8/2019 GrERPmodule03C a SOA(2)

    12/36

    Service Interfaces

    Non proprietary

    All service providers offer somewhat the same interface

    Highly Polymorphic

    Intent is enough Implementation can be changed in ways that do not break all

    the service consumers

    Real world services interact with thousands of consumers

    Service providers cannot afford to break the context of theirconsumers

  • 8/8/2019 GrERPmodule03C a SOA(2)

    13/36

    Intents and Offers

    Service consumer expresses intent

    Service providers define offers

    Sometimes a mediator will: Find the best offer matching an intent

    Advertise an offer in different ways such that it matchesdifferent intent

    Request / Response is just a very particular case of anIntent / Offer protocol

  • 8/8/2019 GrERPmodule03C a SOA(2)

    14/36

    Service Orientation and Directories

    Our society could not be service orientedwithout the Yellow Pages

    Directories and addressing mechanisms are at the

    center of our service oriented society Imagine

    Being able to reach a service just by using longitudeand latitude coordinates as an addressingmechanism?

    Only being able to use a service if you can rememberits location, phone or fax number?

  • 8/8/2019 GrERPmodule03C a SOA(2)

    15/36

    Service Orientation is scalable

    Consumers can consume and combine a lot ofservices since they dont have to know or learnhow to use a service

    Service providers can offer their services to a lotmore consumers because by optimizing

    The user interface

    Access (Geographical, Financial, )

    They were able to provide the best quality of serviceand optimize their implementations

  • 8/8/2019 GrERPmodule03C a SOA(2)

    16/36

    So

    Service orientation allows us

    Complete freedom to create contexts in whichservices are uses and combined

    Express intent rather than specific requests

    Our society should be a great source ofinspiration to design modern enterprisesystems and architectures or understand whatkind of services these systems will consume orprovide

  • 8/8/2019 GrERPmodule03C a SOA(2)

    17/36

    The connected (new) world

    Over the past 15 years,

    everything got connected to everything else

  • 8/8/2019 GrERPmodule03C a SOA(2)

    18/36

    Connectivity Drives the Emergence and

    Convergence ofTechnologies

    Workflow

    EDI

    Mainframe

    ?Business

    Integration

    J2EE

    .NET

    Client / Server

    Web/Po

    rtal

    EAI

    B2B

    BPM

    WS

    Office

    1980 1990 2000 2010

    XMLWS

    WebLANInternetSOA

  • 8/8/2019 GrERPmodule03C a SOA(2)

    19/36

  • 8/8/2019 GrERPmodule03C a SOA(2)

    20/36

    Seamless Connectivity enables On Demand

    Computing

    Use software as you need

    Much lower setup time, forget about Installation

    Implementation Training

    Maintenance

    Scalable and effective usage of resources Provision

    Billed on true usage

    Parallelism (CPU, Storage, Bandwidth)

  • 8/8/2019 GrERPmodule03C a SOA(2)

    21/36

    But Seamless Connectivity is also

    questioning all our beliefs

    An application is NOT a single system running on a single

    device and bounded by a single organization

    Continuum Object Document

    Messages and Services As opposed distributed objects

    Exchanges becomes peer-to-peer

    Asynchronous communications

    Concurrency becomes the norm while our languages and

    infrastructures did not plan for it

  • 8/8/2019 GrERPmodule03C a SOA(2)

    22/36

    we are reaching the point of maximum

    confusion

    Federation and Collaboration

    As opposed to Integration

    Language(s)

    Semantic (not syntactic)

    Declarative and Model driven (not procedural)

    Licensing and Deployment models

  • 8/8/2019 GrERPmodule03C a SOA(2)

    23/36

    So

    Today, the value is not defined as much by

    functionality anymore but by connectivity

    However, we need a new programming model

    Why SOA today?

    We are reaching a new threshold of connectivity

    and computing power

    Mainframe Client Server Web SOA

  • 8/8/2019 GrERPmodule03C a SOA(2)

    24/36

  • 8/8/2019 GrERPmodule03C a SOA(2)

    25/36

  • 8/8/2019 GrERPmodule03C a SOA(2)

    26/36

    Why do weWant to Move to a New

    Application Model Today?

    We are moving away precisely because of connectivity

    J2EE, for instance was designed to build 24x7 scalable web-

    based applications

    Job well done

    But this is very different from, I now want my application to

    execute business logic in many other systems, often

    dynamically bound to me

    JCA (J2EE Connector Architecture) is not enough

    EAI infrastructures are not enough

  • 8/8/2019 GrERPmodule03C a SOA(2)

    27/36

    A Component now Becomes a Service Running

    Outside the Consumer Boundaries

    DB

    CCI CCI CCI

    ERP CRM

    Service Service Service

    Registry

    1

    register

    Consumer

    SOAP SOAP SOAP

    XML XML XML

    3 invoke

    2

    Discover and/or Bind

    Policies

  • 8/8/2019 GrERPmodule03C a SOA(2)

    28/36

    From Components to (Web) Services

    Requires a client library

    Client / Server

    Extendable

    Stateless

    Fast

    Small to medium

    granularity

    Loose coupling via

    Message exchanges

    Policies

    Peer-to-peer

    Composable

    Context independent

    Some overhead

    Medium to coarse

    granularity

  • 8/8/2019 GrERPmodule03C a SOA(2)

    29/36

    Web Services: what is changing?

    Loose coupling (of course) Web Services dont require a CCI (Client side Communication

    Interface)

    Very few gears needed to consume a service Web Services can accept message content they do not fully

    understand or support

    XML,WSDL

    Web services are very late bound

    Location is independent of the invocation mechanism

    Directories

  • 8/8/2019 GrERPmodule03C a SOA(2)

    30/36

    Web Services:What is Changing?

    Peer-to-peer interactions are possible

    Request / response is an inefficient and very

    limiting mode of interaction

    As components coarsen, it is difficult to

    differentiate a client from a server

  • 8/8/2019 GrERPmodule03C a SOA(2)

    31/36

    What Happens to the Technical Services Typically

    Provided by an Application Server?

    Transaction

    Security

    Connection pooling

    Naming service

    Scalability and failover

    They become the Service Fabric

  • 8/8/2019 GrERPmodule03C a SOA(2)

    32/36

  • 8/8/2019 GrERPmodule03C a SOA(2)

    33/36

    A Service Fabric can be more than a Bus with a

    series of Containers / Adapters

    DB

    CCI CCI CCI

    ERP CRM

    NEP NEP NEP

    Consumer

    Domain

    Controller

    Reliable

    Messaging

    Process

    RegistryTxXML XML XML Registry

    register

    Discover and/or Bind

    Policies

  • 8/8/2019 GrERPmodule03C a SOA(2)

    34/36

    The road to SOA

    NEP NEP

    Existing business logic, often

    model-oriented

    Coordination logic (Tx,

    Process, )

    Metadata driven

    NEP

    NEP

    NEP

    NEP

    Global business logic (tax,

    trade, ) and data access

    NEP NEP

    User Interface NEPs

  • 8/8/2019 GrERPmodule03C a SOA(2)

    35/36

    Shift To A Service-Oriented Architecture

    Function oriented

    Build to last

    Prolonged development

    cycles

    FromFrom ToTo

    Coordination oriented

    Build to change

    Incrementally built and

    deployed

    Application silos

    Tightly coupled Object oriented

    Known implementation

    Enterprise solutions

    Loosely coupled Message oriented

    Abstraction

    Source: Microsoft (Modified)

  • 8/8/2019 GrERPmodule03C a SOA(2)

    36/36