Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOA Best Practices INFOSYS 290, Section 3 Web Services: Concepts, Design and Implementation Adam Blum

Similar presentations


Presentation on theme: "SOA Best Practices INFOSYS 290, Section 3 Web Services: Concepts, Design and Implementation Adam Blum"— Presentation transcript:

1 SOA Best Practices INFOSYS 290, Section 3 Web Services: Concepts, Design and Implementation Adam Blum ablum@good.com

2 SOA Best Practices DESIGN Implement coarse-grained interfaces Invest in common document schemas BUILD Connect asynchronously Secure, reliable messaging infrastructure MANAGE Web services management for monitoring and policy Registry of all web services and associated information EXTEND Move beyond point to point web services integrations Transform to bring many applications online Tie into existing integration communities

3 DESIGN OPTIMAL INTERFACES

4 Interface Design Principles Move away from chatty method calls –Don’t merely surface your existing method- oriented APIs as equivalent SOAP/WSDL operations Represent entire business events as large hierarchical documents –Individual applications may only be interested in fragments of those documents Start with the XML schema –Import into WSDL and use reusable types in your WSDL operations

5 Common XML Document Schemas Create library of reusable types, elements, and documents important to your business Start with industry schemas when applicable –Vertical industry standards: ACORD, FPML, RosettaNet Test complexities of industry schemas with your SOAP toolset –Enumerations –Nested groups

6 Phasing Your Architecture Efforts Data and document architecture –What are the important business events –What are the common data types and abstractions necessary to represent those business events Interaction architecture –What participants (people, applications) need what data? –What participants will contribute what data? Process flow architecture –Describe how data flows across services and applications: its order, dependencies, and atomicity

7 BUILD WITH MODERN WS-* STANDARDS

8 Architect for Asynchrony Synchronous invocation of remote web service operations creates automatic bottleneck in your application In calling application, design callback that executes appropriate business logic on successful processing by remote web service Make sure your web services stack provides true asynchrony –High level asynchrony: client using time between request and request –Low level asynchrony: request and response sent via different transport channels (e.g. email response)

9 Use WS-Security Critical step toward enabling transactional web services –Message has not been tampered with –Third parties are not interecepting and reading them There are many interoperable implementations now Guarantee of message confidentiality and integrity –Over any transport –Through intermediary platforms –When archived

10 Use Reliable Messaging Infrastructure Yes, this is just becoming possible with recent WS-RM implementations But if you can control both ends of your web service integration, use WS-RM Can allow elimination of redundant “acknowledge” messages at the “business logic” level Obvious result –More reliability Less obvious: –Less code to process the redundant message traffic –Higher performance from avoiding unnecessary messages

11 REGISTER AND MANAGE YOUR WEB SERVICES

12 Create an Enterprise Service Registry service-oriented architecture implies reuse of services across many applications across the enterprise –This won’t happen unless the enterprise’s developers can easily find those services and learn how to connect to them Use a standard-based registry: UDDI –There have been many attempts historically to create products about registering reusable corporate development resources –UDDI is the first standards-based effort in this space –And its completely focused on web services –Additional versions of the standard and incremental Tech Notes are making the standard more robust –Vendor implementations of the UDDI standard can be swapped out as new implementations of current standards and Tech Notes emerge

13 Web Services Management Services need monitoring of –Performance –Reliability –Throughput –Resulting availability Services need enforcement of –Access policies –Chargeback policies Plan out mix of capabilities from –your SOAP stack –your app server –potentially your web services management tool

14 EXTEND WEB SERVICES TO THE REST OF YOUR APPS AND INTEGRATION PLATFORMS

15 Move Beyond Point to Point Point to point web services are very useful –But after you succeed in your initial web services deployments you want to integrate many applications at a time Publish/subscribe messaging platforms (Tib, MQSeries, JMS) have allowed this for some time Content-based routing can enable this for web services and XML document-oriented communications even easier –Recent standards such as WS-Eventing and WS-Notification promise a web services oriented flavor of content-based routing Result should be –Efficiency of multiple application integration with publish/subscribe –Simplicity of web service standards –May be able to leverage the openness of XML documents and open query mechanisms to avoid predefined topic hierarchies

16 master product catalog application inventory application supplier Accounts Payable website catalog supplier data mining software store Content-Based Routing service NewProduct Move Beyond Point to Point

17 Transformation to Integrate Application Once you’re integrating multiple applications at once you want to add as many apps as possible to the mix Use content transformation of XML documents (via XSLT, XQuery, proprietary Java adapters) to transform connecting applications unique XML formats to common schemas Architect solution so that potentially performance expensive transformation can occur without impacting overall app throughput –Asynchronous integration is ideal –Hardware assistance can be useful –Handcoded Java-written transformations may be necessary for bottlenecks

18 Gateways to Message-Oriented Middleware The fastest way to integrate with as many applications as possible is to bridge to existing integration broker platforms (Tibco, MQSeries, JMS) Connecting your web services integrations to those environments jumpstart a robust community of applications Leverages your existing MOM infrastructure but –Easier to use from many development tools –Cheaper to connect to many applications –Better path to future integration techniques

19 Leverage standards wherever possible Design coarsegrained XML document interfaces Build asynchronous connections Invest in a corporate web services registry Move beyond point to point integration with content-based routing and legacy MOMs


Download ppt "SOA Best Practices INFOSYS 290, Section 3 Web Services: Concepts, Design and Implementation Adam Blum"

Similar presentations


Ads by Google