IBM® WebSphere® Everyplace® Deployment for Windows and Linux Version 6Web Services
IBM® WebSphere® Everyplace® Deployment for Windows and Linux Version 6 Web Services
This presentation explains the Web Services capabilities in IBM WebSphere Everyplace Deployment for Windows and Linux Version 6.
Goals
Goals Understand the Web Services support provided by IBM WebSphere Everyplace Deployment for Windows and Linux Version 6 client
The goal of this presentation is to understand the Web Services support provided by IBM WebSphere Everyplace Deployment for Windows and Linux Version 6.
Agenda
Agenda Key Concepts Web Services Support
The agenda of this presentation is to explain key concepts and describe the Web Services support provided by the client.
Section
Section Key Concepts
Let’s start with an overview of key Web Services concepts.
Mobile Web ServicesWeb Services 101
Mobile Web Services Web Services 101 Web Services Description Language (WSDL) Describes the Web Services interface Top-down approach - Generate code from WSDL, typically used to develop Web Services clients Bottom-up approach - Generate WSDL from code, typically used to develop Web Services providers Simple Object Access Protocol (SOAP) Message format of a Web Services transaction Java API for XML-based Remote Procedure Call (JAX-RPC) Build Web Services using XML-based RPC function Lightweight Web Services Similar to JSR 172 (Web Services for J2ME) Web Services
Mobile Web Services enable you to develop applications that consume and provide Web Services. Before we explain the details of Mobile Web Services, let’s review some basic concepts. Web Services Description Language (WSDL) A WSDL document provides the description of the Web Services interface. Web Services can be created using a top-down or bottom-up approach. A top-down approach is used to generate code from a WSDL (typically used for developing Web services clients), whereas a bottom-up approach is used to generate a WSDL from code (typically used for developing Web Services providers). However, the IBM WebSphere Everyplace Client Toolkit Version 6 Web Services plug-in currently supports only the top-down approach. For more information about WSDL, please visit http://www.w3.org/TR/wsdl. Simple Object Access Protocol (SOAP) SOAP is the message format of the transaction that takes place when a Web Services client that communicates with a Web Services provider. The WSDL defines the restrictions on the format of these messages. For more information about SOAP please see http://www.w3.org/TR/soap. JAX-RPC The Java API for XML-Based Remote Procedure Call (JAX-RPC) enables developers to build Web Services using XML-based RPC functionality according to the SOAP 1.1 specification. For more information about JAX-RPC, please visit http://java.sun.com/xml/jaxrpc. Mobile Web Services is a light weight implementation that provides functionality similar to libraries that implement the Java 2 Micro Edition Web Services Specification (JSR-172).
Section
Section Web Services Support
Next, let’s explore the Web Services support provided by the client platform.
Mobile Web ServicesSimilar to JSR 172
Mobile Web Services Similar to JSR 172 Defines a standard interface for client to access Web Services Supports top-down approach Minimizes memory footprint Supports primitive and complex data types Plus IBM extensions… Web Services Web Services Stub (SPI) Web Services Runtime Stub Generator WSDL Web Service Web Services Client Application
JSR 172 defines a standard interface for a client application to access Web Services. Consistent with JSR 172, the Mobile Web Services Client wizard generates a static client stub class using the WSDL that is exported from the Web Services provider as its input. The stub is then used by a Web Services client application to invoke the Web Services provider. JSR 172 specifies support for primitive and complex data types e.g. boolean, byte, short, int, long, float, double, String, complex types (a type that allows elements in its content and may carry attributes), and arrays of primitive and complex types. IBM adds several important value-add extensions…
Mobile Web ServicesIBM Extensions
Mobile Web Services IBM Extensions Web Services Client Dynamic stub Provides Java interface to build applications Creates Web Services stub at runtime Allows support for custom serialization Web Services Provider Publishes an OSGi service as a Web Service Must implement a Java interface Generation of WSDL occurs at runtime Allows support for custom serialization Registers a servlet with the Web container Custom serialization (marshalling) Required to handle non-bean classes and types not supported by JSR-172 Developers must provide and register custom marshallers Web Services
A dynamic stub allows you to decide to use web services at runtime rather than build time i.e. dynamic stub allows web services to be configured and deployed in the field without involving a build team. A dynamic stub also allows a Web Services client to create and use custom marshallers for WSDL types that are non-bean classes or incompatible with JSR-172. Web Services Provider. Any OSGi service can be exposed as a Web Services provider using the toolkit, provided that the service implements a Java interface. Generation of a WSDL-document occurs at runtime using Java reflection into the OSGi service class. Custom serialization. If Web Services needs to handle non-bean classes or types that are incompatible with JSR-172, then you can provide and register custom marshallers to handle these classes or types.
Mobile Web ServicesIBM Extensions (continued)
Mobile Web Services IBM Extensions (continued) Web Services Security (WS-Security) Based on the WS-Security Minimalist Profile spec by OASIS Protects Web Services messages for clients and providers through support of the following OASIS Web Services Security Scenarios Basic Authentication Basic Authentication with Encryption Sign and Encrypt Encrypt and Sign Works with WebSphere Application Server 5.1.x and 6.0 Web Services
WS-Security. Web Services security is based on the WS-Security Minimalist Profile specification from OASIS (Organization for the Advancement of Structured Information Standards), which is used to secure SOAP messages. Web Services protects messages through support of 4 key OASIS Web Services scenarios, which we will explain on the next slide. Web Services security works with WAS 5.1.x and 6.0.
Web Services Security Scenarios
Web Services Security Scenarios Scenario #1: Basic Authentication - The request header contains a Username and Password. The response does not contain a security header. Scenario #2: Basic Authentication with Encryption - The request header contains a Username and Password that have been encrypted using a public key provided out-of-band. The response does not contain a security header. Scenario #3: Sign and Encrypt - The request body contains data that has been signed and encrypted. The certificate used to verify the signature is provided in the header. The certificate associated with the encryption is provided out-of-band. The response body is also signed and encrypted, reversing the roles of the key pairs identified by the certificates. Scenario #6: Encrypt and Sign - The request body contains data that has been encrypted and signed. The certificate associated with the encryption is provided out-of-band. The certificate used to verify the signature is provided in the header. The response body is also encrypted and signed, reversing the roles of the key pairs identified by the certificates. Web Services
This slide explains the 4 Web Services Security scenarios from OASIS that are supported by Mobile Web Services.
SSL Support
SSL Support Support on the client side You can specify the following properties for the client: -Djavax.net.ssl.keyStore=
-Djavax.net.ssl.keyStoreType= -Djavax.net.ssl.keyStorePassword= -Djavax.net.ssl.trustStore= -Djavax.net.ssl.trustStoreType= -Djavax.net.ssl.trustStorePassword= Specified in the rpcinstall.properties file See System Admin Guide or Developer’s Guide for additional information Support on the provider side SSL connection managed by web container Configure the web container Web Services
This slide explains how SSL support is available for Web Services clients and providers.
Slide 12
Trademarks, Copyrights, and Disclaimers The following terms are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both: IBM CICS IMS MQSeries Tivoli IBM(logo) Cloudscape Informix OS/390 WebSphere e(logo)business DB2 iSeries OS/400 xSeries AIX DB2 Universal Database Lotus pSeries zSeries Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Microsoft, Windows, Windows NT, and the Windows logo are registered trademarks of Microsoft Corporation in the United States, other countries, or both. Intel, ActionMedia, LANDesk, MMX, Pentium and ProShare are trademarks of Intel Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a registered trademark of Linus Torvalds. Other company, product and service names may be trademarks or service marks of others. Product data has been reviewed for accuracy as of the date of initial publication. Product data is subject to change without notice. This document could include technical inaccuracies or typographical errors. IBM may make improvements and/or changes in the product(s) and/or program(s) described herein at any time without notice. Any statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Any reference to an IBM Program Product in this document is not intended to state or imply that only that program product may be used. Any functionally equivalent program, that does not infringe IBM's intellectual property rights, may be used instead. Information is provided "AS IS" without warranty of any kind. THE INFORMATION PROVIDED IN THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IBM EXPRESSLY DISCLAIMS ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. IBM shall have no responsibility to update this information. IBM products are warranted, if at all, according to the terms and conditions of the agreements (e.g., IBM Customer Agreement, Statement of Limited Warranty, International Program License Agreement, etc.) under which they are provided. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. IBM makes no representations or warranties, express or implied, regarding non-IBM products and services. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents or copyrights. Inquiries regarding patent or copyright licenses should be made, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. The actual throughput or performance that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput or performance improvements equivalent to the ratios stated here. © Copyright International Business Machines Corporation 2005. All rights reserved. Note to U.S. Government Users - Documentation related to restricted rights-Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract and IBM Corp. Template Revision: 9/28/2005 5:50 PM