Friday, October 31, 2014

Oracle SOA 12c- What's New in store for Developers

I had been researching for quite a sometime on Oracle SOA 12c and have found some cool features for Developers in terms of development ease, user experience, integration, performance, management, mobile, cloud and many more. Here is the compilation of the same.

Note: As there are many features, to make this blog to the point and readable, I have just presented features summary. Details of each feature will be published in my subsequent blogs later.

Single Installer: Oracle Suite 12c comes as single installer for developers. It’s one single package which include JDeveloper, a integrated Weblogic service with SOA Suite (including OSB), JavaDB (Database) and the Enterprise Manager. In JDeveloper, the WebLogic Integrated Server is pre-configured with SOA Suite components runtime and JavaDB.

No Eclipse: For OSB development we need not have to use Eclipse IDE anymore, we can develop OSB application in Jdeveloper itself. OSB development now also uses similar terminology and layout as the SOA Suite SCA composite application development.

Just like OSB, even for OEP (Oracle Event Processing), we do not have to use Eclipse anymore. The new version is not just a simple port to JDeveloper, it has gotta major face lift.

New DB connection Types: SOA Suite 12c adds two new Database connection types when creating Database connections.
a. JavaDB - JavaDB (Derby) is used to run SOA Suite repository on that is used for the integrated server. It is a development database that allows one to start development with SOA Suite without the need to run RCU. Java Derby database, which is file based and that makes it really fast.

b. JDE World - JDE World connection you have easy access to the data in the JD Edwards database.

New Technology Adapters: 
a. Coherence Adapter
b. Salesforce cloud Adapter
c. REST Adapter
d. MFT
e. LDAP
f. Healthcare
g. MSMQ
h. JDE World
i. SAP
j. UMS (SMS support)

Support for Maven: Like ANT for deployment, now Oracle 12c supports Maven explicitly. Whenever an Application or Project is created, automatically pom.xml gets created which can be used for deployments using Maven.

JDeveloper Debugging and Testing: One of the most useful improvements made to JDeveloper is the inclusion of a debugger. With the help of debugger we can debug our code before deploying it, this saves lot of development efforts. It allows you to set breakpoints within a SOA composite, BPEL process or OSB.

Improved Test suite: The SOA Suite test framework has also been improved, with the ability to run the tests within JDeveloper with detailed reports of every test run, instead of having to perform the testing from within Enterprise Manager Fusion Middleware Control.

Improved XSLT Mapper: In this release I can see much better support for complex stylesheets with multiple templates, user defined functions (also recursive functions). I can also see a better functioning of XSLT when we switch between Design and Source mode, which was an issue till 11g.

New Xquery Mapper: In this release Xquery mapper is newly introduced which provide XQuery support. BPEL  has a dedicated activity to use XQuery in your BPEL code for transformations.  The XQuery mapper has support for XPath 2.0 and user defined functions. The mapper is really user friendly and it’s made consistent with the XSLT mapper interface. The mapper also has an integrated Test framework and is build for reuse in both SOA & OSB.

Translate Activity:  New Activity in 12c which is used for Native to XML and XML to Native transformations.

MDS goes Graphical: Now with 12c, you can publish, search and consume files from MDS and OER. Its quite user friendly.

Templates for SOA: By using SOA Templates, you can start developing a composite application and can easily add reusable components or activities to an existing composite application. You can create and apply templates at three levels within a composite application, these are:
a. Project Template
b. Component Template
c. Custom Activity Template

Note: More details of it will be publish in my subsequent blogs

Templates for OSB: Oracle Service Bus templates are also supported in Oracle SOA Suite 12c. They are similar to SOA Suite SCA composite templates but with minor differences. OSB templates are created at the pipeline level and can be either linked or unlined.

OSB - MDS support: Now MDS support is provided for OSB in 12c, unlike 11g.

BPEL Sub-process: Sub-process is new introduction in this release which provides a mechanism for reusing BPEL code within a BPEL process. A BPEL sub-process can be described as a unit of encapsulated logic that can be called zero to many times within a BPEL process.
There are two types of sub-processes.
a. Inline subprocess
b. Standalone subprocess

Managed File Transfer (MFT) 12c: MFT is a simple and secure End-to-End Managed File Gateway. It is used for transferring files between a source and one or more targets. It integrates with (s)FTP, File, B2B, ODI, Healthcare and SOA, B2B and web services. MFT runs as an application on WebLogic 12c and has a lightweight Web based Design Time interface to easily build, edit and deploy end-to-end transfers and a Run Time interface to monitor running / failed transfer instances. It runs on its own managed server.

Enterprise Service Scheduler (ESS): ESS is out of box scheduler which comes as a new feature of 12c (only supports weblogic and oracle DB in 12c). ESS is part of the SOA Suite license and with it you can create & schedule jobs through the EM. By using this we can schedule the services. It is automatically installed as part of SOA Suite (optional), Service Bus (optional) and MFT (mandatory).

Resequencing in OSB: Resequencing functionality was in 11g Mediator, now this feature is introduced in OSB as well with 12c release. Now with the help of this feature we will be able to process the request message in proper sequence.

Better BAM in 12c

Auto Purge functionality: In 12c Auto purge of SOA DB is enabled by default for new installations. Purging of the SOA DB can now be scheduled through EM Console.

EM Console: In 12c EM console is also enhanced with its features. A lot have been modified like Search option, Flow view etc.


Monday, October 6, 2014

Welcome to Oracle SOA 12c

Introduction:
New version from Oracle (SOA 12c) was out few months back - Lets explore it with me. Oracle SOA 12c comes with loads of new good features and enhancements.

Prerequisites to Kick-Start:
Lets start with prerequisites which is needed for learning 12c. This section gives required links, all in one place, so that you don't have to wonder places to gather information.

First of all, you need to check your system requirement, if all ok, then you need to have JDK 7 for 12c. Upgrade it, if not yet done.

Link for checking your system requirements:
http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

Once you open the link, there are xls files which contains Certification Matrix. Check that out for reference

Link for JDK 7 download:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

(Note: Detailed step for installing it will be presented in another follow up blog entry)

Once JDK is downloaded, go for SOA 12c download. Keep both ready, so that we can install it altogether.

Link for SOA 12c download:
http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html?ssSourceSiteId=opn

With Oracle Suite 12c its all easy. All your installation, a sample Hello world, deploy and test will happen with in 30 mins only, its fast. Oracle SOA 12c use Java Derby database, which is file based and that makes it really fast. With 12c, it is now a single installer for developers - means your JDeveloper (IDE), Weblogic, Database and SOA is now integrated, no need to install it separately.

(Note: Detailed step for installing it will be presented in another follow up blog entry)