SOA Calydon V2

Embed Size (px)

Citation preview

  • 8/11/2019 SOA Calydon V2

    1/23

    1. Understanding SOA

    Definition of Service-oriented architecture (SOA)

    A loosely-coupled architecture designed to meet the business needs of the organization The architectural concepts associated with SOA are not new many have evolved from ideas originally

    introduced by CORBA, DCOM, DCE and others. A structured collections of discrete software modules, known as services A service is a tightly defined function/ set of functions, self-contained, context & state independent of other

    services

    ref

    http://en.wikipedia.org/wiki/Service-oriented_architecture

    http://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.html

    http://msdn.microsoft.com/en-in/library/bb833022.aspx

    http://www.ibm.com/developerworks/webservices/library/ws-designsoa/

    imp

    https://www.ibm.com/developerworks/mydeveloperworks/blogs/AliArsanjani/?lang=en

    The Evolution of SOA

    Service Orientation (SO) is the natural evolution of current development models. The, 80s saw object-oriented models; then came the component-based development model in the 90s; and now we haveservice orientation (SO). Service orientation retains the benefits of component-based development (self-description, encapsulation, dynamic discovery and loading), but there is a shift in paradigm fromremotely invoking methods on objects, to one of passing messages between services. Schemas describenot only the structure of messages, but also behavioral contracts to define acceptable messageexchange patterns and policies to define service semantics. This promotes interoperability, and thus

    http://en.wikipedia.org/wiki/Service-oriented_architecturehttp://en.wikipedia.org/wiki/Service-oriented_architecturehttp://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.htmlhttp://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.htmlhttp://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.htmlhttp://msdn.microsoft.com/en-in/library/bb833022.aspxhttp://msdn.microsoft.com/en-in/library/bb833022.aspxhttp://www.ibm.com/developerworks/webservices/library/ws-designsoa/http://www.ibm.com/developerworks/webservices/library/ws-designsoa/https://www.ibm.com/developerworks/mydeveloperworks/blogs/AliArsanjani/?lang=enhttps://www.ibm.com/developerworks/mydeveloperworks/blogs/AliArsanjani/?lang=enhttps://www.ibm.com/developerworks/mydeveloperworks/blogs/AliArsanjani/?lang=enhttp://www.ibm.com/developerworks/webservices/library/ws-designsoa/http://msdn.microsoft.com/en-in/library/bb833022.aspxhttp://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.htmlhttp://www.service-architecture.com/web-services/articles/service-oriented_architecture_soa_definition.htmlhttp://en.wikipedia.org/wiki/Service-oriented_architecture
  • 8/11/2019 SOA Calydon V2

    2/23

    provides adaptability benefits, as messages can be sent from one service to another withoutconsideration of how the service handling those messages has been implemented.

    The fundamental building block of service-oriented architecture is a service. A service is a program thatcan be interacted with through well-defined message exchanges. Services must be designed for bothavailability and stability. Services are built to last while service configurations and aggregations are builtfor change. Agility is often promoted as one of the biggest benefits of SOA an organization withbusiness processes implemented on a loosely-coupled infrastructure is much more open to change thanan organization constrained by underlying monolithic applications that require weeks to implement thesmallest change. Loosely-coupled systems result in loosely-coupled business processes, since thebusiness processes are no longer constrained by the limitations of the underlying infrastructure. Servicesand their associated interfaces must remain stable, enabling them to be re-configured or re-aggregatedto meet the ever-changing needs of business. Services remain stable by relying upon standards-basedinterfaces and well-defined messages for example using SOAP and XML schemas for messagedefinition. Services designed to perform simple, granular functions with limited knowledge of howmessages are passed to or retrieved from it are much more likely to be reused within a larger SOAinfrastructure.

    Problem Domain

    Billing

    Order Entry

    PACSCardiology

    LabMPI

    Pharmacy

    PACSRadiology

  • 8/11/2019 SOA Calydon V2

    3/23

    Data

    PharmacySystem

    Data

    Lab 1System

    Data

    Patient 1System

    Data

    BillingSystem

    Data

    Lab 2System

    Data

    Patient 2System

    Inte ration Service Bus

    PatientRecord

    BillingService

    LaboratoryService

    OtherService

    Business Service Bus

    Channels

    PatientManagement

    Marketing Diagnostics

  • 8/11/2019 SOA Calydon V2

    4/23

    SOA Context in Healthcare

  • 8/11/2019 SOA Calydon V2

    5/23

    Architecture

    It can be defined as a representation group(s) of relationship between various components of a complexsoftware solution.

    The solution is decomposed into smaller, self-describing components and represented as structuralrelationships to provide a high-level overview of the entire system.

    a database driven, web-based solution

    Without Architecture

    Achieve our designed goalDecompose our requirements into smaller entities Quality solutionsChange management

    Re-usable or extendable solutions Achieve business goals

  • 8/11/2019 SOA Calydon V2

    6/23

    2. NEEDS FOR ENETRPRISE AND IT ARCHITECTURE

    Enterprise architecture (EA) is the process of translating business vision and strategy into effectiveenterprise change by creating, communicating and improving the key requirements, principles andmodels that describe the enterprise's future state and enable its evolution.

    A business architecture is a part of an enterprise architecture related to corporate business, andthe documents and diagrams that describe the architectural structure of that business.

    Business Architecture articulates the functional structure of an enterprise in terms of its business servicesand business information. The business capability is able to perform certain business functionality anddeliver business results or values. The business capability is provided by business services that state"what" the organization does while the business processes implement business functionality and define"how" the organization can execute its capabilities.

    EDA Enterprise Data Architecture

    Building an EDA can give your staff an integrated view of enterprise data organization for strategic and tacticaldecision support.

    An EDA pulls together, validates, cleanses and integrates data from disparate source application systems, providingthe end-user community with an integrated view of enterprise data.

    Enteprise Data

  • 8/11/2019 SOA Calydon V2

    7/23

    Enterprise Data Architecture

    Architecture, software architecture specifically, used to be only defined in terms of components, connectorsand constraints per Shaw and Garlan.However, it is increasingly evident to those of us who implement architectures on a daily basis for clients

    and internally within our own companiesthat architecture requires the addition of composition, context and containers to make it operational.

    Components -- what are the structural building blocks of a solution, or a style of architecture, of the elements thatcan be combined to produce a larger structureComposition -- How to compose or what are the valid compositions of componentsConnectors -- The components need to connect with one another, whether statically (as in an Entity-relationship

    kind of relation) or dynamically, as in a composition in an SOA, where you may have orchestration or choreography.Constraints -- The constraints on the connectors and/or components that provide rules of engagement of what is

    permissible and what is not.

    Context -- the context of invocation of a component is critical to the designation of how that component will behaveContainers -- the components must live in some runtime container that will provide uniform life-cycle management

    capabilities for them

  • 8/11/2019 SOA Calydon V2

    8/23

  • 8/11/2019 SOA Calydon V2

    9/23

  • 8/11/2019 SOA Calydon V2

    10/23

  • 8/11/2019 SOA Calydon V2

    11/23

  • 8/11/2019 SOA Calydon V2

    12/23

  • 8/11/2019 SOA Calydon V2

    13/23

  • 8/11/2019 SOA Calydon V2

    14/23

  • 8/11/2019 SOA Calydon V2

    15/23

  • 8/11/2019 SOA Calydon V2

    16/23

  • 8/11/2019 SOA Calydon V2

    17/23

  • 8/11/2019 SOA Calydon V2

    18/23

    Architecture

    Service

    A service is a unit of solution logic (Figure 3.8) to which service orientationhas been applied to a meaningful extent. It is the applicationof service-orientation design principles that distinguishes aunit of logic as a service compared to units of logic that may existsolely as objects or components.

    3.3 Service Implementation MediumsIt is important to view and position SOA as an architectural model that is neutral to any onetechnology platform.

    Currently, a service can be built and implemented as a:

    component Web service REST service

    Essentially, any implementation technology that can be used to create a distributed systemmay be suitable for service-orientation

  • 8/11/2019 SOA Calydon V2

    19/23

    Services as Components A component is a software programdesigned to be part of a distributed system.It provides a technical interfacecomparable to a traditional applicationprogramming interface (API) throughwhich it exposes public capabilities asmethods , thereby allowing it to be

    explicitly invoked by other programs(Figure 3.13).Components typically rely on platformspecificdevelopment and runtime technologies. For example, components can be builtusing Java or .NET tools and are then deployed in a runtime environment capable ofsupportingthe corresponding component communications technology requirements, asimplemented by the chosen development platform

    Services as Web Services A Web service is a body of solution logic that providesa physically decoupled technical contractconsisting of a WSDL definition and one ormore XML Schema definitions and also possibleWS-Policy expressions. The Web service contractexposes public capabilities as operations ,establishing a technical interface but withoutany ties to a proprietary communications framework(Figure 3.14).Service-orientation can be applied to the designof Web services. The fact that Web services provide an architectural model whereby theservice contract is physically decoupled and vendor-neutral is conducive to several of thedesign goals associated with service-orientation.

  • 8/11/2019 SOA Calydon V2

    20/23

  • 8/11/2019 SOA Calydon V2

    21/23

  • 8/11/2019 SOA Calydon V2

    22/23

  • 8/11/2019 SOA Calydon V2

    23/23