Introduction To Service Oriented Architecture

Transcription

Introduction to Service OrientedArchitectureCSCI-5828 Foundations of SoftwareEngineeringMing LianMarch 2012

Executive Summary This Executive Summary gives the straight word to the fresh that have interests inService Oriented Architecture. It is going to give you the basic knowledge andprinciples of SOA, why to choose it, how it works and what the differences andbenefits it can bring to us.The SOA Executive Summary specifically for students and developers who want tohave some basic "SOA Literacy". The slides will cover SOA concepts, Serviceconcepts, benefits of SOA, architecture comparison, terminology as well as standardsof SOA. What is a Services-Oriented Architecture (SOA)? When and why would you use SOA? When and why do we need a SOA?How does a SOA work?What makes a SOA different?How does SOA support business application flexibility, agility, scalability and quality?Who should adopt SOA? What kind of business and people would take advantages of SOA?2

Goals Present an introduction to the topic of ServiceOriented Architecture What is Service?What is SOA?Why SOA?SOA ArchitectureTraditional Architecture VS SOA ArchitectureKey standards and technology of SOAChallengesWho adopted SOA?3

What is Services? Service is component of distinctive functional meaning thattypically encapsulate a high-level businessconcept Lego block Service contains Contract – message type def, constraint,description (comment) Interface – set of operations Implementation – Logic and data4

Type of Services5

Examples of a Service Creating a Purchase Order inside amainframe application Requesting and reserving a room in ahotel Applying for a loan by filling out a loanrequest form Search books/music based on keywords6

What is SOA? A set of components which can be invoked, and whoseinterface description can be published and discovered(W3C). Service-oriented architecture is a client/server designapproach in which an application consists of softwareservices and software service consumers (also known asclients or service requesters). SOA differs from the moregeneral client/server model in its definitive emphasis onloose coupling between software components, and in itsuse of separately standing interfaces (Gartner).7

What is SOA? Service-Oriented Architecture is a business-driven ITarchitecture approach that supports integrating yourbusiness as linked, repeatable business tasks, orservices. SOA helps today’s business innovate byensuring that IT systems can adapt quickly, easily andeconomically to support rapidly changing businessneeds. SOA helps customers increase the flexibility oftheir business processes, strengthen their underlying ITinfrastructure and reuse their existing IT investments bycreating connections among disparate applications andinformation sources. (IBM)8

What is SOA?9

SOA Characteristics Based on open standardsFoster inherent reusabilityFoster intrinsic interoperabilityEmphasizes extensibilityFundamentally autonomousPromotes dynamic discoveryPromotes architectural composabilityPromotes loose coupling throughout theenterprise Supports incremental implementation10

SOA Characteristics Services are platformindependent, self describinginterfaces (XML) Messages are formally defined Services can be discovered Services have quality ofservice characteristics definedin policies Services can be provided onany platform Can be ledScalable11

Potential Benefits of SOA Efficient and effective usage of ‘Business Services’Improved Integration, intrinsic interoperabilityOrganizational agilityLoosely-coupled with reusable assets and servicesDrives business processes closer to end usersLeverage and integrate existing applicationsProvide standard connections between systemsAbstract complexity for developers12

Potential Benefits of SOAFeedback atdifferent levelsMore efficientdevelopment processReuseAgilityIndependence fromtechnologyAdequate businessinfrastructureCost savingsEvolutionaryapproachRisk mitigation13

Shift to rvice-Oriented14

Why SOA?Research &DevelopmentMarketingAccountingDistributed DataDistributed ComputationDistributed users .Customer ServiceManufacturingSales15

Why SOA? Interoperation issues– Heterogeneous network protocols– Heterogeneous hardware platforms– Heterogeneous operating systems– Heterogeneous application formats– Increased Competitions Enhancement of Business Capabilities There must be consensus On Interoperability16

SOA architectureService DirectoryRegistersFinds 7

Traditional Architecture Vs Service OrientedArchitectureTraditional ArchitectureService Oriented ArchitectureARCHITECTUREARCHITECTURE Components are tightly coupledInterface between subsystems is explicitly defined interms a stack of protocolsKnown implementationComponents are not independent of implementationattributesTends to be closed architecture – Difficult to replace, orreuse components from one system to anotherCommonly, functions are accessible with the help ofpoint-point connections over the networkTends to be confined to a single organizationBased on standard set of layer – presentation, business,data access, Database Loose coupling by means of services with standardizedinterfacesApplication components communicate only throughservices and can be plugged in to any infrastructure thatimplements the standardized service Uses abstraction and is based on XML over SOAPLargely independent of implementation attributes Loosely coupling between interaction softwarecomponents – leads to re-use of software componentsDesigned to follow publically accessible models forconsumptionMeant for enabling participation of multiple organizationsRequires additional layers Business layer Service and business model /components Service Bus / Service Facade BPM 18

Traditional Architecture Vs Service OrientedArchitectureTraditional ArchitectureService Oriented ArchitectureSTANDARDSSTANDARDS Involves only traditional J2EE and Web related standardsUses only HTTPUses HTTPS for securityMore or less stable set of standardsIncludes standards related to Web ServiceBuilds a messaging layer above HTTP using SOAPPrefer WS-Security for end-to-end securityImplementations must deal with evolving set of standardsUSAGEUSAGE Process centricKnown context of usageWorkflow centricTo a large extent, future context of usage unknown at thetime of design i.e unknown users and usage platforms19

Key components of erpriseService usiness Logic20

Key components of SOA Services (common denominator)Service DescriptionAdvertising and DiscoverySpecification of associated data modelService contracts21

Associated eS JBITMessaging-ISWUDDISODAXSDSOAPWeb MEDTDMPBSchema22

Associated TerminologyBPOBusiness Process OutsourcingBPMBusiness Process ManagementESPEnterprise Service ProviderGDMGlobal Delivery ModelSOAService Oriented ArchitectureSODAService Oriented Development of ApplicationsSOBAService Oriented Business ApplicationsSOEService Oriented EnterpriseWSWeb Services23

Key Standards of and Technology of SOA24

SOA Platform25

How Does SOA Work?Searches esServiceContractInvokesServiceFulfillsBased onClient( Application front-endor services)UsesService Stub26

Challenges of SOA Technical Challenges Security challenges - loosely coupledenvironment Performance - XML brings robustness not speed Optimization Organizing the services – registry & repository Finding the right services and right interfaces Transaction management is complex ininteractions between logically separate system27

Where SOA made a difference eBay Abstracting enterprise information Helped to mange more than 2 perabytes of dataIBM 77 shareable and reusable services in production Reduced application inventoriesHewlett Packard Reuse across services Cutting operational costsAmazon.com Handle 60 million customers and one million partners Handle growing Transactional loadCiti Group Governace Enable “separation of powers” among corporate, divisions, departmentsDreamWorks Simplify and consolidate key business operations Use SOA to make movies a easier processVolvo Better customer service by linking all dealership in Belgium28

Wrapping Up Adopting SOA is essential to deliver the business agilityand IT flexibility promised by Web Services. SOA enables dynamic collaboration among looselycoupled, reusable software components throughstandard Internet protocols. SOA not only has many potential benefits to businessand IT model but also holds several challenges thatneed to be solved in future improvement. SOA made differences to many entrepreneurs includingIT, Sale, Financial and manufacture. SOA needs a bunch of standards and technologies tosupport that are widely deployed and acceptable29

ResourcesBooks:SOA : Using Java Web Services- by Mark D. HansenService-Oriented Architecture (Concepts, Technology and Design) - byThomas ErlWeb resources:Amazon Web service:http://en.wikipedia.org/wiki/Amazon Web ServicesOracle SOAhttp://en.wikipedia.org/wiki/Oracle SOA SuiteService component architecturehttp://en.wikipedia.org/wiki/Service component architectureService-oriented analysis and d analysis and design30

ResourcesOpen ESBhttp://en.wikipedia.org/wiki/Open ESBService-Oriented ted /overview.mspx31

References Douglas K. Barry, Web Services and Service-OrientedArchitectures: the savvy manager’s guide. Thomas Erl, Service-Oriented Architecture: concepts,technology and design. Thomas Erl, Service-Oriented Architecture: a field guideto integrating XML and web services. ObjectWeb, http://middleware.objectweb.org/ OMG, http://www.omg.org/ Doug Schmidt’s CORBA page,http://www.cs.wustl.edu/ schmidt/corba.html32

References Alan Mateus and Danilo Vieira, SOA PlatformTechnologies IBM SOA glossary, ary/index.html http://www.slideshare.net/Zubin67/soappt-3988559 http://www.slideshare.net/Byungwook/soa-overview serviceoriented-architecture33

Service-oriented architecture is a client/server design approach in which an application consists of software services and software service consumers (also known as clients or service requesters). SOA differs from the more general client/server model in its definitive emphasis on loose coupling between software components, and in its