Friday, February 26, 2010

AIA 30 - Time for a break !

Yupp, I will have to stop with AIA 30 for the time being. I am starting work on Oracle Business Rules 11g now.

So posts on OBR 11g will also be available on this blog !


Cheers,
- AR

Saturday, February 20, 2010

XREFs and DVMs in AIA30

In AIA 30, if you had to use XREFs or DVMs in your flows, you would have to have the extension functions in JDeveloper. In 10g, there was a patch from Oracle which added the aia.jar to the JDeveloper 10g library. In JDeveloper 11g, you would have to add an extension to JDeveloper, like we did for the SOA extension. This would patch the JDeveloper for the extension functions like lookup-dvm, populateXrefRow, lookupXrefRow and more.

Add the extension Service constructor to the JDeveloper. But this is not available globally yet and we will have to wait. Other option in case, you have managed to install AIA 30, is to in JDeveloper, navigate to Tools, Preferences, SOA and add the library aia.jar. The aia.jar is available under AIA_HOME/lib directory.


Cheers,
- AR

Friday, February 12, 2010

AIA Components in AIA 30

I installed Jdeveloper, begged and pleaded with my workstation and somehow completed some basic use cases. I tested the different messaging patterns and they worked as expected. But I did not use any of the AIA Infrastructure components during the testing. I had not used EBMs, DVMs or XREFs. So I thought I will do some cases using the components provided by AIA. I assumed we would have to refer to the AIA Components as we used to in 10g (http://ipaddress:port/AIAComponents). But alas, no ! That was not the case !

I went through some samples and found that they had referred AIA Components diferently. The url itself was very different. It was something like oramds:apps/../../../../../..EBM.xsd. Strange ! Then I had to go through the official blog of AIA and found out that I had to create a MDS connection to refer to the AIA Components. A MDS connection is a connection to the Meta data repository where these artifacts are stored. They are referred directly from the server. For creating a MDS connection, your Jdeveloper should have been patched with the SOA Extension. Using SOA Extension, you can create a SOA-MDS connection which in turn will use a database connection with the credentials of DEV_MDS. The SOA-MDS connection has to be created for the workspace and it should be DB based.

Once done, you can refer to the AIA Components using the SOA-MDS connection. This is one feature that is very different from 10g. In 10g its so very simple to refer to the AIA Components but it was pain when moving from one environment to another. We had to run a build to replace the URLs and refer to the AIA Components in that specific environment. In 11g however, when we create a SOA-MDS connection and refer to the artifacts, the URL in the bpel source is like “oramds:apps/AIA Components/Enteprise Object Library/..etc”. The keyword oramds is reserved and appserver understands it refers to the meta data repository. So you no more need the build when moving from one space to another. Enjoy !


Cheers,
- AR

Wednesday, February 10, 2010

Started on SOA 11g and AIA 30

I have atlast managed to do some hands on SOA 11g and AIA 3.0. But there are quite a few initial issues that I faced when I started off, with Jdeveloper. In 10g, it does not make a difference to work with Jdev 10.1.3.3 or 10.1.3.4 as the basics would function the same. By basics, I mean creating a project, connection or deploying. In 11g, I am still not sure if thats the issue, but three of us (me and a couple of my colleagues) faced the same issue and we were able to resolve it when we upgraded the Jdev. Btw the issue was that we were able to create a SOA-MDS connection (a SOA-MDS connection is used to refer to the AIA Components and it in turn uses a DB connection with the username DEV_MDS) but we were not able to see any schemas or wsdls. Again, as I had already mentioned, these connections could be made specific to workspace or application. It worked when we created the connection specific to application.

 
What we then did was to uninstall the JDEV 11.1.1.1.0 and upgrade to 11.1.1.2.0. We need an extension to this JDEV specifically for working with SOA projects (soa-jdev-extension). I again recommend to upgrade this to the corresponding JDEV version, soa-jdev-extension v11.1.1.2.0.12.16.

 
All set…but JDEV is killing my system. I run on 1GB RAM ! Happy Jdev’ing.

 Cheers,
- AR

Tuesday, February 9, 2010

SOA 11g and AIA 3.0

I had been involved in some beta testing of AIA 3.0 (lucky me ! ) with my new employer. AIA 3.0 is the first version of AIA on SOA 11g. I had worked on AIA 2.0.1 which was on SOA 10g prior to this. I should admit that I was lost when I started with 11g, starting from JDEV to the consoles that we use for testing the process deployed on the server. Looking at the amount of work gone in from Oracle to get this out, I wouldn’t be surprised if the older versions of AIA and SOA are phased out soon. I plan to test use cases for the different messaging patterns, use of cross references and DVMs and if possible, try to do some extensions to AOL (Application Object Library), EOL (Enterprise Object Library) and EBL (Enterprise Business Library). I would share my experience on 11g and AIA 3.0 as I progress with the plan chalked out. To start with, I would like to highlight the major differences that I found initially between SOA 10g / 11g and AIA 2.x / AIA 3.x. The differences as I had stated already, started right from the IDE used to how the application server components were structured. Some of them are:

  1. The JDEV that we used in 10g and 11g are different
  2. Oracle ESB replaced with Mediator
  3. The consoles available in 10g are no more available with 11g
  4. Application Server structure in 10g and 11g
  5. There is a huge difference in the number of AIA EBOs available in 3.x from 2.0, though not a huge change from 2.5 to 3.0, I guess
  6. The way we used to refer to the AIA artifacts (AOL, EOL and EBL) in 2.0 is very different and it’s not a direct reference from the Apache server as in 2.0
  7. There is this concept of Composites which was not available in 10g at all

Jdeveloper:

The JDEV used in 10g was just a winzip archive. It was enough to unzip this and start the JDEV using the jdeveloper.exe. In 11g, Oracle has provided a Jdeveloper Studio which is an installable. It comes with a Weblogic Server and ADF components. The Jdeveloper 11g is undoubtedly heavier than its predecessor. The connections you need to create here are slightly different. You can opt to create connections per application or one common to all applications. Creation of connections to Application Server, Database and other components are similar to what we do in 10g, exception being we connect to Weblogic server in 11g and we used to connect to OAS in 10g. If you have a system with 1GB RAM, be assured that your system is critical and is on ventilator. You require at least 2GB RAM if you would expect decent performance from your workstation. Anything greater than 2GB is a luxury and anything less, a curse!

Mediator instead of Oracle ESB:

The Oracle ESB has been replaced with the Mediator. Mediator is an enhanced version of Oracle ESB. Both have routing rules, transformation options and filter options. On top of that Mediator has the option of assign activity and routing more than one receiver and some more options. More on Mediator would be available in posts related to Mediator.

SOA Consoles:

There were different consoles available in 10g like the BPEL Console, ESB Console, EM Console and one page for AIA Components. In 11g, all these have been integrated in to a single Enterprise Manager Console. Of course, AIA will always a separate console of its own, be it 10g or 11g. The BPEL processes and the mediator together have been packed into a composite and it is this composite that it deployed on to the server. On clicking a composite, there are options available to test individual BPEL process and Mediators from the same console. The instances for the tests run will also be available from the same console, upon navigating to that particular composite. There is however one separate console available for Weblogic server from where we can manage the different managed servers like the soa server and monitor/manage the Weblogic Server as administrator.

Application Server Structure:

The basic structure found in 10g will no longer be available (obviously) as Weblogic Server structure is different from OAS. There will be a domain specific to soa server which will in turn contain the different artifacts. Again, more on this in the later posts.

EBOs available in AIA 3.0:

The number of EBOs available in AIA 3.0 has gone by quite a number compared to AIA 2.x versions. The 2.0.1, the version I have worked on extensively has about 12 EBOs max and versions like 2.5 had 68 EBOs. AIA 3.0 has 95 EBOs. The Industry specific EBOs have also gone up from AIA 2.5. The EBOs have become very specific and we can expect more in the coming versions of AIA. In fact, I would say things have become slightly easier for us. In 2.0.1, I had a difficult time in mapping the different entities to EBOs as the EBOs were very limited and details of the entity did not match with the EBO fields. As we have an EBO for almost all entities in an Industry, things should become trivial and clearer and the need to create custom fields would come down.

AIA Components:

The contents of the AIA Components and the way we have to reference the EBM available in AIA Components have completely changed in AIA 3.0. In AIA 2.x, the AIA Components had (only the major entities have been listed below):

  1. Application Object Library 
  2. EnterpriseBusinessServiceLibrary 
  3. EnterpriseObjectLibrary
The 3.0 in addition has ApplicationConnectorServiceLibrary, B2BObjectLibrary, B2BServiceLibrary, BusinessProcessServiceLibrary, InfrastructureServiceLibrary, DVMs, XREFs and the AIAConfigurationProperties.xml. All these components have been pushed into AIA Components and stored as Metadata in AIA. In 10g, we could access them using an URL. In 3.0 running on 11g, we need to create a connection to MDS repository and access these components. Extensions to these have not been explored and will be posted as and when I have done it.

Composites:

Composite is a new concept available in 11g. You can relate to a composite as a .jws in 10g. It’s a collection of BPEL processes and Mediators. In short, you need to create a composite first, add BPEL and Mediators to it and deploy the composite to the server. The testing and viewing of instances are specific to a composite from then on. On a different note, we can also say that a composite would be a one that represents a business case. Hence all BPEL processes and Mediators required for fulfilling that business case would comprise that composite. On the styles of Merriam Webster, “Composite - It’s a collection of related BPEL Processes and Mediators that may or may not invoke each other and each of the individual processes may or may not have an end point to test them individually (this depends entirely on the requirement)”. The definition might definitely violate the basic SOA rules and Composite is definitely a topic of debate and how they can be best fit in SOA.

——–
This is in short on what I could spot in 11g and AIA 3.0 without my spectacles. Posts with spectacles on would follow (no commitments on timeline !!, thats me !).



Cheers,
- AR
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License