Wednesday, September 28, 2011

more on AIA2.4/10g

Last week while deploying some integration flows on AIA2.4/SOA10g/Weblogic, had two interesting errors -

1) While deploying the ESB (EBS in AIA) got the error -

A Service or ServiceGroup of name "XXXEBSV1" already exists under parent AIASystem

Found a good blog on this here, which talks about an ESB bug - and the solution to that is
Either you delete the esb before redeploying, or if you are doing it from a script - we can deploy a esb project with no routing and having the same GUIDs for all the services. Deploying the ESB with No routing firth and they deploying the ESB with routing will resolve the issue.


2) The second issue was with correlation sets - we were running a huge loop across EBF -> ESBV1 -> Provider BPEL -> ResponseESBV1 -> EBF

And it was important that the correlation sets work properly for the loop to continue. So we had 3 points in the EBF where callbacks were to be received. We created 3 correlation sets in each scope invoke with yes and receive with no, associated with property with type normalized string, for property alias we picked the EBM_ID, It needs 2 entries in the wsdl one for requestEBM and one for Response EBM. On the Provider BPEL part also we created correlation set on the first received activity (with yes) and then at the invoke ResponseEBS (with no) one.

Thursday, July 21, 2011

AIA2.4FP installation on SOA10.1.3.4/Weblogic9.2

After a long hiatus, I am back with a useful blog. I had to install AIA2.4 (AIA2.3 downloads were not available on edelivery) on SOA10.1.3.4 on the WebLogic9.2. I tried to avoid doing it as much as possible, given there were no documentation on this, other than a few OTN forum entries and few other useful links here and here , but finally after 3 days, it was successful.

this blog already pointed to issues with this install and the metalink note#822831.1

To start with - had to first set up SOA10.1.3.4 on Weblogic9.2. This is a pretty well established process, however I faced some challenges because of Windows7

First issue was the 10g installer would not even run complaining SWAP file size issues, I commented the SWAP size checks following this link

The second issue was a big issue, the installer kept failing at the OWSM step (Unable to locate a valid OC4J URI), the error was opmn would not stop properly, due to IP6 support in Windows7. Solution found from here and here

Basically I had to edit the opmn.xml file under opmn/config to change the stop-paramters as suggested in metalinknote#1206667.1. The other important step is to uncheck the IPv6 in the network properties.

After that, things were smooth barring a few "Error occurred during initialization of VM", "OPATCH_JAVA_ERROR=OPatch Exception while trying" errors. For VM issue, closing some applications helped. For opatch issues, running the patch inside opatch directory once resolved the issues.

So after installing
Oracle XE (increase process count)
irca.bat
SOA 10.1.3.1.0 with Advance option
Patch set 7272722 for 10.1.3.4
Weblogic9.2
Patch 7337034
Patch 7490612 For weblogic SOA Domain creation
MLR #9 p8589928_101340_GENERIC
No AIA patches required
AIA installer only Software Copy mode

(for all these ensure your directory names doesn't have spaces or else you might get "Unzip: No matching wildcard found for.." )

Now was the time for AIAFP2.4 AIA 2.4 Installer V17393-01

AIAFP install needs lot of prep work, I did the below
1)increased JTA time out to 300
2)setup AQJMS Startup class (getting the aqjms_v2.0.zip was a challenge, its no longer available on OTN, luckily I had it from a previous attempt)
here only create the startup class, no need to add as a weblogic startup class
3) setting up ADF libararies, downloaded adfinstaller10.1.3.4 and followed the instruction to copy the libararies to weblogic instance
run setupadf.cmd, copy the classpath and add to the weblogic startup classpath
4)copy the esbbootstrap.jar under the JVM_HOME/jre/lib/ext

After this was ready to run AIAFP, first thing was to setup the property files
1)set up the aiaenv.bat under AIA_HOME/bin
2)deploy.properties under AIA_HOME/config
3)FPwlInstall.proprties and server.properties under AIA_HOME/Infrastructure/install/wlscripts

Templates for these property files are available under AIA_HOME/install/templates

next was to run the install scripts under AIA_HOME/install/wlscripts

If you are lucky the following line should do it all...
ant -buildfile FPWLInstall.xml

But that doesn't happen often, so I had following error
Servlet: "AIAValidationSystemAPIServiceSoapHttpPort" failed to preload on startup in Web application

It turned out, this is a known bug AIA 2.4 INSTALLATION ERROR ON WEBLOGIC [ID 1059780.1], this patch didn't work easily, so I just modified the AIAApplicationWL.EAR to change the ValidationSystemAPIService.xml under ValidationSystemAPIService.war

So if your build fails in between, It's better to run the other sections separately, The ant scripts are well organized, you can run the DeployCAVS, DeployServices targets.

That's it, then you can see the beautiful screen of http://localhost:9700/AIA :-)

update26/July
update the weblogic start arguments with -Daia.home={your AIA Home}, this is required otherwise the aia core code will not work and you will see FileNotFound for AIAConfigurationProperties.xml

Monday, March 07, 2011

Random Thoughts -3

Last few months working on few pre-sales proposals, seeing couple of trends/patterns in many of them. Many of the projects customers are planning to start have a cloud piece. Many of the customers are using SFDC (Salesforce.com) or planning to move particularly in media, hospitality industries. Subscription based cost is driving a lot of technology choices. Customers are becoming very cost sensitive and want a very flexible costing model and execution models, where they can pay as they use in buy, build or cloud choices.

From solution perspective, It becomes new challenges around how to integrate with cloud, how to handle security, how to handle RASP (Performance in particular).

Other than the cloud trend, the other trend is the regular debate of orchestration vs choreography. So for every industry or cross-industry problem there are many packaged applications, now these applications also provide regular supporting peripheral/plumbing functionality. For example, an Order-Management App will have its own inbuilt workflow, will have OOB UI to manage the process flow or administration. Now the debate is whether to use the App's such in-built features or to use an esb/bpel layer to unify these functionalities centrally across applications. That's the choreography vs orchestration debate, ESB for stateless choreography and BPEL/BPM for stateful orchestration.

Either way positioning an ESB is easy, with all the security and visibility story around services. Positioning the BPM story is a challenge, customers in hurry resort to point-to-point integrations and some even don't go for commercial esbs. That's another trend I saw open-source ESBs the entire story around JBI, Mule, Fuse, Spring, OSGi etc.

Another trend I see is customers are more interested in data/dw, bi/reporting, mdm etc. And different compliance requirements are driving lot of strategic projects in this area.

My next interest is to find architecture patterns, how soa/bpm/e2.0 can be used both strategically and tactically, particularly oracle soa.

Tuesday, January 18, 2011

Random Thoughts - 2

My random thoughts series continues in the new year as well, good time to look at Middleware Tech in general and SOA11g in particular. One specific step in this regard was my SOA Certification 1Z0-451, I took this in a hurry to avoid the pain of reading endless pdfs. Luckily I passed the test with an average score of 73%. The test did throw many new things about SOA11g which I discovered after reviewing the questions in the test. Few of them are below, otherwise the test is a 'developer-certification' and very broadly spread across all the products (BPEL, Mediator, HWF, Rules, OWSM etc)

new features
1. Mediator now supports a new validation called schematron validation
2. Rules have the new feature of decision tables (bucketset is a new term)
3. Rules have lot of new features functions, links etc.
4. Fault-management framework has new features (at-least location of the files)
5. OWSM is complete new territory
6. SDO / Entity variable - brand new features
7. Mediator externalizing routing rules to Business rules
8. SpringContext integration support
9. Lot of new features in Mediator
10. EDN as configurable publish-subscribe infrastructure

My next focus area is to deep-dive SOA11g and find best-practices/integration patterns. Stay tuned.