Service-oriented Architectures: A Review

Transcription

IntroductionService-oriented Architectures:A ReviewCSE507: SOA and WS, we studied– services,– Web Services standard,– business process alignment to IT service,– service-oriented architecture basics. We will– review CSE507 material– Discuss plans for IE565 We implemented a simple mash-up application in CSE507:– We will extend it and complete it in this course. Focus of IE565:– Service-enabling approaches for a variety of organizationsand applications (see your textbook)– Study associated concepts and technologies (semantic web,ontology development and use, web2.0) B. RamamurthyPage 1IE565 Spring 20081/17/2008About the textbook IE565 Spring 20081/17/2008What did we do in CSE507?It is one in a series of textbook in this area.Though it approaches service-enabling from semantic web pointof view the industries discussed are quite diverse and veryrelevant to what we are working on.–––––– Page 2 Text book: Enterprise SOA: Service-oriented Architecture Best Practices, D.Krafzig, K. Banke and D. Slama,Prentice-Hall Inc., 2007. WS and SOAFinancial: data and information managementGovernment: access to municipal servicesHealthcare: biomedical research and medical records managementEducation: Course management systemsBusiness: data integration and business process collaborationEnterprise management: knowledge management in steel industryTechnologies such as OWL (Web Ontology Language), RQL,RDQL, SOARQL, and SWRLPage 3IE565 Spring 20081/17/2008SOA and WSIE565 Spring 20081/17/2008SOA Principles A Service-Oriented Architecture (SOA) isa design model for linkingcomputational resources, data andapplications to perform services anddeliver results to service consumers. Web Service (WS) standard provides aplatform-independent method formessaging-based interaction ofapplications.Page 5Page 4IE565 Spring 20081/17/2008 Loosely coupled (service provider and serviceconsumer are loosely coupled: why?) Large scale: complex system with high level of heterogeneity and redundancies.Decoupling of functionality and technologyService contract and agreementsDiscoverabilityOn demand composability of services: compositeservices conceptAgility: respond to changes quicklyStatelessnessInherent interoperabilityStandardsReusabilityPage 6IE565 Spring 20081/17/20081

Evolution of the serviceconceptBusiness Computing A service is ameaningful activity thata computer programperforms on request ofanother computerprogram. Technical definition: Aservice a remotelyaccessible, selfcontained applicationmodule.-- From IBMPage 7IE565 Spring 2008Object/ClassComponentService1/17/2008On to more fundamentalconcepts: Synchronyimmediate response of communicating partnersServer process/thread blocks until response is completedFollows request/response patternUsed when servers are available all the timeTypically communicating partners are tightly coupledExamples:Page 9 request from web client to a web browser for “search” or for“information” CORBA procedure invocation Java RMI (remote method invocation) Traditional remote procedure call (RPC)IE565 Spring 2008Resource Planning (ERP) and Supply ChainManagement (SCM) placed complex requirements onthe computing machines and applications. This was followed by huge compute (IT) demands forEnterprise Application Integration (EAI) andEnterprise Data Integration (EDI). An appealing characteristic of SOA is that it alignsthese business entities by directly mapping them toservices, thus enabling an enterprise integration onthe business level, not on the technical level.Page 8IE565 Spring 20081/17/2008Asynchronous communication Synchronous and asynchronous communications Synchronous:–––––– File systems to main frames Emergence of new paradigms such as Enterprise1/17/2008Interface vs Payload Semantics Communicating partners are decoupled Message driven:– sender creates a message and delivers it to a mediator whothen sends it to “a” recipient– Server need not be available all the time– Sender and receiver loosely coupled– Can facilitate high-performance message-based system– Example: Any event-driven system Any messaging system (instant messenger) Publish-subscribe mode communicationsPage 10IE565 Spring 20081/17/2008Interface Semantics Typically interaction between a client and aProcess1server results in the execution of an activity(ot transaction) Request needs to be specified by the )– Interface semantics: Requested activity can beencoded in the operation signature in the server’s“interface” or– Payload semantics: It can be embedded in themessage itselfreturnResult()Semantics of the activity is explicitly stated in the message/method callPage 11IE565 Spring 20081/17/2008Page 12IE565 Spring 20081/17/20082

Payload SemanticsPayload SemanticsClientEnvelopWithmessageProcess 1QueueServercreateMessage()sendMessage()Process 2onMessage()receiveMessage()Requested transaction/activity is embedded in the messageDetails of the activity not explicit; the semantics are embedded in the messagePage 13IE565 Spring 20081/17/2008Payload semantics is genericTight vs. Loose Couplingdiscovery and binding enabled by UniversalDescription, Discovery and Integration (UDDI) On the business front loose coupling addresses thegrowing need for companies to be flexible and agilewith respect changes in their own processes andthose of their partners How does loose coupling help in improving agility,flexibility and performance?1/17/2008Page 16IE565 Spring 20081/17/2008Service-oriented architecture (1)LevelTight couplingLoose couplingPhysical couplingDirect physical link requiredPhysical ousType systemStrongly typed (interfacesemantics)Weak type system(payload semantics)Interaction patternOO-style navigation of complexobject treesData-centric, self-containedmessagesControl of processlogicCentral control of process logicDistributed logiccomponentsService discoveryand bindingStatically bound servicesDynamically boundservicesPlatformdependenciesStrong OS and programminglanguage dependenciesOS- and programminglanguage dependentIE565 Spring 20081/17/2008loosely coupled system.Tight vs. Loose couplingPage 17IE565 Spring 2008 On the technology front this is driven by dynamicString executeService (message: String){ }IE565 Spring 2008Page 14 An important characteristics of an SOA that is aString transferMoney (amt: decimal,accTo: String){ }Page 15executeMessage() 1/17/2008 From “The new language of business : SOA and Web 2.0” by S. Carter,IBM Press, 2007Service-oriented architecture is a business driven IT architecturalapproach that supports integrating a business as linked, repeatablebusiness tasks or services.It helps– innovation by assuring IT systems can adapt quickly.– increase flexibility of business processes– strengthen underlying IT architecture– reuse their existing IT investments by creating connections amongdisparate applications and information sourcesThe above in turn help address increasing complexity, need forlowering development, integration and maintenance cost and obtainsustainable competitive edge through technology.SOA begins with a service that could be a simple business task such achecking the credit rating of a potential customer.Page 18IE565 Spring 20081/17/20083

Service-oriented Architecture (2)Service-oriented Architecture (3) From “ Service-oriented architecture: concepts,technology and design”. By T. Erl, Prentice-Hall Inc.,2005. Service-oriented architecture is a term thatrepresents a model in which automation logic isdecomposed in to smaller, distinct units of logiccalled services.– Collectively these units comprise a larger piece ofbusiness automation logic. These pieces can bedistributed.– Services are autonomous units; messages areused for communication among these. Principles of SOA: loose coupling, service contract,autonomy, abstraction, reusability, composability,statelessness, discoverabilityFrom “Service-oriented architecture: A planning andimplementation guide for business and technology”, by E.A.Marks, and M. Bell, Wiley & sons, 2006. SOA is a conceptual business architecture where businessfunctionality, or application logic, is made available to SOA usersor consumers, as shared, reusable services on an IT network. Services in an SOA are modules of business or applicationfunctionality with exposed interfaces, and are invoked bymessages. Essential ingredients of an SOA are: services, enablingtechnology, SOA governance and policies, SOA metrics,organizational and behavior model (culture). Page 19IE565 Spring 20081/17/2008Service-oriented architecture (4) From “Service-oriented Architecture (SOA) compass: businessvalue, planning and enterprise roadmap”. N. Bernstein, S. Bose,M. Fiammante, K. Jones and R. Shaw, IBM press, 2006.A service-oriented architecture is a framework for integratingbusiness processes and supporting IT infrastructure as secure,standardized components– services– that can be reused andcombined to address changing business priorities.Loose coupling, reuse, interoperability between systems.SOA is a synonym for solution architectures making use of Webservice technologies such as SOAP, WSDL, and UDDI. Anyproduct and project conforming to the WC3 Web servicesarchitecture (WSA).SOA is a set of business, process, organizational, governanceand technical methods to enable an agile, business-driven ITenvironment for greater competitive advantage.Page 21IE565 Spring 20081/17/2008Service-oriented architecture (6)Page 20IE565 Spring 2008Service-oriented architecture (5) From “Service-oriented architecture for dummies”, by J. Hurwitz, R. Bloor, C. Baroudi, M.Kaufman, Wiley & sons., 2007.Architecture implies thoughtful planning according to set of guidelines or rules. Ex: a house,a mall, Taj Mahal or Noah’s arkSoftware architecture describes the overall design and structure of a computer system.In a service oriented architecture, business services interact with each other in ways similarto how various services of the restaurant interact.Basic architecture of an order processing system and an SOA of a the same. Lets analyzethis further.Architecture 1:Internet ÅÆ Browser ÅÆWeb ServerÅÆOrder ProcessingÅÆDatabase serverÅÆ DatabaseArchitecture 2: SOA?Internet ÅÆ Browser ÅÆWeb ServerÅÆOrder ProcessingÅÆDatabase serverÅÆ DatabaseCredit checking servicePage 22IE565 Spring 2008SOAbest practices” by D. Krafzig, K. Banke, and D.Slama, Prentice-Hall Inc., 2007. A software architecture describes softwarecomponents of a system and assigns the functionalityof the system to these components. greement– It describes the technical structure, constraints, andcharacteristics of the components and the interfacesbetween them.– The architecture is the blueprint for the system andtherefore high-level plan for its construction.– Lets look at example: web architectureIE565 Spring 20081/17/2008Elements of SOA From “Enterprise SOA: Service-oriented architecturePage 231/17/2008ServicerepositoryService busImplementationoperationslegalDataBusiness logicMonitoring1/17/2008Page 24IE565 Spring 20081/17/20084

Elements of SOA1. 2.3.4.5.6.7.8.9.10.Our view of SOAApplication frontends: are active elements of the SOA, delivering the value of SOA to theend users.They initiate and control all activity of the enterprise system.Web application, application with GUI, or a batch application.Service: a software component that encapsulates a high level business concept.Contract: provides a specification of the purpose, functionality, constraints, and usage ofservices.Interface: functionality of the service exposed by the service to the clients that areconnected to the service.Implementation: the service implementation provides the required business logic andappropriate data. It contains one or more of the artifacts: programs, configuration, dataand databases.Business logic: business process represented by the service.Data: data represented in the service/ used by the service.Service repository: it registers the services and their attributes to facilitate the discoveryof services; operation, access rights, owner, qualities, etc.(Enterprise) Service Bus (ESB): A flexible infrastructure for integrating applications andservices by : routing messages, transforming protocols between requestor and service,handling business events and delivering them, providing QoS, mediation and security,and managing the interaction among services.Open standards: publicly available implementable standardsPage 25IE565 Spring 20081/17/2008Service and Service TypesDataDataIE565 Spring noperationsnameService busattributesroutingmediationsecurityEvents, notification,Loose couplingDatanameInput/outputBusiness logicComponent/containersFaults/exceptionsPage 26IE565 Spring 20081/17/2008Application frontend: GUIBasic services: data and logicIntermediary services: gateway, adaptersProcess centric services: business operationsPublic enterprise services: cross-enterprise:decoupling, security, ------------------2 : horizontal services4 : vertical services (domain-specific)3 5: realized using ESB?BusinessBusinesslogiclogicImplementationPage 27Contract1.2.3.4.5.Service contractInterface 2ServicerepositoryServiceTypes of servicesServiceInterface 1SOAApplicationFrontend1/17/2008Page 28IE565 Spring 20081/17/2008The architectural roadmap: Thestages in developmentEnterprise Services layers Fundamental SOAEnterprise layer– Design fundamental services Networked SOA– Add intermediary servicesProcess layer Process-enabled SOA– Add process-centric services, front-ends These three stages reach maturity at different rates,services gain more responsibility as the systemmatures. Advantages of using service-orientation will beapparent as the stages evolve independently of eachotherIntermediary layerBasic layerPage 29IE565 Spring 20081/17/2008Page 30IE565 Spring 20081/17/20085

Fundamental SOAAirline Enterprise Excellent starting point for introductionEnterprise LayerSOA in an organization A fundamental SOA consists of twolayers:AirlineAirlineWebWebsitesiteBasic layerFlightFlight– Enterprise layer that consists of front-ends,and– The basic layers that consists of basicservicesPage 31IE565 Spring 20081/17/2008Expanded Airline ling Page 33IE565 Spring 2008IE565 Spring 20081/17/2008Networked SOAPage 34IE565 Spring 2008technical and conceptual integration.Enterprise LayerAirlineAirlineWebWebsitesiteenterprise. Enables loose coupling Addition of intermediary layer with services thatIntermediary layerhandleBookAndBookAndBillBilldistributed transactions,bridge technology gaps,database integration,Add new functionality,Wrap legacy applications/serviceIE565 Spring 20081/17/2008Networked SOA If offers flexibility in integrating software assets of anPage 351/17/2008take placeSimple to implementComplex front-endIncreased maintainabilityShared services can make datareplication largely obsoleteGood starting point/entry point to SOA It deals with backend complexity in addition to–––––BillingBilling Base on which future expansion canBillingBillingApplicationApplicationBasic layerFlightFlightBookingBookingFundamental SOA: SummaryEnterprise LayerAirlineAirlineWebWebsitesitePage 32CustomerCustomerBasic layerFlightFlight1/17/2008Page 36CustomerCustomerIE565 Spring 2008BookingBookingBillingBilling1/17/20086

Process-enabled SOAProcess-enabled SOAEnterprise LayerAirlineAirlineWebWebsitesite The key feature is the maintenance of a processstate in process-centric services. Stateful services (server-side state) Encapsulates complexity of processes (Ex:Business (Process) LayerBookingBookingProcessProcessrunExperiment in a complex scientific lab experiment) Possibility of sharing states between clients (Ex:research whiteboard) Handling long-living processes (Ex: auctionframework) Enables the IT and business alignmentPage 37IE565 Spring 20081/17/2008Process-enabled SOA (contd.)Intermediary layerBookAndBookAndBillBillBasic layerFlightFlightPage 38BillingBillingIE565 Spring 20081/17/2008Process-enabled SOA (contd.)Enterprise LayerEnterprise WebsitesiteBusiness ssprocessBusiness ermediary layerBookAndBookAndBillBillBasic layerFlightFlightPage 39CustomerCustomerIE565 Spring 2008Basic enabled SOA summary Enables light-weight frontends (handles only user interaction)Encapsulates complexities of businessprocessesAbstracts complexities of backend systemsEnables separation of business logic fromtechnology complexitiesIs required for integration of independentorganizations and implementation of complexprocessesPage 41IE565 Spring 20081/17/2008EmailEmail&&SMSSMSPage gBillingIE565 Spring 2008WaitlistingWaitlisting1/17/2008Business Process Management(BPM) BPM generally focuses on the strategic andoperational aspects of process orientation in agiven business area. Mapping BPM model to an enterprise ITlandscape is a challenging task.– Business side of BPM are the keywords such asISO 9000 and Six Sigma– IT side of BPM is accompanied by keywords sucha process modeling and workflow managementPage 42IE565 Spring 20081/17/20087

EAIWebServiceWorkflowmanagementBusiness Process ManagementSystem (BPMS)Activity tSix SigmaB2Bi BPMS provides the technical platform for realizingBPM management initiatives.– BPM engine, facilities for BPM monitoring, design tools, andfacilities for simulation.– “BPM encompasses the discovery, design, and deploymentof business processes, as well as executive, administrativeand supervisory control over them to ensure that theyremain compliant with business objectives” [SF03]– A BPM software product should enable business analysts,software developers, and system administrators to modeland deploy business processes ( at development time) andto interact with, monitor and analyze process instances 9atrun time).– Lets discuss Modeling and execution architecture of BPMS.Value ChainERPIT OrganizationBusiness OrganizationPage 43IE565 Spring 20081/17/2008BPM System ArchitectureDeploy &configureMonitor &manageProcess ManagerDesign toolTransactionmanagerIE565 Spring 20081/17/2008BPM visionProcess engineInterprets VPML, BPEL4WSProcessDefinitionRepositoryPage eware BPM vision is strong one– Instead of hard coding business processesinto applications, it facilitates modeling,modifications, reconfigurations, andoptimization of process definitions withgraphical tools that can be used by lesstechnology-oriented business analysts.Backend applicationsPage 45IE565 Spring 20081/17/2008BPM Alignment to SOAEnterpriseProcessesPage 46BPML BPMS Intermediary layer Basic layerPage 471/17/2008Web Services ProcesslayerIE565 Spring 2008IE565 Spring 20081/17/2008Web Services is a technology that allows for applications tocommunicate with each other in a standard format.A Web Service exposes an interface that can be accessed throughmessaging.Deployable unit.A Web service uses protocol to describe an operation and the dataexchange with another web service. Ex: SOAPPlatform independent, say, through WSDL.Publishable, discoverable, searchable, queryableScalability issues: A group of web services collaborating accomplish thetasks of a large-scale application.Web services can be used to realize the “services” in an SOA.Your task in the first week is to review WS concepts,Try a simple implementation of a WS and get familiarized with WSframework (XML, SOAP, REST, WSDL etc.), if you have not done so.Page 48IE565 Spring 20081/17/20088

Amazon.com and SOAAmazon (contd.) “SOA creates order out of chaos @ Amazon” by RichSeely (June 23, 2006) based on Werner Vogels’ talk“Order in the Chaos: Building the Amazon.com Platform."1995: Started out with a single web service on a single server.Today amazon has about 150 web services on its homepagealone. 1 million merchant partners; 60 million customers One server of customers and inventory grew into two servers;more database servers were added as the business expanded 1999: A mistep during this exponential growth period wasmoving to mainframe from distributed server. Failed to meetscalability, reliability and performance; it was scratched in 2000. Page 49IE565 Spring 20081/17/2008 Robustness: Shopping cart is tested for 20000 items by a singlecustomer, for example!Amazon’s secret sauce is “operating relaibly at scale”.After “the denial of service” debacle in 1999, they decided to use Webservices to insulate the databases from being overwhelmed by directinteraction with online applications.Each web service is the responsibility of a team of developers:– “And they are not just responsible for writing the service and thentossing it over the wall for testing and eventual entry intoproduction where some poor maintenance geek has to look after it.– The Amazon CTO tells his Web services team members: "You buildit. You own it."– That means the team is responsible for its Web service's on-goingoperation. If a Web service stops working in the middle of thenight, team members are called to fix it.”Web services are kept simple: complexity is the notoriousenemy of reliabilityNo attachment to one technology or standard: what evercustomer wants, give it. (Ex: REST and SOAP)Page 50IE565 Spring 20081/17/20089

SOA is a set of business, process, organizational, governance and technical methods to enable an agile, business-driven IT environment for greater competitive advantage. Page 22 IE565 Spring 2008 1/17/2008 Service-oriented architecture (5) From “Service-oriented architecture for d