06 12 2010

BSOD based on VmWare Network Driver

This week I was in IBM’s place to learn WPS. In the second morning of that course  my windows box crashed with a BSOD. The IBM guys claimed it was normal to windows to do that. To be honest I’m not a Microsoft fan but I trust windows’ stability. So at that moment I started to analyze the core dump which was generated by this crash. . In the picture below you’ll see that vmware network driver caused windows to crash. Windows was not crashed because of itself Smile
BSOD

07 09 2010

How to disable Security in Websphere Application Server 7

When working on WAS you can enable and disable security for testing purposes. A few times i configured WAS security and could not logined to the system. If there is a need to disable security on WAS you can disable by setting the property enabled to false.
<was_installation_dir>/profiles/<profileName>/config/cells/cell_name

<security:Security xmi:version="2.0" 
xmlns:xmi="http://www.omg.org/XMI"
xmlns:orb.securityprotocol="http://www.ibm.com/websphere/appserver/schemas/5.0/orb.securityprotocol.xmi"
xmlns:security="http://www.ibm.com/websphere/appserver/schemas/5.0/security.xmi"
xmi:id="Security_1" useLocalSecurityServer="true"
useDomainQualifiedUserNames="false"
enabled="true"cacheTimeout="600" issuePermissionWarning="true"
activeProtocol="BOTH" enforceJava2Security="false"
enforceFineGrainedJCASecurity="false" appEnabled="true"
dynamicallyUpdateSSLConfig="true" allowBasicAuth="true"
activeAuthMechanism="LTPA_1"
activeUserRegistry="LDAPUserRegistry_1"
defaultSSLSettings="SSLConfig_GMCIMIT891Node02_1" adminPreferredAuthMech="RSAToken_1">



06 09 2010

Using TCP/IP Monitor Plug-in in Eclipse

Eclipse has various types of plug-ins. In this post you’ll find out how to configure tcp/ip monitor plugin  in eclipse.
Eclipse’s TCP/IP Monitor works like a proxy server which configures itself in between client and server.
1.Configure TCP/IP Monitor listening port which is not used for an application. This port will your gateway for your requests. So In the picture below you can assume that an application is working on tcp:9080.
TCPIPProp
2. Send requests from 9081
SoapUI
3. Investigate your requests.
Requests

27 08 2010

Webpshere Process Server – Extracting WPS’s tables with JxInsight

Up to now with jxinsight, we made hotspot, transction, delta analysis and ..etc. But this time because i could not find any document about wps’s metadata tables we installed jxinsight on wps and extract every table which wps touches.

In WPS StartUp SQLs
BPEME
bpeme

Webpshere Process Server – Process Versioning

As you can get information from my previous posts long running processes can run for minutes, hours, years. As the time goes business requirements can change, or company policies can change as well. In the name of giving an example for an EFT Process policies was chnaged in 2001 but you want your process instances to processed in older policies. The process clains which were created after 2001 have to be processed in new policies. This is typical case of process versioning lifecycle. IBM Webpshere Process server uses timestamp approach for process versioning. 
Process versioning can be activated by setting validFrom property of the process.
versioning

Websphere Integration Developer 7 – Invoking EJB Modules

1. Create an EJB Project
EJBProject 
Click Next, and then fill the fields with the texts  below written in italic.
Project Name : CoffeeShopEJB
Target Runtime : Websphere Process Server 7.0
EJB Module Version : 2.1
EAR Project Name : CoffeeShopEJBApp

2.
Create an Stateless EJB
 CreateEJB

ejbProps
3. Open CoffeePricePredictorBean.java and then add this method below

public double predictPrice(String coffeeType)
{
System.out.println("*************EJB Mehtod is invoked****************");
System.out.println("ejb.samples.coffee.CoffePricePredictorBean.predictPrice");
return 5d;
}







4. From the outline panel click predictPrice method and click promote to remote interface option


promoteToRemote 
Ok then if you follow these 5 steps you have a working EJB Module. After these steps you will find how to invoke these methods from a process/





5.Create a simple module with following the steps in HelloWorldProcess post but the module name in my sample is CoffeeEJBInvoker.





6.  Create the process interface



ProcessInterface 
ProcessInterfaceProps


7. Create the CoffeePricePredictorProcess as a micro-flow process


CreateProcess


AssignProcessInterface


8. Design your process







processDesign


9. Add the process interface CoffeePricePredictorProcess as a ReferencePartner. What you have to do is just drag and drop CoffeePricePredictorProcess  to the process design panel.


referencePartner


10. From the Details tab of InvokeCoffeePricePredictorService fill the fields like the picture below.


 InvokeCoffeePricePredictorServiceDetails


11. From the project dependencies section add EJBClient as java library


ProjectDependncies


12. Open Assembly Diagram Panel and drag and drop CoffeePricePredictorProcess into the panel.





13. Drag and Drop Enterprice JavaBeans component into AssemblyDiagram panel to JavaBeans component. Select the interface below.



ejbInterfaceImport


14 . Link the process component to Enterprice JavaBeans component. WID will ask the mediation module. Since i do not add java component to invoke EJB, WID creates a mediation for invocation.


SimpleMediation


15. Double click mediation which is in the middle.


Click predictPrice and select ServiceIntegration


ServiceIntegration


16. Add reference operation





referenceOperationjpg


17. For the request operation link CoffeePricePredictorProcess to partner1. Since this operation needs transformation choose XSLT transformation.


requestOperation


xstlTransformation


18 Double clik XSLTTranformation1


DoubleClickXSLTTrans


19. Map the fields


mapFields



20. So up to know we made the process invoke ejb module in terms of mediation we designed request operation . But this operation is request and response operation we need to implement response operation.

Click response tab.


responsejpg 
21. Link partner1 component to CoffeePricePredictorProcess





responseLink


22. Choose XSLT Transformation


23. Double click XSLST Transformation1 component


24.Map appropriate fields


responseTransformation


25. Process design section is finished. So we can test our process.


TestModule 
26.


Expresso


27. The Test result


TestResultjpg

26 08 2010

Getting Started with IBM Websphere Integration Developer – Designing Hello World Process – Invoking WebServices

1. Do all the steps in Getting Started with IBM Websphere Integration Developer – Designing Hello World Process post
2. Create a Dynamic Web Project
DynamicWebProject
3. Write the properties of the Dynamic Web Project relying in the picture below
DynamicWebProjectProp
3. Create a class named Hello
Class
4. Copy and paste the code below

package com.samples.hello;



 



public class Hello {



    



    public String sayHello(String name)



    {



        System.out.println("Hello.sayHello invoked ");



        System.out.printf("Hello.sayHello ( %s ) ",name);



        return "Hello  " + name;



        



    }



 



}




5. Create a web service from the Hello Class

WebService


6.  Click next for a few times. After that the web application will be deployed automatically by the help of WID.


7. In the HelloWorld module project. Click Interfaces, and then click import


InterfaceImport


8. Select wsdl and XSD for import type


importType


9.Because the HelloWorldService is deployed on your local machine or remote server you can select remote wsdl location


wsdlLocation


10. Write wsdl remote path


wsdlPath


11.Select Hello  service interface. Drag and drop to procecc design template


HelloServiceProcess


12. In the reference partners you have to see Hello

HelloReferencePartner

13. Select Invoke component. Drag and Drop to HelloProcess design tab.


InvokeComponent


13. Rename to HelloServiceInvoker


14. Click Details tab of HelloServiceInvoker, apply the same properties to your InvokeHelloService properties


InvokeComponentDetails


15.Open assembly diagram. Drag and drop Hello interface to assembly diagram. Choose import with WebService Binding

HelloServiceInvokerAssemblyDiagram


16.In the Web Service Import Details click Use an existing web service port and choose your hello web service.


HelloWebServiceImportType


17. Refresh your project and then link the process with the Hello Web Service


HelloServiceInvokeAssemblyDiagram 
18. Test your Process with BPC.