Preview of Web Services Reliable Messaging in SAP NetWeaver Process Integration 7.1 Applies to: SAP NetWeaver Process Integration IT Scenarios in Version 7.1 Summary In this article I introduce some details about WS-Reliable Messaging and its implementation in the forthcoming release of SAP NetWeaver PI. Author: Daniel Horacio Bianchin Company: SAP Created on: August 2007 Author Bio Daniel has been working with SAP technology since 1996, and in 1997 he joined SAP. Over the last 9 years he has worked on more than 35 projects plus consulting, training and presales activities. At SAP, he started as an ABAP and RFC (C++) consultant later began to work with ALE interfaces, doing quality assurance, development optimization, in-house software development and design, and then CRM Internet Sales implementation and interface architecture design. After that, he has been leading development and integration teams using SAP BC and XI. In 2005 he joined the SAP NetWeaver Regional Implementation Group. 2007 SAP AG 1
Table of Contents Introduction...3 Standards in general...3 General value of open standards...3 What is OASIS?...3 Web Services Standards...3 WS-Reliable Messaging Standard Specification...3 Reliable Message Layer Responsibilities...4 Sequence : Definition and Exchange Protocol...4 Implementation in SAP NetWeaver PI 7.1...5 Sequencing support: SAP Design Criteria...5 Configuration Time...6 Summary...8 Copyright... 10 2007 SAP AG 2
Introduction Standards in general General value of open standards Open standards help naturally achieve interoperability among SOA-based application, with lower integration efforts. They also simplify the development of Enterprise SOA applications in different ways. Since many usual types of requirements you usually find, like interoperability, security, semantics, modeling, etc., are already defined and implemented, you can concentrate on service composition and orchestration tasks. Developers also find it easier to learn and use software to implement standards, since they quickly become familiar and find out how to use new tools. What is OASIS? One of the organizations that work in standards definition is OASIS. It stands for Organization for the Advancement of Structured Information Standards It is a not-for-profit, international consortium that drives e-business standards and drives e-business standards development, convergence and adoption. It was founded in 1993, and has about 5000 participants (600 organizations and individual members). Visit OASIS at http://www.oasis-open.org They have a number of committees that work on different categories like web services, XML processing, standard adoptions, etc. SAP is a Foundational sponsor. Foundational Sponsors are globally recognized as industry leaders and innovators. Web Services Standards There are a variety of specifications associated with web services (like WS-Reliable Messaging, WS- Addressing, WS-Security, WS-Policy, WS-BPEL, etc.). Web service specifications are occasionally referred to collectively as "WS-*".These specifications are maintained or supported by various standards. The scope of these specification is pretty broad; it ranges from metadata, messaging or reliable messaging to interoperability, business processes, security or transaction handling, etc. WS-Reliable Messaging Standard Specification WS-Reliable Messaging describes a protocol that allows messages to be delivered, complying with a certain quality of service; it is Independent of network technologies and is based on Web Services Specification. The February 2005 version was submitted to the OASIS Web Services Reliable Exchange (WS-RX) Technical Committee. Voting to approve the resulting WS-Reliable Messaging 1.1 as an OASIS Standard begins on May 16th, 2007. 2007 SAP AG 3
In accordance with OASIS, the purpose of the WS-Reliable Messaging (WS-RM) specification is to create a generic and open model for ensuring reliable message delivery for Web Services. This specification describes a protocol that allows messages to be delivered reliably between distributed applications in the presence of either software component, system or network failures, and this protocol is described in a transport independent way allowing it to be implemented using different network technologies. The basic value of this specification is the description of a foundation level support layer for information replication. Other vendors like Microsoft and IBM also support WS-Reliable Messaging specification. Reliable Message Layer Responsibilities It is and independent software layer from application layer. Many errors may interrupt a conversation. Messages may be lost, duplicated or reordered. Further, the systems may experience failures and lose messages. The delivery assurance is the concept that defines the quality of service for a message. Messages for which the delivery assurance applies, contain a sequence header block. The protocol supports the endpoints in providing these delivery assurances. It is the responsibility of the RM Source and RM Destination to fulfill the delivery assurances, or raise an error to the application layer. The protocol defined allows endpoints to meet this guarantee for the delivery assurances. Sequence : Definition and Exchange Protocol The WS-RM protocol uses a "Sequence" header block to track and manage the reliable delivery of messages. Each sequence has a unique identifier element, and each message within a sequence, has a message number element that increments by 1 from an initial value of 1. These values are contained within a sequence header block accompanying each message being delivered in the context of a sequence. 2007 SAP AG 4
In the picture, you can see an example where two endpoints exchange a sequence of messages. The protocol is as follows: 1. First of all, some preconditions are arranged 2. Then, the consumer endpoint A, asks endpoint B (the provider) to create a sequence and endpoint B, answers with a sequence identifier. 3. After that, the consumer endpoint starts to send messages, including the number and the last message token when required. 4. Later Endpoint B (the provider side), sends back an acknowledgement with a list of the message numbers it received. 5. If the consumer realizes that the server missed some of the messages, it sends the missing messages again, adding an acknowledgement request at the end. 6. At that moment, the provider side issues the new acknowledgement message. 7. When the consumer finally makes sure that every message reached the server, it sends a terminate sequence command. Implementation in SAP NetWeaver PI 7.1 The SOAP adapter as of today supports already asynchronous messaging, however with proprietary means since there was no standard available before, now the WS-RM protocol is supported via an own entry in the integration engine (implemented in ABAP) and not the adapter engine. The XI 3.0 and XI 2.0 protocol will still be supported as well. Sequencing support: SAP Design Criteria SAP Design Criteria offers abstraction from the Technical (WS-Reliable Messaging) Sequences: 2007 SAP AG 5
The SOAP Sequence is a Logical Sequence and the WS-Reliable Messaging Sequence is the technical one, that is applications interact using a Logical Sequence ID, and the WS Runtime environment maps them to the WS-Reliable Messaging sequence. This sequencing has a transactional behavior A whole sequence is represented by a transaction, but on the other hand on the provider sides, each message represents a separate transaction. Configuration Time At configuration time, when you are creating your communication channels in the Integration Directory, there is a new type of adapter called Web Service. Also the protocol is automatically set to WS-RM 2005/02 2007 SAP AG 6
The Integration Directory replicates all the required web service and cache configuration to every SAP backend system. 2007 SAP AG 7
The providers services published on the back-end systems are also automatically generated by the Integration Directory: Both SAP Process Integration and back-end systems caches are automatically loaded: Summary SAP Process Integration and the application platform now support the WS-Reliable Messaging open standard protocol. 2007 SAP AG 8
SAP Process Integration tools allows you to centrally develop and configure the WS-Reliable Messaging integration scenarios. The configuration is automatically propagated to the back-end systems! The SAP Web Application Server provides automatic services to guarantee that information is properly replicated. 2007 SAP AG 9
Copyright Copyright 2007 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iseries, pseries, xseries, zseries, System i, System i5, System p, System p5, System x, System z, System z9, z/os, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/os, POWER, POWER5, POWER5+, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mysap, mysap.com, xapps, xapp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. These materials are provided as is without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages. Any software coding and/or code lines/strings ( Code ) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent. 2007 SAP AG 10