Sunday, September 22, 2013

Installing DSUI Application on MDM 10.1

This post will help you quickly install the DSUI EAR application provided as part of the MDM installable.
Prereq:
You should have MDM 10.1 ,installed and running .
I am using WAS 8.0.0.5 &  RSA 8.0.4.2

Step1 : Locating the DSUI App

MDM1010_WAS_AIX.tar ->MDM->WAS.jar->MDM->installableApps->
Take out the MDMDataStewardship.ear

Step2 : Dont jump into installing the ear , like I did :(
We have to make a few modifications before we could install this default app.
a)Set UserGroupImpl in mdmUIConfiguration.properites (you can find it in propertiesUI.jar) and re deploy
  1. When deployed on a IBM WebSphere use UserGroupImpl=com.ibm.mdm.ui.registry.WASUserGroupImpl
  2. When deployed on a BEA WebLogic use UserGroupImpl=com.ibm.mdm.ui.registry.BEAUserGroupImpl  
Error/Issue you can expect ,if you fail to set the above:
SystemOut O ERROR - Log_UserRoleUtil_FailGetUserGroup
java.lang.ClassNotFoundException:

b)Change the provider URL.
java.naming.provider.url=corbaloc:iiop: hostname:rmiport

Error/Issue you can expect ,if you fail to set the above:

The  drop downs in your DSUI will not be populated.(because DSUI was not able to connect to MDM to look up the code tables)

I used WinRAR for making the changes to the ear  ,you could use your favorite  application ,but make sure you have the changes reflected in the EAR.

Step3:Proceed to Install.
Install it as any normal web application manually.(Use Fast path with all defaults)

Step4:Configuring the JavaServer Faces (JSF) provider 

Login to  Administrative Console , choose Applications > Application Types > WebSphere enterprise applications > YourDSUIApplication> JSP and JSF options 
Select Sun RI1.2. from the drop down.
If you forget to set this , you will encounter the JSF- UI issue.

com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: Servlet Error-[/timeout.jsp]: java.lang.RuntimeException: FacesContext not found
at javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:324)
at javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:226)
at com.ibm._jsp._timeout._jspService(_timeout.java:122)


Step 5: Restart your WAS and try the DSUI URL.
eg:
http://localhost:9081/CustomerDataStewardshipWeb/

Step 6: Resolving UI display and link issues when deployed with security off(If you face any UI issues)

http://www-01.ibm.com/support/docview.wss?uid=swg21612969


If the following setting is unchecked, then the UI starts working as expected.  Use the following
steps.
1.  In WAS, go to  Servers > Server Types> WebSphere Application servers > >
session management > enable cookies > Restrict cookies to HTTPS sessions.
2.  Uncheck Restrict cookies to HTTPS sessions.
3.  Click OK, and then click Save.
4.  Synchronize the nodes.
5.  Restart the Application Server.
Step 7:Start using your DSUI App.


Saturday, April 13, 2013

Setting Up MDM Batch Processor in Windows Development Environment

One of my IBM collegue asked me for help in setting up a batch processor in his machine a while ago.
But I have never setup one in my local at that time and was not aware about  such a possility exist.

I was thinking I need to install cygwin or simulator to replicate the unix behaviour in windows.I came across a MDM Workbench blog which was quiet useful in setting it up.

It is quiet simple.
1)Set up/Install the MDMBatch.ear in your WAS along with your MDM.
2)Use the Batch Process client (windows bat) version to call the EJB located in the MDMBatch.ear
3)The EJB will internally invoke the DWLServiceController which is the entry point to the MDM.

The whole process will take less than 20mins , I am ready tos put money on the table :)

Assumption:
You already have MDM working in you machine.Nothing more.

1)Locate the MDMBatch.ear(eg: It may be in C:\MDM\UNPACK directory) - 30 secs
2)Install the EAR in WAS .Use Fast Path (No need for Detailed path) - 2mins
3)Save & Restart your WAS - 5 min
4)Copy the ClientBatchProcessor(Provided along  with the post in ) in  your C drive -10 sec
5)Locate runabtch.bat(under bin) and double check the following - 5 min
      a)set WAS_HOME="C:\IBM\SDP\runtimes\base_v7" - Edit as per your location
      b)set DWL_BATCH_HOME="C:\ClientBatchProcessor"

6)Open Batch.properties ,Edit
ServerConfiguration.provider_url = corbaloc:iiop:localhost:2813(Change the port as you wish)
ServerConfiguration.context_factory = com.ibm.websphere.naming.WsnInitialContextFactory
(Change the above propery if you are using Weblogic,else leave as such)
   
7) Create a Single Line XML - 3 min
              a)Use Notepad++  or any of your favourite editor
              b)If Notepad++(Plugins ->XMLTools->Linierise XML)
Install the XML Tools plugin in NP++ to easily perform Step 7 b.
For now I have provide you one under the bin(addOrgBatch.xml)

8)Keep the XML under bin -  10 sec
9)Execute runbatch.bat .xml  logs - 10 sec

where logs is the log file directory name , I have already kept that under bin for you.
The log folder will have your batchLoadFail.out ,batchLoadSuccess.out.

References:
a)MDM Workbench Blog

b)Information Center
http://pic.dhe.ibm.com/infocenter/mdm/v10r0m0/index.jsp?topic=%2Fcom.ibm.mdmhs.und.plan.doc%2Fc_Batch_Processing_of_Transactions_using_the_Batch_Framework_and_the_Batch_Transaction_Processor.html

c)http://www-01.ibm.com/support/docview.wss?uid=swg21574707


Client Batch Processor.zip
https://docs.google.com/file/d/0B3obvedGI1lvNVVnQmR4a0pTNlk/edit?usp=sharing





             
   




Tuesday, February 19, 2013

Enable SQL Logging for MDM Server Transaction

When ever somethings behave unexpectedly on the MDM side especially when the performance of a trasnaction is bad, we often start thinking about grabbing the sql of a transaction.

There are mutiple ways to do so ,but the easiest one for developers seems to be enabling the Websphere trace logging.


How to do that?

In the Admin console :
Logging and Tracing > server1 > Diagnostic trace service > Change log detail levels

Under Runtime :
*=info: RRA=all: EJBContainer=all: com.ibm.ws.database.*=all: com.ibm.ws.db2.*=all

The above setting will make the JDBC adapter which connects your WAS to the DB2 or any database to log the sqls.

This is totally a WAS config and has nothign to do with MDM.

Please execute one of the MDM transactions.

Look for the trace.log file
It will be located in the log folder of your profile

Eg:C:\IBM\SDP\runtimes\base_v7\profiles\AppSrv01\logs\server1

Open the file and search for "prepareStatement Entry "

Hope this helps!