Integration Knowledge Kit Developer Journal

Similar documents
Getting The Best Performance From Apps Built With Integration Platforms

WebSphere Business Monitor V7.0: Clustering Single cluster deployment environment pattern

Enterprise Service Bus

WebSphere Business Monitor V7.0 Installation and stand-alone server profile creation

Developing SOA solutions using IBM SOA Foundation

BPM Scheduling with Job Scheduler

Deploying to WebSphere Process Server and WebSphere Enterprise Service Bus

Install guide for Websphere 7.0

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

IBM WebSphere Adapter for Quick Start Tutorials

Configuring Business Monitor for Event Consumption from WebSphere MQ

Setting Up SSL From Client to Web Server and Plugin to WAS

The presentation explains how to create and access the web services using the user interface. WebServices.ppt. Page 1 of 14

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

IBM WebSphere Process Server V7.0 Deployment Exam.

NSi Mobile Installation Guide. Version 6.2

Configuring Secure Socket Layer (SSL) for use with BPM 7.5.x

WA1826 Designing Cloud Computing Solutions. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1

Process Integrator Deployment on IBM Webspher Application Server Cluster

Business Process Management IBM Business Process Manager V7.5

PRODUCT VERSION: LYNC SERVER 2010, LYNC SERVER 2013, WINDOWS SERVER 2008

Installation Guide for Websphere ND

Enterprise Remote Control 5.6 Manual

FileNet Business Activity Monitor (BAM) Release Notes

WA1916 WebSphere ESB 7.0 Programming Using WID. Classroom Setup Guide. Web Age Solutions Inc. Copyright 2011 Web Age Solutions Inc.

WebSphere ESB Best Practices

WebSphere Business Monitor V7.0 Configuring a remote CEI server

LoadRunner and Performance Center v11.52 Technical Awareness Webinar Training

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

WebSphere Server Administration Course

IBM WebSphere Server Administration

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer

WhatsUp Gold v16.3 Installation and Configuration Guide

Secure Messaging Server Console... 2

Forward proxy server vs reverse proxy server

Enabling Kerberos SSO in IBM Cognos Express on Windows Server 2008

Set up SSL in Deployment Solution 7.5

IBM WebSphere Adapter for PeopleSoft Enterprise Quick Start Tutorials

WA1781 WebSphere Process Server v6.2 Administration. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc.

Open-ESB tutorials. Schema and Encoding: Import a CSV file. Paul Perez / Bruno Sinkovic. Copyright Pymma Consulting (2009)

Data processing goes big

Introduction to Mobile Access Gateway Installation

AdminToys Suite. Installation & Setup Guide

IBM WebSphere ESB V6.0.1 Technical Product Overview

Snow Inventory. Installing and Evaluating

WebSphere Business Monitor

Department of Veterans Affairs VistA Integration Adapter Release Enhancement Manual

Installing and Configuring vcenter Multi-Hypervisor Manager

SCA-based Enterprise Service Bus WebSphere ESB

Tutorial on Basic Android Setup

Enterprise Content Management System Monitor. How to deploy the JMX monitor application in WebSphere ND clustered environments. Revision 1.

FioranoMQ 9. High Availability Guide

Installation Guide. . All right reserved. For more information about Specops Deploy and other Specops products, visit

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen,

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

How To Create A C++ Web Service

WEBSPHERE APPLICATION SERVER ADMIN V8.5 (on Linux and Windows) WITH REAL-TIME CONCEPTS & REAL-TIME PROJECT

A standards-based approach to application integration

Testing and Deploying IBM Rational HATS 8.5 Applications on Apache Geronimo Server 3.1

NetBeans IDE Field Guide

WebSphere Training Outline

Performance Testing and Optimization in Web-Service Based Applications

Install and Config For IBM BPM 8.5.5

Thales ncipher modules. Version: 1.2. Date: 22 December Copyright 2009 ncipher Corporation Ltd. All rights reserved.

PC Monitor Enterprise Server. Setup Guide

WebSphere Business Monitor

BASIC CLASSWEB.LINK INSTALLATION MANUAL

ADT Plugin for Eclipse

DEVELOPING CONTRACT - DRIVEN WEB SERVICES USING JDEVELOPER. The purpose of this tutorial is to develop a java web service using a top-down approach.

Novell Access Manager

IBM WEBSPHERE LOAD BALANCING SUPPORT FOR EMC DOCUMENTUM WDK/WEBTOP IN A CLUSTERED ENVIRONMENT

Chapter 1 - Web Server Management and Cluster Topology

SOA Software: Troubleshooting Guide for Policy Manager for DataPower

SETUP SSL IN SHAREPOINT 2013 (USING SELF-SIGNED CERTIFICATE)

Kaseya Server Instal ation User Guide June 6, 2008

The Challenges in Real Life ESB Deployments

Citrix EdgeSight for Load Testing Installation Guide. Citrix EdgeSight for Load Testing 3.8

2X Cloud Portal v10.5

Getting started with OWASP WebGoat 4.0 and SOAPUI.

TECHNICAL DOCUMENTATION SPECOPS DEPLOY / APP 4.7 DOCUMENTATION

Author: Gennaro Frazzingaro Universidad Rey Juan Carlos campus de Mostòles (Madrid) GIA Grupo de Inteligencia Artificial

Configuring IBM HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on IBM WebSphere Application Server

Automating Testing and Configuration Data Migration in OTM/GTM Projects using Open Source Tools By Rakesh Raveendran Oracle Consulting

Trend Micro Worry- Free Business Security st time setup Tips & Tricks

SSL Certificate and Key Management

TIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation

Customer Tips. Xerox Network Scanning HTTP/HTTPS Configuration using Microsoft IIS. for the user. Purpose. Background

It is recommended that you use a clean installation of Lion client before upgrading to Lion Server.

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Web services with WebSphere Studio: Deploy and publish

Oracle Business Activity Monitoring 11g New Features

IBM Business Monitor V8.0 Global monitoring context lab

Tracking Network Changes Using Change Audit

Bulk Downloader. Call Recording: Bulk Downloader

Adaptive Log Exporter Users Guide

Transcription:

Integration Knowledge Kit Developer Journal IBM Process Server 7.5 A developer's journal of lessons learned and metrics to compare developer productivity and performance costs. The journal explores why platform choices count covering the planning, expertise, and knowledge required to quickly and flexibly build and deploy highly scalable applications. Appvance, Inc. 1735 Technology Drive, Suite 820 San Jose, CA 95110 USA Phone: 855.254.1164 Web: http://www.appvance.com email: fcohen@appvance.com August 5, 2013 2013 Appvance. All rights reserved. Ok to freely copy and distribute with this copyright notice intact. IBM Process Server Developer s Journal Page 1 of 32

Index Document Purpose and Brief Introduction to Project Scope!... 3 Download and Install WebSphere tools!... 4 WebSphere Process installation!... 5 WebSphere Integration Designer installation!... 7 Allocate Purchase Order!... 10 Reserve Parts!... 12 Human task!... 15 Reserve Parts Client App!... 16 Price Purchase Order!... 19 Complete Process Order Process!... 21 Test scripts!... 25 Allocate Purchase Order!... 25 Process Purchase Order!... 26 Reserve Parts!... 27 Installing on designated environment!... 29 Change Management!... 30 Reserve Parts!... 31 Versioning of PO!... 32 IBM Process Server Developer s Journal Page 2 of 32

1. Document Purpose and Brief Introduction to Project Scope The present document means to be a developer s journal where developers are going to write their experience installing and using IBM Tools. For this purpose the following steps will be followed: 1. Installation of Tools and Environment Setup Using virtual machines for each stack (IBM) servers will be installed and properly configured to enable the development of services. Notes will be taken during this process regarding download time, and installation and setup troubleshooting. 2. Creation of Web Services In order to test the tools, a set of services was defined to be developed with each set of tools. These Web Services are to be developed: o o o Allocate Purchase Order: The Allocate Purchase Order contains one operation it receives an XML with the items and quantities requested including ID and other info already set. Reserve Parts: This is an internal inventory system that checks if the requested parts are available, and if so, reserves them for that PO. This particular service is a two part thing. The first one is a service that gets the order and post it to the approval system the other part is a user interface where a human will look through the list and approve if there are enough items. Price the Purchase Order: The Price Purchase order is an external web service that will receive the PO XML coming from the Reserve Parts and will assign prices to it. At the end, this will be passed to a delivery system that will close the PO calling the allocation service. In this step, notes will be taken regarding the difficulty and characteristics of web service creation and deployment using the mentioned tools. For each change to be made, it will be analyzed the support offered by each tool along with any workaround needed to do the change. If a change cannot be applied to a service, a justification will be given. Further details about the scope can be found in the Appvance-Integration- Kit-2013-RFP.pdf document. IBM Process Server Developer s Journal Page 3 of 32

2. Download and Install WebSphere tools Tuesday, June 18th Time: 8 hours Following tools were downloaded from IBM web page: IBM Process Server Manager Advanced 7.5 (it included WebSphere Application Server 7.0) WebSphere Integration Designer 7.5 Web page that was used: https://www-304.ibm.com/partnerworld/wps/servlet/contenthandler/isv/sac This page is for IBM partners, and allows to download all IBM products. Developer s Comment: These tools are huge (about 7,5 GB). It took me almost 2 hours to download them. Following files were downloaded and extracted from the IBM web page BPM_Adv_V7.5_Windows_1_of_3.zip BPM_Adv_V7.5_Windows_2_of_3.zip BPM_Adv_V7.5_Windows_3_of_3.zip IID_V7.5_1_of_2.zip IID_V7.5_2_of_2.zip IID_V7.5_QuickStartGuide IID_V7.5_QuickStartGuide.zip IBM Process Server Developer s Journal Page 4 of 32

3. WebSphere Process installation Installation instruction was taken from: http://pic.dhe.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic= %2Fcom.ibm.wbpm.main.doc%2Fic-homepage-bpm.html First attempt was to choose typical installation. After about an 1.5 hours it failed, due to the problem with connecting to the DB2 database. It occurred that during installation I misspell connection string of the server. Second attempt was to choose custom installation IBM Process Server Developer s Journal Page 5 of 32

This time I double checked all the properties and it went smoothly, but it took another 1.5 h. After successful installation I was asked to run Profile Management Tool. I did it. As I was not sure which profile to choose I decided to go for IBM BPM Standard standalone Process Server. IBM Process Server Developer s Journal Page 6 of 32

4. WebSphere Integration Designer installation There was no problem during WID installation. It took about 1,5 to install. Developer s Comment: It took me whole day to download, extract and install all tools necessary to start developing solution. As describe in the next day description it was not enough. IBM Process Server Developer s Journal Page 7 of 32

Wednesday, June 19th Time: 8 hours I started a day with checking whether everything was working. I started WID and decided to create a new server. It was created and started without and problems. Then I open examples installed along with the WID. I chose Hello World application part 1, but it failed with an exception: NoClassDefFoundError: com.ibm.ws.bo.bocore After some searching on the Google, it occurred to me that my standard profile created a day before was missing Enterprise Service Bus features. I once again opened Profile Management Tool, but this time I decided to augmented created profile. I added to it ESB features. With this I was able to deploy and start sample application. After this I decided to go with part 2, but it failed during publishing with a new error: com.ibm.websphere.management.exception.adminexception: CWWBF0064E: server1 is not configured to run business process applications. The main difference between part 1 and part 2 is that part 2 contain BPEL process and Human Tasks, which gave me a clue what to look for. IBM Process Server Developer s Journal Page 8 of 32

This one was harder to find. It occurred that standard profile installation do not have Business Space and Business Process Choreographer components that are necessary for BPEL process to be able to deployed. As I wasn t able to add it to my profile with PMT, I was forced to create a new profile. This time I chose Custom Advanced IBM BPM. During setting up all properties I could to choose to install both tools I needed in my profile. After it I was able to successfully run all examples and start developing my application. Developer s Comment: It took me whole day to fix all issues with my installation of WebSphere. Each augmentation of the profile took almost an hour, and I needed to do it few times to find a right configuration. I think IBM can make their installers a little bit easier to run and choose what user wants to install. IBM Process Server Developer s Journal Page 9 of 32

5. Allocate Purchase Order Thursday, June 20th Time: 8 hours First task after installation was to create simple web service that takes Purchase Order and responds with some approval code. WID has built in support to generate web services from WSDL. So all code can be generate in matters of second. Very good example how to generate it can be found here : http://www.webagesolutions.com/knowledgebase/waskb/waskb022/ Before creating it, I needed to create a WSDL and XSD first. Developer s Comment: Creating WSDL and XSD can be done in any tool, even notepad. Because I had JDeveloper installation on my machine and I like it support for creating such artifacts I decided to use it. JDeveloper is free to use. Once I had WSDL I went through steps from the tutorial and WS was ready to test. WID has a feature to test all component. First test ended with an error: Unable to connect to host. It occurred that default configuration used in WID to call web service was using wrong address of the WS. I had to change it. IBM Process Server Developer s Journal Page 10 of 32

After changing the address it worked. Second test showed that web service was up and running. IBM Process Server Developer s Journal Page 11 of 32

6. Reserve Parts Because one the requirements was to use OAGIS architecture for incoming requests to Reserve Parts application, I analyzed their web page: http://www.oagi.org/oagis/9.0/documentation/architecture.html I also downloaded a package of ready to use XSDs from their web page. I choose one called ProcessPurchaseOrder.xsd as it looks as the most appropriate one. IBM Process Server Developer s Journal Page 12 of 32

Friday, June 21st Time: 4 hours I started with preparing BPEL process. It went as follow: 1. Incoming message 2. Call allocate purchase order 3. If the result of allocate purchase order is not ok, terminate 4. If the result is ok, go to human task, to approve purchase order 5. If PO is not approved terminate 6. If PO is approved map internal PO into OAGIS PO It looks like this: Because internal PO and OAGIS PO were different I had map one into another. WID has a feature called DataMap for such situation. It allows to create mapping between objects in an easy way using graphical interface. IBM Process Server Developer s Journal Page 13 of 32

IBM Process Server Developer s Journal Page 14 of 32

Monday, June 24th Time: 7 hours 7. Human task Next step was to create a human task. WebSphere allows to create tasks that require human attention. In this case we want a simple approval. Very good tutorial on how to create a human task in WID can be found here: http://pic.dhe.ibm.com/infocenter/dmndhelp/v7r5mx/index.jsp?topic= %2Fcom.ibm.wbpm.wid.bpel.doc%2Ftopics%2Fhumtask.html WebSphere also generates user interface for human tasks. It s simple web page, but it s enough. IBM Process Server Developer s Journal Page 15 of 32

8. Reserve Parts Client App Next step was to create a simple JMS application that would mock real application. Developer s Comment: Because the aim of this project is to show capabilities of each tool, I decided to create simple JMS client using WebSphere Integration Designer, instead of going for standalone Spring implementation. Sample tutorials on creating JMS clients using WID can be found here: http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/ com.ibm.wbit.help.messaging.doc/topics/tjmsexpxml.html http://www.packtpub.com/article/messaging-with-websphere-application-server-7.0- part1 I did following steps to create a JMS client: 1. Created an interface of my service. It uses OAGIS PO as an entry and simple result as a response 2. Based on the interface simple implementation based on BPEL process was created. 3. The BPEL process just generates some result 4. 5. Once the implementation was ready I added transport layer for the implementation and exported it as JMS binding IBM Process Server Developer s Journal Page 16 of 32

6. 7. After deployed to server it was ready to be tested 8. 9. Reserve Part app was ready Developer s Comment: Together with reading tutorials it took me about 2,5 hours to create a sample JMS client, and I think it s a very good result. Once I created JMS client that mocked Reserve Parts application I modified my BPEL process for processing PO to call it. After this, it looked in the following way: IBM Process Server Developer s Journal Page 17 of 32

I was able to test whole process. It ended successfully. With this second part of the process was ready and I was able to concentrate on the last part SAP mock using REST. IBM Process Server Developer s Journal Page 18 of 32

9. Price Purchase Order Tuesday, June 25th Time: 8 hours I started with reading tutorials on RESTful services in WebSphere. http://www.ibm.com/developerworks/webservices/library/ws-restesb/ http://www.ibm.com/developerworks/websphere/library/techarticles/1004_yu/ 1004_yu.html http://www.ibm.com/developerworks/websphere/tutorials/0907_voet/ And also one on processing Business Objects http://pic.dhe.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic= %2Fcom.ibm.websphere.wps.doc%2Ftaghubs%2Fbusiness_object.html Developer s Comment: WebSphere provides SAP adapter to easily integrate with SAP services (please find below tutorials how to do it). Because we just need sample REST service I decided to create one using WebSphere capabilities. Tutorials on accessing SAP services directly from WebSphere http://www.ibm.com/developerworks/websphere/library/techarticles/0807_kumar/ 0807_kumar.html http://www.ibm.com/developerworks/websphere/tutorials/0906_kumar/index.html Simple BPEL process was created. It took PO and assigned random prices to it. IBM Process Server Developer s Journal Page 19 of 32

To generate random prices another capability of WebSpehre was used. This time I decided to use Java snippet, which allow to add small amount of code to the process. Following code was added to the process. DataObject purchaselines = po.getdataobject("purchaseorderlines"); List list = purchaselines.getlist("purchaseorderline"); for(int i=0; i < list.size(); i++) { DataObject purchaseorderline = (DataObject)list.get(i); double price = Math.random() * 10; int ammount = purchaseorderline.getint("purchaseorderlineammount"); purchaseorderline.setdouble("purchaseorderlineprice", price); purchaseorderline.setdouble("purchaseorderlinepricetotal", price * ammount); } I exported BPEL process as RESTful services. Tests showed it worked perfectly. I was ready to integrate this newly created module into my process. Developer s Comment: It took me 4 hours, to read tutorials and create simple REST service. IBM Process Server Developer s Journal Page 20 of 32

10. Complete Process Order Process Because all components were ready, I was able to integrate them all. I added invokes to price purchase order service using REST service. To finish the process a call to close purchase order operation was also added. Final look on the process: Tests showed that all modules are called and prices were assigned. IBM Process Server Developer s Journal Page 21 of 32

Developer s Comment: It took me 1,5 hours to integrate newly created modules with the process and made some tests of all. Once the process was ready I wanted to export it as web service. I added export capabilities to it and added web service binding. When I tried to run it I received following exception: exception: com.ibm.ws.exception.runtimeerror: java.lang.runtimeexception: java.lang.stackoverflowerror [25.06.13 13:49:03:927 CEST] 0000018d SystemErr R com.ibm.ws.exception.runtimeerror: java.lang.runtimeexception: java.lang.stackoverflowerror [25.06.13 13:49:03:928 CEST] 0000018d SystemErr R! at com.ibm.ws.runtime.component.applicationmgrimpl.startapplication(applicationmgrimpl.ja va:749)... [25.06.13 13:49:03:931 CEST] 0000018d SystemErr R Caused by: java.lang.stackoverflowerror [25.06.13 13:49:03:946 CEST] 0000018d SystemErr R! at java.util.hashmap.areequalkeys(hashmap.java:880) [25.06.13 13:49:03:946 CEST] 0000018d SystemErr R! at java.util.hashmap.findnonnullkeyentry(hashmap.java:527) [25.06.13 13:49:03:946 CEST] 0000018d SystemErr R! at java.util.hashmap.getentry(hashmap.java:512) [25.06.13 13:49:03:946 CEST] 0000018d SystemErr R! at java.util.hashmap.get(hashmap.java:498) [25.06.13 13:49:03:946 CEST] 0000018d SystemErr R! at com.ibm.wsdl.definitionimpl.getimports(definitionimpl.java:275) [25.06.13 13:49:03:946 CEST] 0000018d SystemErr R! at com.ibm.wsdl.definitionimpl.getfromimports(definitionimpl.java:664) I spent the rest of the day (1,5h) trying to resolve this problem, but with no result. IBM Process Server Developer s Journal Page 22 of 32

Wednesday, June 26th Time: 7 hours I started the next day from the exception I had before. On first sight problem looked like problem with linking resources in the WSDL file for the exported service, but the root cause of the problem was connected with caching resources. It looks like WID IDE from time to time can cache some parts of the projects, especially when you use publish action quite often. Cached parts and modified ones leaded to a conflict state. It occurred that WID cached some older version of my code and had a problem with deploying latest one. After many attempts I finally found a working solution: 0. I removed all application from the server 1. Stopped the server 2. Removed WS Export from my project 3. Added it once again 4. Made a clean build of my code 5. Removed wstemp folder from the server location 6. Started the server 7. Deployed all the application once again After it I was able to finally made it to work. No loss of code occurred. IBM Process Server Developer s Journal Page 23 of 32

Developer s Comment: It took me 3 hours to solve it. It was not the first time I had a problem with caching resource made by WebSphere Integration Designer. In one of previous projects I was working in, where WID was also used as main IDE, same problem occurred for no reason several times. The best and fastest solution was to remove all cached files from the WID instance and make a clean build. It helped in all cases. IBM Process Server Developer s Journal Page 24 of 32

11. Test scripts Next step was to prepare test scripts for modules. I started with preparing tests for SOAP services. I used soapui to do it. Tutorials how to prepare test scripts using soapui can be found here: http://www.soapui.org/functional-testing/functional-testing.html http://www.soapui.org/load-testing/concept.html 12. Allocate Purchase Order Test showed that WS was working perfectly normal: IBM Process Server Developer s Journal Page 25 of 32

13. Process Purchase Order Test showed that WS was working perfectly normal: Developer s Comment: It took me 3 hours to read tutorials and prepare test scripts for these web services. IBM Process Server Developer s Journal Page 26 of 32

14. Reserve Parts I spent rest of the day looking for information how to make Selenium Junit tests. Thursday, June 27th Time: 6 hours I found a good tutorial and documentation under following links: http://docs.seleniumhq.org/docs/index.jsp http://blog.wedoqa.com/2010/07/selenium-test-in-java-with-eclipse-and-junit/ It occurred that creating Selenium test is very easy. You just needed to install a plugin to Firefox and you were able to record test. After it you were able to export them as Selenium Junit test. I started testing Reserve Parts GUI. I recorded a test and then I wanted to replay it, but got an error: 3. message on selenuium ide [error] Unexpected Exception: filename -> chrome://selenium-ide/content/selenium-core/ scripts/htmlutils.js, linenumber -> 309, After some research I found that Selenium plugin is not compatible with latest Firefox version (22.0) https://code.google.com/p/selenium/issues/detail?id=5681 When I downgraded to 21.0 everything worked. IBM Process Server Developer s Journal Page 27 of 32

Developer s Comment: It took me 3 hours to read tutorials and prepare test scripts for GUI. As I didn t received Appvance Enterprise I spent the rest of the day on installing WebSphere tools on remote machine as we were finally given enough disk space to do so. In a meantime I started to gather information on the next Change Management. Selenium Test 3h Installing WebSphere 6h IBM Process Server Developer s Journal Page 28 of 32

15. Installing on designated environment Friday, June 28th Time: 4 hours I spent whole Friday (I could spent only 4 hours) on finishing installing all WebSphere tools on remote desktop. Three was no problem during this process. Once all tools were installed I moved all my code to the new environment and made tests of each components. All but Price Purchase Order component went OK. Price PO gave me an error: com.ibm.websphere.sca.serviceunavailableexception: Could not obtain a connection to the destination. Failed to process the request.! at com.ibm.ws.http.imprt.handler.httpimportservice.sendhttprequest(httpimportser vice.java:242)! at com.ibm.ws.http.imprt.handler.httpimporthandler.processmessage(httpimporthand ler.java:261) After quick analysis it occurred that newly installed environment was using different ports than my original one. So I had to regenerate export and import bindings for it. Once done all tests were completed. IBM Process Server Developer s Journal Page 29 of 32

16. Change Management Monday, July 01st Time: 5 hours Last part of the project required following changes to be done 1. Add security and change Allocate Purchase Order to use SOAP over HTTPS 2. Change transport of Reserve Parts from JMS to REST over HTTPS 3. Support for versioning of PO Allocate Purchase Order Tutorials how to configure https support for WebSphere Process Server can be found here: http://www.ibm.com/developerworks/websphere/tutorials/ 1112_sharath/ http://stackoverflow.com/questions/5657801/implementing-ssl-jaxws-webservice-on-ibm-websphere-application-server http://www-01.ibm.com/support/docview.wss?uid=swg21215507 I followed all steps from the first tutorial. It all was based on ikeyman tool which is provided with WPS installation. The tool can generate client and server keys and trust stores which then need to be imported in the admin console of the Websphere Application Server. After all configuration steps allocate PO web services was working on https. IBM Process Server Developer s Journal Page 30 of 32

Developer s Comment: It took me 3,5 hours to configure https support. 17. Reserve Parts Changing transport layer in WPS is very easy. In this case it was only a matter of generating new export and import binding. I added new export rest binding (http binding) for reserve parts process, and then added new import binding in the process PO process. After it I was able to switch from JMS to REST. Developer s Comment: It took me 1,5 hours to switch from JMS to REST as a transport layer for Reserve Parts process. IBM Process Server Developer s Journal Page 31 of 32

18. Versioning of PO Tuesday, July 02nd Time: 5 hours To add support for two versions of PO I had to do following steps: 8. Modify XSD for PO: new element was added to the XSD. It was similar to the original PO but contained extra parameters. I had to provide new name for it as I wanted to keep everything in one XSD. 9. Modify WSDL for allocate PO Web Service: new operation was added to the WSDL, to accept newly created second version of the PO. WSDL contained both types of operations, the old ones, and also the new ones (new operation were prefixed with new to distinguish them). 10.Regenerate PO WS I recreated steps from Allocate Purchase Order chapter. Because modified WSDL contained extra operations, my newly generate Web Service also contained extra methods, that accepted modified PO. Old methods were also kept to provide backward compatibility. 11.Change main BPEL process to accept two types of incoming messages (WPS has Receive choice component that allows multiple entry points into the process). When old type PO was provided process, it went via old path and when new type PO was provided, it went via new path. 12.Regenerate export binding of the BPEL process to accept both PO versions 13.Because only allocate PO WS accepts both PO versions I had to add business object data map component from WPS components palette which allows mapping between different objects. After all these steps I had new process purchase order process. Tests showed it was working perfectly. Developer s Comment: It took me 5 hours to add versioning of PO. IBM Process Server Developer s Journal Page 32 of 32