Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708:...

18
Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture Design Patterns

Transcript of Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708:...

Page 1: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

Service Oriented Architecture

CPSC 410

Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-

Oriented Architecture Design Patterns

Page 2: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

Service-Oriented Architectures

• Big problem in business is integration of IT.

Page 3: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

BEWARE! TLAs ahead.

• A lot of good ideas cluttered with industry/vendor jargon, incl. SOA:– WSDL, ESB, WS-*, CORBA, J2EE, SOAP

• Challenge is to identify the useful benefits and adopt the tech you need

• Thinking in terms of NFRs can be helpful.

Page 4: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

SOA: Why? (IBM)

• Increasing the speed at which businesses can implement new products and processes or change existing ones

• Reducing implementation and ownership costs • Enabling flexible pricing models by outsourcing• Simplifying integration • Achieving better IT utilization and ROI• Simplifying the enterprise architecture and

computing model

Page 5: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

SOA: Challenges (IBM)

• Changes to one system tend to imply ripples of change at many levels to many other systems.

• No single, fully functional integration solution will "talk to," or work with, them all.

• No single data, business, or process model spans, much less extends beyond, the enterprise.

• All these issues apply even more to integration with the systems of existing or future partners.

Page 6: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

What is SOA?

• Service-oriented architecture• Model business IT functions as modular,

decoupled, independent services• Enterprise-wide in scale and scope (think all of

Coca-Cola)• Use open standards to exchange data

Page 7: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

Diversion: CMMI

• SEI’s Capability Maturity Model Integration• Levels of organizational capability:

1. Incomplete2. Performed3. Managed4. Defined5. Quantitatively managed6. Optimizing

Page 8: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

SOA layered architecture

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

Page 9: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

SOA Architectural Style

Page 10: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

SOA design principles

• Services are loosely coupled– Must figure out correct level of abstraction

• Services are location-transparent – Use a registry to find them

• Services are interoperable– Use standards like XML, SOAP, WSDL, HTTP

• Services are composable– Business processes made of multiple services

Page 11: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

Levels of service maturity

• Silo (data integration)• Integrated (application integration)• Componentized (functional integration)• Simple services (process integration)• Composite services (supply-chain integration)• Virtualized services ( virtual infrastructure)• Dynamically reconfigurable services (eco-

system integration)http://www.ibm.com/developerworks/webservices/library/ws-soa-simm/

Page 12: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.
Page 13: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

Questions

• What services might be relevant if we modeled the Microsoft HR department?– Scheduling interviews– Scheduling interviewers– Reimbursing expenses– Managing hiring decisions– Making an offer/financial modeling

Page 14: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

SOAP

• The “Simple” Object Access Protocol• Exchange structured messages for web

services• Basic WS messaging framework• Send message (primarily) with HTTP• XML de facto message format

Page 15: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

SOAP in web servicesht

tp:/

/en.

wik

iped

ia.o

rg/w

iki/W

eb_s

ervi

ce

Page 16: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

Soap SamplePOST /Supplier HTTP/1.1Host: www.somesupplier.comContent-Type: text/xml; charset="utf-8"Content-Length: nnnnSOAPAction: "Some-URI"

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:OrderItem xmlns:m="Some-URI"> <RetailerID>557010</RetailerID> <ItemNumber>1050420459</ItemNumber> <ItemName>AMF Night Hawk Pearl M2</ItemName> <ItemDesc>Bowling Ball</ItemDesc> <OrderQuantity>100</OrderQuantity> <WholesalePrice>130.95</WholeSalePrice> <OrderDateTime>2000-06-19 10:09:56</OrderDateTime> </m:OrderItem> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Page 17: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

HTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8"Content-Length: nnnn

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV:Body> <m:OrderItemResponse xmlns:m="Some-URI"> <OrderNumber>561381</OrderNumber> </m:OrderItemResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope>

Page 18: Service Oriented Architecture CPSC 410 Some content based on IBM’s SOA material, especially SW708: For Business Partners: Service-Oriented Architecture.

Web services stack

• “Big” web services use protocols like SOAP, WS-Integration, WS-Messaging etc (WS-*)

• Popular in the enterprise• Often seen as too complex or YAGNI for

smaller applications• REST style preferred for support of scale and

modularity