Web Services mit WebSphere Kai Schwidder Certified IT Architect IBM Software Group kai.schwidder@ch.ibm.com Oktober 2003
Agenda! Web Services as part of on-demand computing Terminology Styles of integration Service Oriented Architecture! Standards and Specifications 3 phases of standardization Standards Roadmap! Product Roadmap Foundation & Tools Business Integration! Reference Sparkassen Informatik! Resources
What is a Web Service?
Five Styles of Integration Different Types of Integration Required Value Chain Consumers User Interaction B2C Site Process Integration Customer Relationship Management Heterogeneous Environments New e-business Applications Trading Partners B2B Portal Service Provider Integration Into ERP and HR Systems Application Connectivity Build to Integrate "Legacy" Apps Information Integration Service Providers Product Development Management Suppliers Supply Chain Management
Service Oriented Architecture
What is a Service Oriented Architecture! Service oriented architectures are intended to promote flexibility via reuse and clear definition of interfaces All functions (that need to be used by more than one system) can be defined as "services Each service has a clearly defined, implementation-independent interface which is common to all service clients! Three levels of granularity Business Transaction (e.g. renewpolicy) Business Function (e.g. getstockprice) Technical Function (e.g.checkuserauthorization)! Basic Rules Service Providers and Requestors are loosely-bound Process and state models need only agree at the level of shared business process
Use of WebServices within a Service Oriented Architecture Consumer Provider Process Architecture Service Architecture 3. Integrate 2. Expose 1. Componentize Component Architecture Bindings dissociate Abstract from Implementation and Protocols
Standardization
IBM Web services standards leadership! W3C Author, XML Schema Primer Chair, Web Services Coordination Group Chair, XML Protocol (SOAP) Working Group Editor, Web Services Description Working Group! WS-I Founder! OASIS Initiator and Chair, Web Services for Interactive Applications TC Initiator and Chair, Web Services Remote Portal TC UDDI.org Founder IBM is the industry leader in W3C, participating in over 20 working groups.
The Evolution of Web Services Standards Phase 1 Connection XML Schema SOAP WSDL UDDI WS-I Basic Profile Phase II Security and Reliability XML Digital Signature XML Encryption WS-Security SAML WS-ReliableMessaging WS-Addressing Phase III Enterprise Provisioning Transactions Workflow Systems management Evolving to resolve customer pain
Enterprise Phase specifications Workflow Management Coalition (WfMC) 1994 Jointflow Workflow Management Facility (CORBA) 1998 Simple Workflow Access Protocol (SWAP) 1998 Flow Definition Language (FDL) - IBM Used by MQ Workflow to describe workflow 2002: WSAD IE, Siebel UAN Wf-XML Web Services Flow Language - IBM 2001 Business Process Modeling Language (BPML) BEA, XLANG Microsoft XPDL 1.0 beta (WfMC) BPEL4WS IBM, BEA, Microsoft 2002
Business Process Execution Language for WebServices! Provides language elements to define An executable Business Process Can be compared to an FDL definition in MQ Workflow An abstract Business Process A simple view of a business process Execution is not guaranteed More easy to share with partners Activities represented as Web Service! Tools available on Alphaworks: BPEL4WS Framework Eclipse pug-in SOAP Siebel Universal Application Network (UAN): Publishes business process templates and OEMed them to IBM (WBI) Currently in WSFL http://www.siebel.com/products/application_network/index.shtm WS-Transaction HTTP SMTP WS-Coordination MQ WS-Security IIOP BPEL4WS WSDL SOAP Java WSIF JCA JMS UDDI...
Product Roadmap
WebSphere Software Platform Portals Commerce Personalization Site Analytics Pervasive Devices Voice Translation Business Modeling Process Integration Process Automation Message Interaction B2B Integration Application Serving Assured Messaging Role-based Tools Application and Data Access
WebSphere Studio Tools Family
Business Integration
The WebSphere Business Integration Platform Accelerators Comprised of multiple technologies Potrtfolio of pre-built software/ip providing fast starts and industry best practices Business Process Management Process Managers B2B Orchestrates all required resources within specific business processes Enables automated interactions and transactions between an enterprise and its trading and business partners Message Brokers Provides high speed, high volume message switching, pub/sub and information manipulation Information Connectivity Application Servers Provides application execution and base integration platform Adapters Applications and Data Transport Provides translation between Application Interface and communications model Provides communications between Applications and Data via a common transport standard Business Function and Business Data
Service Interaction patterns JCA Adapter Workflow Micro - flows! Single process! Volatile state! Short-lived interactions Message - flows! Multiple process! Stateful messages! Immediate or delayed Macro - flows! Multiple process! Persistent state! Long-lived interactions Business Process Automation
Tooling: Business Process Choreograph
Reference
Reference: Sparkassen Informatik! The Challenge "Help savings banks secure an advantage in a competitive market by providing automated front-to-backend integration while reducing costs "Support 270 Sparkassen with a total of 50.000 55.000 users using standard components! The Solution "Web-service enablement of SI's existing application architecture! Why IBM? "A Java -based solution that leverages mature Internet standards and emerging Web services standards and technologies, plus support from IBM Global Services and IBM jstart! The Benefit "A surge in value by delivering realtime, fully integrated and consistent service network capabilities to customers across all lines of business regardless of the legacy software involved The use of Web services allows us to develop solutions in a timely manner. Moreover, it gives our customers the freedom to purchase best-of-breed products and easily connect them to our backend functionality. Detlev Klage, Executive for Business Process Development and Integration, Sparkassen Informatik
Sparkassen Informatik (SI) Platform Independent Java Client.NET Client Browser Office Application WSDL Documentation generate IBM eserver TM zseries TM pseries TM xseries TM IBM eserver zseries CICS IBM WebSphere Web Application WEB SERVICES Java TM Framework Java Backend Connectors (IBM WebSphere MQ, CICS ) Control Logic Business Logic Database (IBM DB2 ) generate generate Repository
Resources
Get jump-started on Emerging Technology! IBM jstart Program Group of highly skilled and experienced experts Focus on emerging technologies Web Services Pervasive Computing Delivers: Mentoring Workshops Complete solutions More info? jstart@us.ibm.com http://www-3.ibm.com/software/ebusiness/jstart/
Resources! IBM developerworks web services domain http://www-106.ibm.com/developerworks/webservices/?loc=dwmain! IBM alphaworks http://www.alphaworks.ibm.com! IBM web services homepage http://www-4.ibm.com/software/solutions/webservices/! OASIS http://www.oasis-open.org/home/index.php! World Wide Web Consortium (W3C) http://www.w3.org/! Java Community Process (JCP) http://www.jcp.org! Apache http://xml.apache.org! WS-I http://ws-i.org
Backup
There are two important characteristics of interfaces within Service Oriented Architecture! Interface by contract An explicit interface definition or contract is used to bind a service requestor and a service provider Specifies explicitly only the mutual behaviour - specifies nothing about the implementation of the requestor or the provider Allows either to change implementation or identity freely! Interface granularity Few, Large grained interactions Each interaction fulfills a business process step There is no shared state at a lower level SYSTEM 1 Internal code and processs Interface Code CONTRACT Shared process and interface definitions Interface Code SYSTEM 2 Internal code and processs
Runtime: WebSphere Application Server XML 1.0 and XML 1.1 (Xerces, JSR 5: JAXP) XPath 1.0 & XSLT 1.0 (Xalan) XML Schema 1.0 (Xerces) SOAP 1.1 & SOAP 1.1 w/attachments (Apache SOAP 2.2) WSDL 1.1 (vis-à-vis WSAD) UDDI 1.0 (UDDI4J v 1.0) SOAP 1.1 & SOAP 1.1 w/attachments (Apache SOAP 2.3) UDDI 1.0 & 2.0 (UDDI4J v 1.0 v2.0) WS-Inspection UDDI 1.0 Registry (UDDI4J v 1.0 v2.0) 4.x 5.0 & 5.0 Enterprise 5.0.1 5.0 Network Deployment 5.0.2 SOAP 1.1 & SOAP 1.1 w/attachments (Apache SOAP 2.3 & IBM SOAP) UDDI 1.0 & 2.0 (UDDI4J v 1.0 v2.0) WS-Security (leverage JSR 109) XML Encryption (not exposed, part of JSR 109) XML Signature (not exposed, part of JSR 109) WS-I Basic Profile 1.0 (Board approval DRAFT) JSR 101 (Java API for XML-based RPC) JSR 109 (Enterprise Web Services v 1.0) SAAJ 1.1 (SOAP with Attachments API for Java) WSIF (Web Services Invocation Framework)
Tooling: WebSphere Studio Application Developer XML 1.0 and XML 1.1 (Xerces, JSR 5: JAXP) XPath 1.0 & XSLT 1.0 (Xalan) XML Schema 1.0 (Xerces) SOAP 1.1 & SOAP 1.1 w/attachments (Apache SOAP 2.2) WSDL 1.1 UDDI 1.0 (UDDI4J v 1.0) SOAP 1.1 & SOAP 1.1 w/attachments (Apache SOAP 2.3) UDDI 1.0 & 2.0 (UDDI4J v 1.0 v2.0) WSIL 1.0 (Web Services Inspection Language) Enhanced DB2 user-defined functions support (UDF) 4.x 5.0 5.0.1 5.1 SOAP 1.1 & SOAP 1.1 w/attachments (Apache SOAP 2.3 & IBM SOAP) SOAP-JMS WS-Security XML Encryption XML Signature WS-I Basic Profile 1.0, Test Tools, Sample Apps (OASIS DRAFT) JSR 101 (Java API for XML-based RPC) JSR 109 (Enterprise Web Services v 1.0)
Web Services SDK! Free web download Get it at http://www-106.ibm.com/developerworks/webservices/wsdk/! Basic support for web services creation and consumption! Entry into web services world Focus on ease of use, good documentation! Comes with WebSphere App Server IBM JDK Private UDDI Registry! Support for new J2EE standards JAX-RPC JSR109! Support for WS-Security! Support for ws-i.org Basic Profile! No production license, support only through discussion forum
Values of a Service Oriented Architecture! Build once, use often One place to make one change - brings encapsulation from the Object world to the Enterprise world Re-use means each element of your business is captured and implemented in only one place, so changing it is straightforward! Whilst re-use has benefits in development and maintenance costs, flexibility is the primary goal of reuse in Service Oriented Architecture! Interface by contract Loosely couples requestor and provider so each can vary independently Integration is explicitly defined and so better understood, at the application and Enterprise level Implementation independent interfaces mean any of your business systems can be changed with the minimum possible knock-on effects to other systems! Few, large-grained interactions, each commonly agreed Again promotes looser coupling as small-grained state and process models are independent Assuming connectivity is more expensive than pure processing, makes for a more efficient use of runtime resources! Simplified, agreed, defined data and process flows - at the application and Enterprise level Less variation and complexity to manage Easier to change large-grained processes if individual steps are well defined and contain less complexity With clearly defined interfaces between all business systems, you can start modeling (and changing) the business process captured by them at a level above individual systems Service Oriented Architectures are an enabler for process modeling at a truly enterprise scale
Enterprise Phase specifications! Announced in August 2002 by IBM, Microsoft and BEA! Business Process Execution Language for Web Services (BPEL4WS) Merger of WSFL (IBM) and XLang (Microsoft) Language to describe web services composition into flows First Java implementation available on alphaworks, called BPWS4J Will be made a standard via OASIS TC http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel! WS-Transaction and WS-Coordination Address reliable and durable operations within a web services environment Enable interoperability to support, integrate and unify popular transaction models and technologies Enable enterprises to functionally integrate their web services and business processes to result in correct, mutually agreed outcomes Fully defines the mechanism to operate across heterogeneous and distributed environments to support transactional properties
WebSphere Directions Web Services Grid Services Microsoft.net Applications on demand Dynamic, Multidimensional Business Integration QoS Resources on demand Intelligent network utilization & scaleability Eclipse J2EE Flexible, "portal-like" development environment Roles-based Tools on demand Secure, end-to-end Business Impact management Access on demand Development Services Services Management
Tooling: Ready to test immediately