Khanderao on Emerging And Integration Technologies

Wednesday, September 09, 2009

Speaking at Oracle OpenWold 2009

I will be speaking at OOW 2009 on Oct 12th. The topic will be:
Oracle SOA Suite 11g Best Practices Based on Oracle Fusion Applications Development Experiences

Labels: , , , ,

Add to Technorati Favorites

Save This Page on del.icio.us

Thursday, July 23, 2009

AS11 SOA Tips: Configuring Component (Process) level properties

Oracle's SOA Suite AS11 is based on SCA (Service Component Architecture). Hence the configuration of process level properties is also done as per SCA standard. To be specifically as component properties in composite.xml

Here is an example:





For details refer to FMW SOA Documentation Appendix C

Why is it important?
The Component Properties can be configured in the production environment via Enterprise Manager and they can be accessible to the running component or component container (or service engine like BPEL)

Labels: , ,

Add to Technorati Favorites

Save This Page on del.icio.us

Thursday, July 16, 2009

SOATips AS11 Moving SOA Projects Prom Dev-test To ProductionP

SOA projects often embed physical addresses of various servers hosting wsdls, xsd s etc. For example, a SOA composite may invoke another service hosted on other box hosting a test environment and may refer xsds on the box. The physical address could be in the composite.xml where bindings and imports could be pointing to wsdls on target servers (which may change)
For example, a reference in composite.xml would be like following:



Whenever the SOA project needs to be deployed on a production environment, these references to test environment needs to be replaced by the appropriate references in the production environment.

This replacement can be done during the deployment time using Configuration Plan. It understands the composite/ wsdl/xsd constructs that may have the concrete address embedded within e.g.



Config plan is a xml file that contains information related to replacing the appropriate strings. The config plan can be generated from composite by right clicking on the composite.xml from jdev.



The plan should associated to soa composite during the deployment time.

Labels: ,

Add to Technorati Favorites

Save This Page on del.icio.us

Wednesday, July 15, 2009

AS11 SOA : Tracing events using event logger

If you are publishing events in AS11 and would like to trace it : A quick check to see whether event has been published or not would be using event logger.

http://:port/soa-infra/events/edn-db-log

Of course, you can also use Enterprise Manager (em) to trace the event. There are multiple ways to trace them in EM.

1. Through instance tracking on the subscribing composite,
2. Business Events page in EM ( Right click on soa-infra -> select Business Events)
3. Looking into log files ( once again via EM)

Labels: , ,

Add to Technorati Favorites

Save This Page on del.icio.us

Tuesday, July 07, 2009

Event vs Services to initiate a BPEL process in AS11

Since As11 supports both events and services to initiate a SOA composite ( may be having a BPEL process within it), there is always a question around when to use events and when to use service invocation to start the process.

The decision can be based on the following understanding of the events and service patterns.

Events
  • Events are suitable for a decoupled integration.
  • Events are one way messaging (no request response pattern and correlation)
  • The publisher does not know about the subscribers (there might not be subscribers too)
  • The publisher is not blocked for the execution of the subscriptions
  • Events support 1:n fan out (multiple subscribers for the same event)
Service invocations
  • Service invocation is a tight integrations with the service provider
  • Service invocation supports request response patterns (sync or async)
  • Synchronous service invocation is blocked till the execution of the service completes.
  • Async Request response pattern is often supported via WS-adderessing and correlation

Labels: , , , , ,

Add to Technorati Favorites

Save This Page on del.icio.us

Thursday, July 02, 2009

Quick Summary of Business Events Support in SOA As11

Oracle's SOA Suite AS11 is a rendezvous of SOA and EDA models. The EDA functionality is served by Business Events Framework (called Event Delivery Network EDN) and Complex Event Process (CEP) are two main components.

EDN: EDN supports a loosely coupled event pub-sub model. From another J2EE server, a publisher can publish the events either programmatically using Java API from a J2EE container or declaratively via ADFbc Entity Objects. These events can be subscribed by zero or more mediator(s) or bpel(s). Both Mediator and BPEL can publish events too. EDN's event pub-sub model supports m:n relations. EDN has been implemented on top of JMS. It supports delivery policies like AtLeastOnce, OneAndOnlyOne, and ExactlyOnce.

EDL: Events are described using EDL (Event Description Language). Each event has a event name as QName and event payload as a xml element. Events carry properties, headers and a payload in runtime.

SCA: We have also made events as a first-class-citizen of SCA. In SCA composite, event publishing and subscribing can be specified.

Subscription: Event subscriptions are defined with event name and (optionally) Xpath based condition filter. While multiple components from one or more composites can subscribe an event, there can be only one subscription per subscribing component.

Testing: You can fire a test event using SOA console in Enterprise Manager (EM)

Monitoring: Events can be monitored by SOA console in EM or http://soaserver:port/soa-infra/events/edn-db-log.html

Labels: , , , ,

Add to Technorati Favorites

Save This Page on del.icio.us

Friday, January 25, 2008

Migration of Oracle's ESB from 10.1.3x to 11

With the announcement of Oracle SOA Suite AS11 aka Oracle Fusion Middleware (FMW), many folks asked about the future of ESB 10.1.3.

ESB typically provides an infrastructure for standards based integration between systems supporting different protocols. At the heart of a ESB is a routing engine and a bus. On the edges it would have adapters supporting various protocols. Such framework supports policies like securities and provides a runtime visibility via a console. The FMW AS11 does exactly same and much modular way as.

FMW AS11 does all of these and more! And it is based on emerging Service Component Architecture(SCA). SCA provides a much missing standard for ESB to assemble components- services interacting together.

In Oracle Middleware version 10.1.3, ESB and BPEL are separate runtime. With FMW AS11, BPEL and Routing Service of ESB are service engines in a much modular architecture architecture based on SCA. Mediator is a new incarnation of ESB's routing service with a lot many new functionalities. Since the basic UI of the routing service is same as 10.1.3, those who are using ESB 10.1.3 you would be instantly be able to use it.

In addition to ESB 10.1.3 functionalities, you would be pleasantly surprised to see many new features that I could get added while re-architecting ESB on a new SCA based architecture.

Here are few of them:
1. Supporting Events natively: FMW now supports both Service and Event paradigms. Mediator is a rendezvous of both service and events.
2. Mediator supports more MEP patterns including dearly missing Async Request Response.
3. Mediator supports multi-part messaging and rpc/doc style
4. Mediator provides Schematron based custom validation framework
5. Mediator provides a rules based dynamic routing framework
6. Mediator provides a better fault handling and fault policies
and more such functionalities.

Though mediator's model has been changed, you can migrate 10.1.3 project easily in AS11 by opening them in JDeveloper.

Essentially, ESB in FMW AS11 would be Mediator + SCA based service Infrastructure + Events + Policy Framework + Adapters along with common infrastructure components like MDS(Meta Data service) etc.

Following picture (presented during OOW'2007) is the best way to represent ESB and SOA suite in AS11.


Labels: , , , ,

Add to Technorati Favorites

Save This Page on del.icio.us

Friday, January 11, 2008

Oracle SOA AS11 Preview: Starting /stopping Embedded server

As I mentioned earlier, Oracle AS11 suite's JDeveloper embeds a oc4j container having SOA suite runtime. This server can be started from Jdev or it can be automatically started when you try to run an application. But in some cases if you should need it to be started independent of JDev, you can do it by command line.

Go to
system11.1.1.0.22.47.94\o.j2ee\embedded-oc4j\bin

At this directory you would find startsoa and shutdownsoa scripts to start and stop a SOA server.

For some reason if you have memory issue (out of memory error etc) you can change the JVMs memory by editing MEM_ARGS=-Xms512m -Xmx512m -Xmn300m -XX:MaxPermSize=256m

Server Lifecycle Logs:
You can find startsoa.log at \system11.1.1.0.22.47.94\o.j2ee\embedded-oc4j\log

However, for any diagnostics, you would need to look at diagnostic log at
system11.1.1.0.22.47.94\o.j2ee\embedded-oc4j\log\soa

Labels:

Add to Technorati Favorites

Save This Page on del.icio.us

Oracle SOA AS11 Preview: Config and logs

Oracle SOA AS11 Preview version has embedded oc4j Application Server hosting SOA suite.

Configuration:
You may need to change some of the configurations of the server e.g. jms, datasources, logging levels etc.

The config files are under
\system11.1.1.0.22.47.94\o.j2ee\embedded-oc4j\config
Typically you may need to change logging levels, datasource settings, or transaction timeout etc. These can be done using config files in this directory

Logging:
If you need to change the logging levels, you need to change j2ee-logging.xml from the config directory. You can increase the logging levels in this file from NOTIFICATION:1 to FINE to increase the logging.

Log Directory: diagnostic.log is under
userdir\system11.1.1.0.22.47.94\o.j2ee\embedded-oc4j\log\soa

Labels: , , ,

Add to Technorati Favorites

Save This Page on del.icio.us