® IBM Software Group © 2009 IBM Corporation Updated August 15, 2015 WebSphere Enterprise Service Bus WebSphere Integration Developer Mediation Policy Extensions Brian Hulse: WESB Development
IBM Software Group © 2009 IBM Corporation 2 Mode1: Module Scope Module SCA Module Definition Policy Resolution Primitive Delivered in 6.2
IBM Software Group © 2009 IBM Corporation 3 Extends 6.2 function to allow for: Attachment of Mediation Policies at Target Service scope Service Port PortType Binding BindingOperation PortTypeOperation The “more particular” scope overrides the “less particular” Value for Assertion on Operation would override value for assertion on Service, for example Intersection of Module and Target Service scopes Both Module and Target Services policies have to match Mediation Policy 7.0 Operation Endpoint Service
IBM Software Group © 2009 IBM Corporation 4 Policy Resolution Primitive Mode 2: Target Service Scope PortType Binding Port Service PortTypeOperation BindingOperation WSDL definition for target service Mediation Policies
IBM Software Group © 2009 IBM Corporation 5 PortType Binding Port Service Mediation Policies Mode 3:Intersection Module Intersected mediation policies Policy Resolution Primitive PortTypeOperation BindingOperation WSDL definition for target service
IBM Software Group © 2009 IBM Corporation 6 Selecting the Target Service … If the Target Service mode is selected for the Policy Resolution Primitive, an Endpoint Lookup Primitive MUST be used prior to the PRP. This: Selects the endpoint for the PRP (and presumably the dynamic endpoint for the flow) Loads the TargetAddress with repositoryMetadata This is actually the bsrURI of the port, which is unique for the endpoint selected. This is needed to avoid ambiguity.
IBM Software Group © 2009 IBM Corporation 7 Selecting the Target Service Operation … In addition, if Operation level scope is required. The Operation field of the SMO must be populated with the name of the Operation the PRP will extract policy attachments from. Obviously, if not set, no policy attachments for operation level will be found.
IBM Software Group © 2009 IBM Corporation 8 The case for Bindings … WSRR prior to 6.2 did not support Binding or BindingOperation, so if the default connection is used when creating the WSRR definition in the admin console, no policy attachments on these levels will be found. The example below will find these …
IBM Software Group © 2009 IBM Corporation 9 The case for Bindings … However, these will only apply if the user has used the WSRR console directly Using the supplied Business Space widgets there is no way of creating policy attachments at: Binding BindingOperation Any policy attachments at these levels will appear as Endpoint level policies
IBM Software Group © 2009 IBM Corporation 10 Peer and hierarchical merge … The processing for multiple policy attachments follows the rules set out in the WS-PolicyAttachment specification. service portType port binding bindingOperation portTypeOperation Peer merge Hierarchical merge lower precedence higher precedence NOTE: We do warn customers to avoid this level of complexity as it becomes difficult to predict behaviour.
IBM Software Group © 2009 IBM Corporation 11 Successful Merge If Operation level policy has propB = BBB and Service level policy has propB = YYY Operation is preferred So propB = BBB Unsuccessful Merge Port level policy has propA = AAA and PortType level policy has propA = XXX Neither is preferred, so they cannot be combined The policyError terminal will be fired
IBM Software Group © 2009 IBM Corporation 12 Evolution of policy administration Mediation Policy was introduced in WESB 6.2 Policies, Policy Attachments could only be created using the WSRR console directly. This was prone to error as many of the WESB concepts were on very disparate screens Business Space widgets in 7.0 allow for: Creation of new mediation policies Creation of policy attachments at Module scope Target Service scope Definition of gate conditions … in one place!
IBM Software Group © 2009 IBM Corporation 13 Creating a Module Administration space …
IBM Software Group © 2009 IBM Corporation 14 Module Browser … Solution Administration template gives two widgets Module Browser Mediation Policy Administration
IBM Software Group © 2009 IBM Corporation 15 New Policy Attachment … Groups (Domains) available for module
IBM Software Group © 2009 IBM Corporation 16 New Policy …
IBM Software Group © 2009 IBM Corporation 17 Creating a Service Administration space …
IBM Software Group © 2009 IBM Corporation 18 Service Browser … Service Administration template gives two widgets Service Browser Mediation Policy Administration
IBM Software Group © 2009 IBM Corporation 19 Service Browser … Service Operations Endpoints
IBM Software Group © 2009 IBM Corporation 20 New Policy Attachment (Services) … All Groups (Domains) for all modules
IBM Software Group © 2009 IBM Corporation 21 WSDL scope points … WS-Policy allows for many attachment points in WSDL Our widgets aggregate some of these attachment points for simplicity Endpoint scope is an aggregation of: Port PortType Binding Operation scope is an aggregation of: BindingOperation PortTypeOperation Creating a policy attachment at Endpoint scope is really PortType scope Creating a policy attachment at Operation scope is really PortTypeOperation scope
IBM Software Group © 2009 IBM Corporation 22 Policy Servlet … Business Space widgets talk REST to the Policy Servlet The Policy Servlet talks to WSRR via its HTTP interface Policy Attachments Policies WSRR WPS Policy Servlet Business Space REST interface Modules WSDLs
IBM Software Group © 2009 IBM Corporation 23 Service Gateway: Service Level Policy hulse.html In Service Gateway /headers/SMOHeader/Action is populated with soapAction
IBM Software Group © 2009 IBM Corporation 24 Service Gateway: Operation Level Policy
IBM Software Group © 2009 IBM Corporation 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: IBMCICSIMSMQSeriesTivoli IBM(logo)CloudscapeInformixOS/390WebSphere e(logo)businessDB2iSeriesOS/400xSeries AIXDB2 Universal DatabaseLotuspSerieszSeries 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 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 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. 25