Wednesday, September 16, 2015

Migration IBM MDM V9 to IBM MDM v11.4 (PHYSICAL /WCC)

Migration IBM MDM V9 to IBM MDM v11.4 (PHYSICAL /WCC)
                  
     IBM-MDM-WCC     UPGRADE-V9 TO V11.4 AE STEPS

IBM MDM V11.4 AE Pre-Requisite =>
IM 1.7.2,
RAD 9.1, 
WAS 8.5.5,   
WAS FP 8.5.5.2 (Fix pack 8.5.5.1 and 8.5.5.2 both are needed) ,
 WB , MDM V11.4,
 DB2-10.5 , ORACLE-11G

For IBM MDM 11.4 installation Ref :
http://ibmmdmblogs.blogspot.in/

TWO WAYS WE CAN MIGRATE
1st way > via RUN MANUAL SCRIPT madconfig.bat/.sh file
2nd way >
>> 1st take a backup of zip file of IBM MDM v9 project via project
     interchange (export)
>>Create a project in IBM MDM v11.4 using RAD and import ZIP file
For V9 project
>>Auto migration wizard Start , Just do next next
>>If you have custom addition/extension automatically CBA folder 
    crated in v11.4 in RAD
>>for Custom addition/extension have to expose u r customs services
To blue-print xml

Monday, September 14, 2015

Universal Test Client

It is an utility provided by IBM in RAD.

Read more about UTC:


We can test request and response on different queues with the help of UTC.
steps:
-We can put xml requests on the request queue in UTC
-You need to provide JNDI names for the respective queue and queueConnection factory(JNDI names can be found in ibm-ejb-jar-bnd.xmi in DWLMessagingAdapter project)
-After sending an xml on request queue reponse will be generated on Reponse queue.
-We can check that response in Admin Console->Service Integration->Buses->Messaging engine->Queue points

Wednesday, September 9, 2015

Generating JAX-RPC Web Services Using MDM v11.4

Generating JAX-RPC  Web Services Using MDM v11.4


Step 1: Import the JAX-RPC web services .EAR file using the wizard, take the following steps:
Procedure
1.     Click File > Import.
2.     Under Select an import source, click J2EE > EAR file, then click Next.
3.     Specify the details for your imported EAR file:
o    In the EAR file field, click Browse to<WB_INSTALL_DIR>/com.ibm.mdm.tools/jaxrpcws_ear and select thecom.ibm.mdm.server.jaxrpcws.app.ear file.
o    In the EAR project field, accept the default project name or type a new project name.
o    In the Target runtime drop-down list, select the application server that you want to target for your development.
4.     Click Finish to complete the import process.


Step 2:  Enabling generation of JAX-RPC web services for MDM version 11.4

Procedure
1.     Within the development project, open the mdmgen.properties file.
2.     Locate the property legacyWebservices and set its value to "true"
3.     Locate the property legacyEARProjectName and ensure it matches the project name of the imported EAR file.
4.     Save and close the mdmgen.properites.


Step 3:  Deploying generated JAX-RPC web services for MDM version 11.4

1.     Deploy the CBA. 
2.     Uninstall the existing JAX-RPC web services EAR that was installed with the product to allow you to replace it with the newly generated EAR.
a.     Open the IBM® WebSphere® Application Server admin console
b.    Select Application > Application Types > WebSphere enterprise applications.
c.     Select the checkbox next to MDM-old-web-services-xxxx and click Uninstall.
3.     Deploy the JAX-RPC Web Services CBA project (default name WSCBA). 
4.     Update the JAX-RPC EAR security settings
a.     Within the JAX-RPC EAR project, open the file META-INF/ibm-application-bnd.xml.
b.    In the Design tab, click Application Bindings > Security Role (ServiceProvider).
c.     Run As (mdmadmin).
d.    In the right-hand panel, set the Password to your mdmadmin password.
e.     Save and close the file.
5.     Right-click on the JAX-RPC EAR project, then click JavaEE > Prepare for Deployment.
6.     Deploy the JAX-RPC EAR project to the server, either through the Servers view in the MDM Workbench or through the IBM WebSphere Application Server admin console.
Note: When using the MDM Workbench in IBM Rational® Application Developer version 8.5.1, the Prepare for Deployment operation does not generate all of the required artifacts for the web services. In this case, the JAX-RPC web services EAR must be deployed through the IBM WebSphere Application Server admin console. To do this, take the following steps:
a.     Ensure the maximum heap size of the server is set to at least 1GB; otherwise out-of-memory errors are likely to occur during deployment
b.    Export the EAR from the workspace.
c.     Install the EAR through the IBM WebSphere Application Server admin console, enabling the deploy web services in the installation options.

7.     Restart IBM WebSphere Application Server.

Tuesday, March 17, 2015

Eclipse / IBM RAD /IBM RSA capabilities

For beginners, while using this products you may find some components or features or preferences or windows not available .

Eclipse / IBM RAD (Rational Application Developer) /IBM Rational Software Architect capabilities

Resolution: Turn on all the capabilities from Windows>>Preferences>>Capabilities

Sunday, February 15, 2015

Intermittent Errors or issues which occur randomly.

Intermittent Errors or issues which occur randomly.

There may be various factors associated for any particular software getting failed randomly. I have come across these reasons.

1. Code or Data Issue.
When a developer develops a piece of code, he may not have considered a case or scenario where a sql statement could return two rows and developer would have coded believing return value of one row. So in this, he may actually miss to pick up relevant row in the subsequent while.resultset() code.
And the code may pick up wrong value and try to process wrong value which can lead to failure. Now this behavior will be random as the orders in which rows will be fetched were not being specified.
So, sometimes it would, just by chance have picked up correct value and processed and sometime would have failed.



2. Performance Issue.
In one case I found that my software (MDM) makes entry into history tables by using AFTER TRIGGERS to keep history of updated, deleted or newly inserted records.
Now on one of the UPDATE trigger for a particular table say ANSWER table, which would create a new entry in H_ANSWER table and update the previous entries with end_dates(to mark them as ended); the update sql statement(in UPDATE TRIGGER) had where clause which itself is equivalent to search clause on a particular column which actually was not indexed(problem).
So, whenever any updates on ANSWER table was coming, UPDATE trigger will do operations on H_ANSWER and was getting failed randomly due to performance.
I presumed where user had updated lot of answers per transaction, those while updating the H_ANSWER table were getting timed out.
After applying index on that particular column, problem got resolved.


3. Session
In one case, Tester came back and said that he is getting intermittent failure on one of the screen (USER Interface). Sometimes he will get and sometime he may not get.
I asked for logs of that particular environment and realized that in cases where he was getting error he was executing some different flow and somehow session was getting maintained and was getting carried to the screen where he was getting this failure.
And in cases he would simply test other flows and then test this flow, it would work fine.
So culprit here was improper session management.



So intermittent failures or errors are always associated with some issues which are hard to debug but can be fixed by doing some analysis. I just chalked out few cases. If you come across any, please do mention in the comments to let others know and help in their analysis.




Wednesday, February 4, 2015

Websphere Application Server Conecpts

Good document for WebSphere Application Server Terminologies for understanding Cell, Cluster, Node, Profile, etc. The ABC's of WAS.

ftp://ftp.software.ibm.com/pub/info/training/WAS_Terminology_LC.pdf

Friday, January 16, 2015

MDM Hybrid Model : Event Manager ( Virtual MDM) is not Working

Sometimes, even we do everything right like have enabled hybrid model but still do not see event manger to work properly means even data get inserted into Virtual MDM Model but event manger does not create golden record into Physical MDM.  We also see mpi_entoque_xxx table populated with data but do not get picked by Event Manager.

There might be multiple reason for it. Below is written few check points

1. Make sure that  Messaging Engine is started

2. See log files minutely while starting the server because sometimes it gets started successfully but still some errors get captured in SystemOut.log file.

For Example:

I have got this error:

java.lang.RuntimeException: Application could not be initialized. Application Name and Version could not be resolved.


Solution:

This error typically indicates that the InfoSphere MDM EBA application symbolic name does not match the entries in the APPSOFTWARE configuration table.
Confirm that the APPSOFTWARE entry matches the EBA symbolic name by executing the following SQL statement:
select * from APPSOFTWARE;
In the WebSphere Application Sever Administrative Console, navigate to Applications > Application Types > Assets. Under Assets, click on theMDM operational server EBA > com.ibm.mdm.hub.server.app-E001.eba asset. On the following page, click Export the deployment manifest from this application.
Now open the deployment.mf file and search for Application-SymbolicName and Version. Next to it will be the value that needs to correspond to the entry in the APPSOFTWARE table.

Friday, January 9, 2015

IBM MDM v11-- MDMSE : ORA-01000: maximum open cursors exceeded in SystemOut.log

Symptom

One scenario for this problem happening is loading data. While attempting to load data into engine, customer is experiencing problems with maximum open cursors on the database. This happens at random periods when loading data.

Cause

JDBC connection pool management issue in WAS

Diagnosing the problem

When checking in the database, the SQL with excessive open cursors is "select 1 from dual" statement, which is done by WAS to verify data source connections.

Resolving the problem

WAS has problem in JDBC connection pool management. As a workaround, in the data source definition page of WAS console, choose "WebSphere Application Server data source properties", and enable "Validate existing pooled connections", and select "Validation by JDBC driver", pick an appropriate timeout, then save.

For an Oracle datasource, Validation by JDBC Driver appears on the administrative console only after the validateNewConnectionTimeout property is added to the [Updated in September 2013]custom properties of the datasource[Updated in September 2013]
 Name: validateNewConnectionTimeout 
Value =0
Type: "java.lang.Integer"