Search This Blog

Thursday, March 3, 2011

Customization in SOA SCA Composite

The customization concept is popular with the traditional ERP applications such as OracleApps, Siebel, Peoplesoft. 'Customization' means  tailoring the application for particular business need. The ERP applications are designed using "Best Practices" followed in the organization or Business domain. T he "Best Practices" concept is very generic and every organization need to change their business processes little bit from original behavior.

SOA suite Composite (based on SCA architecture) has also adopted the concept of Customization.

Let’s say, the Accounting team delivers the SOA composite for Accounting Business Processes. Now the HRMS design team needs to use this Accounting Business Process in their SOA project. The HRMS team can't use this composite as it is, but they will customize it according to HRMS domain and add/modify the original behavior.

Now, let’s say Customers from Latin America and Asia Pacific also want to use this HRMS-Accounting Process in their organizations. The rules for Accounting and HR related business processes vary according to the country. So there should be way to add/modify the business processes without touching the base composite like "Generic-Accounting BP" and "HRMS-Accounting BP".

As Business Domains are continuously evolving, these customizations need to survive upgrades and patches. Essentially, there is a base composite and several layers of customized composites. At a later time in the composite life cycle, you may deliver the next version of the base composite, which triggers an upgrade cycle for the other domain and the customer.

Oracle SOA composite provides this feature using the flag called 'Customizable'. You will find this flag when creating SOA project inside JDeveloper Workspace

To create the customizable composite:
1.Start Oracle JDeveloper and select the Default Role.
2.From the File menu, select New > Applications > SOA Application, and click OK.
3.Follow the steps in the Create SOA Application wizard.
4.On the Create SOA Application dialog, select both CompositeWith BPEL Process and the Customizable Checkbox.
5.Design the BPEL process.
6.Customize the BPEL process by creating a scope activity. This action is required because by default the BPEL process is not customizable.

You can only customize the following files:  composite.xml file, .bpel file (for Oracle BPEL Process Manager), .mplan file (for Oracle Mediator), and .componentType





To know more about the Customization; Please refer the SOA suite Developer's guide at

In the next post, I will show you the Simple Customization with HelloWorldBPEL Process.

Tuesday, November 30, 2010

SOA Config Plan for File Adapter

The Simple use case for using the SOA config plan is to change the Physical path(or the File Adapter JCA properties) can be achieved as

Let's say you want to change the Physical path for File Adapter from which it will read/write the contents.
While developing the Application; you design the adapter to have following path
/home/devuser/fileLoc . The .jca file in this case will look like

  <connection-factory location="eis/file/SampleFileAdapter" adapterRef=""/>
  <endpoint-interaction portType="Write_ptt" operation="Write">
    <interaction-spec className="oracle.tip.adapter.file.outbound.FileInteractionSpec">
      <property name="PhysicalDirectory" value="/home/devuser/fileLoc"/>
      <property name="Append" value="false"/>
      <property name="NumberMessages" value="1"/>
    </interaction-spec>
  </endpoint-interaction>

</adapter-config>

Generate the Config plan for your composite and add the following Code snippet to change the Physical directory property of File Adapter

 <!-- replace file endpoint for Sample File Adapter Service -->
   <wsdlAndSchema name="SampleFileAdapter_file.jca">
     <jca:property name="PhysicalDirectory">
        <replace>/home/produser/fileLoc</replace>
     </jca:property>
   </wsdlAndSchema>

This will replace the PhysicalDirectiory path to /home/produser/fileLoc

Similarly; you can replace the Topic/Queue name for the JMS adapter using following

   <!-- replace jms destination for jms adapter -->
   <wsdlAndSchema name="JMSAdapter_jms.jca">
     <jca:property name="DestinationName">
        <replace>jms/DemoTopic</replace>
     </jca:property>
   </wsdlAndSchema> 

Friday, October 1, 2010

Oracle Fusion Middleware Environment Architecture

A typical Oracle Fusion Middleware environment contains the following :

One Oracle WebLogic Server domain, which contains one Administration Server and one or more Managed Servers.
An Oracle WebLogic Server domain is a logically related group of Java components. A domain includes a special Oracle WebLogic Server instance called the Administration Server, which is the central point from at which configuration and management of all resources in the domain occur.

Oracle WebLogic Server instances called Managed Servers.  You can deploy Java components, such as Web applications, Enterprise Java Beans (EJB), and Web services, and other resources to the Managed Servers .Managed servers in a domain can be grouped together into a cluster.

System components are installed and configured as Oracle InstanceAn Oracle instance contains one or more system components, such as Oracle Web Cache, Oracle HTTP Server, or Oracle Internet Directory. The system components in an Oracle instance must reside on the same computer. The directory structure of an Oracle instance is separate from the directory structure of the Oracle home.

A metadata repository hosting the metadata required for Hosted components such as SOA suite and Web center application

A Middleware home, which contains product binary files. A Middleware home consists of the Oracle WebLogic Server home, and, optionally, one or more Oracle homes.



Oracle Fusion Middleware provides two types of components:
  • A Java component, which is an Oracle Fusion Middleware component that is deployed as one or more Java EE applications.  Examples of Java components are the Oracle SOA Suite and Oracle WebCenter components.
  • A system component, which is a manageable process that is not deployed as a Java application. System component is managed by Oracle Process Manager and Notification (OPMN).
The system components are:
  • Oracle HTTP Server
  • Oracle Web Cache
  • Oracle Internet Directory
  • Oracle Virtual Directory
  • Oracle Forms Services
  • Oracle Reports
  • Oracle Business Intelligence Discoverer
  • Oracle Business Intelligence

A Java component and a system component are peers.
Java components are deployed to an Oracle WebLogic Server domain as part of a domain template.

The general layout for all the components on host machine will look as shown below
The top-level directory for all Oracle Fusion Middleware products is called the Middleware home; this directory is created when Oracle WebLogic Server is installed.

Each Oracle Fusion Middleware product must be installed in its own Oracle home location called as "Oracle Home Directory".

Each product has its own Oracle home directory. To differentiate among all the product Oracle home directories, the installation guides typically refer to each Oracle home by product name; for example, the Oracle home for Oracle SOA Suite is referred to as the SOA Oracle home, while the Oracle home for Oracle WebCenter Suite is referred to as the WebCenter Oracle home.

Java Components is configured in a Oracle WebLogic Server domain while the other products (Oracle HTTP Server and Oracle Web Cache) is configured in an Oracle Instance (because it consists of system components).

Tuesday, September 21, 2010

Fusion Middleware Deployment Architecture

Every SOA related document shows how to develop components/system using Single Domain Architecture.
There is shift when it comes to deploy the Application in Multi-tier,Multi Domain constisting of Cluster Architecture for Fail-over and High Availability.

Lets see how the Enterprise Deployment for SOA suite domain looks like according to best practices recommanded by Oracle.
This diagram shows the Physical View of Deployment.


Coming to the Logical view of Deployment; this shows the how components are placed in the Server ecosystem.



Please have a look ....next article will explain the Deployment best practices.I will also explain how to Setup SOA suite for High Availability and fail-over(Basic and Advanced Clustering using 2-nodes).

Till then Practice..Read,...Analyze...make move.....and become Jeddi

Always refer From the Source....@
http://download.oracle.com/docs/cd/E14571_01/soa.htm

Friday, September 17, 2010

Oracle SOA and Fusion Middleware for Dummies-1

So..how to get SOA and Fusion Middleware on fast Track???
Here is the starting guides and resources you can use.....

Started with SOA suite and its various components and Integration...lets take a look @

http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10223/index.htm

Its very intuitive and well written guide...The images are amazing....

Oracle Fusion Middleware Concepts Guide
http://download.oracle.com/docs/cd/E14571_01/core.1111/e10103/toc.htm

In subsequent series..I will try to explain the topics from the same links.....
By then...every Dummy will be Jeddi master....  ;))))