OOW14 summary: Oracle ADF

Being an ADF developer, off course a lot of my focus and attention went to the ADF related sessions. I left OOW with a mixed feeling about the ADF sessions. On the downside I felt there was not a lot of attention for ADF during the OOW conference. You see ADF or ADF related features during almost all the presentations, whether it is the Cloud, SOA Suite and Service Bus or MAF, but not a lot on ADF itself. Then again this might be a good thing, meaning the framework being more stable and reliable.
However, the upside of the conference for me personally still is the User Group session on the Sunday, thanks to the ODTUG user group and the ADF EMG community there was a whole Sunday full of nice ADF presentation, I enjoyed all of them, a great day!

One of the key ADF features at Open World was the release of the new ALTA UI, which can be viewed upon as a Simplified UI 2.0, if you want (also see my blog about the UX event). It is not just a skin, but a way of creating ADF applications. Follow the patterns, use the building blocks and create not only a functional, but also a good looking application with a good user experience.

Diagrams for ADF
A presentation done by Duncan Mill and Jairam Ramanathan about the new DVT component to create diagrams in ADF. This is not just a ready to use DVT, that can work for you in some situations. This is actually a framework you can use to create the exact diagram you need for your use case at that time. This will result in a SVG in the HTML output, which means there is native browser support and the user can actually use default functionality like zooming & panning.
Duncan wrote a series containing over 10 articles, which included the necessary steps on how to get yourself familiar with the diagrams and how to use this. A leap forward in the visualization tools within ADF, maybe we will get to see more of this in the framework?
High Availability and ADF
Jobinesh had a great session on High Availability (HA) support within ADF. If you want to run ADF on HA, the framework does not do all the work for you, you have to help it a little bit.
Look up his presentation to read up on how to ensure the correct working of failover and data replication, but also for some great code guidelines on how to program MBeans, TaskFlows and more within a HA environment. There is no need for me to repeat all these steps he worked out for you so well.

DVT within ADF
In this session the Data Visualization Tools (DVT) team showed some cool new features from the current (12.1.3) as well as the upcoming release. They are not ADF only, because almost all of them are also available within the MAF framework. The layout and animation of all the DVTs are now responsive and there has been a great performance improvement in all of them. Within the thematic map it is now possible to provide your custom map.
In the upcoming release the there will be a nice cool feature to mashup DVTs. Meaning you can switch between different DVTs without losing the state/context of the data.

Maven support
Since the release of ADF 12c, there is now support in JDeveloper for Maven. Which can be of great use in your Continuous Integration and/or Continuous Deployment process. JDeveloper understands how to work with the pom file and everything you need to do to get started with maven and your project you can do from within JDeveloper.

ADF EMG XML Data Control
Last but not least some shameless self plug. If you do anything with XML within ADF, whether it is just to show data on an UI or to manipulate it. Make sure you have a look at the XML Data Control. The 1.0 version is out and it can saves you lots of time , headaches and lines of code in Java.

Available online resources

OOW14 summary: Oracle Service Bus

Since I am fairly new to the Oracle Service Bus I gathered a lot of information about this product. Most of it is not shocking and has been mentioned already, but this gave me a nice summarized overview of what 12c has to offer in comparing to 11g.

Since the 12.1.3 release, you don’t need eclipse anymore to create your service bus projects. Just as for the SOA Suite you can do everything from JDeveloper. When creating a service bus project, you will get an sboverview file in your project. This file describes the entire application assembly of proxy services, business services, pipelines, and split-joins. There is one overview file for each Service Bus project.

Not only are the Service Bus projects within JDeveloper, they also run on the Integrated WebLogic server. This way it becomes easier to debug the service bus. You can just place breakpoints in your source files and choose the debug command. A breakpoint marks a point in a pipeline or split-join where message processing pauses. This lets you examine the values of some or all of the message variables.

EM FMW Control Console
With the move of the service bus towards JDeveloper, it is now also integrated into the Enterprise Manager Fusion Middleware Control Console as we know it from the SOA Suite. However, there still is the sbconsole as we know it. The layout of the sbconsole has been moved towards the Oracle standard, with that the functionality as you know it from 11g might be displayed a bit different but it is all still there.

Rest/json support
The Service Bus now supports the use of REST service. Meaning you can create rest enabled endpoint with the service bus. However, the Service Bus only provides a virtualization layer to support REST, which means that only proxy and business services are REST-based. These REST services invoke, or are invoked by, a WSDL-based pipeline or split-join. REST proxy services convert the REST native payload to SOAP before invoking a pipeline or split-join, while REST business services invoked by a pipeline or split-join convert the payload from SOAP to REST. The internal interface is WSDL-based, while the external business and proxy services expose REST endpoints.
Read more in the Service Bus documentation.

Pipeline templates
You can create pipeline templates. These templates  are living entities, when creating a new pipeline you can base these on the template. When creating these new pipeline you can decide whether you want it to be linked or unlinked.
If you decide to link the template to your pipeline this means that when the template changes, these changes will be rolled out to the linked pipelines and these will be updated. If you decide to unlink a template, the template will be used as a starting point to create the pipeline, but it will not be updated anymore if the template changes.

Xpath/xquery support
Where you might be used to xpath in the SOA Suite and xquery in the Service bus. With the release of 12.1.3 you can now use both xpath and xquery in the Service Bus as well as the SOA Suite.

You can now trace an instance going through both the service bus and the soa suite back and forth. The first service that your instance hits will generate an ecid, this ecid will be used throughout the whole instance. This also works if your SOA Suite and Service bus run on a different domain.

Splitted Pipeline & Proxy Service
You can have a generic pipeline to multiple proxies, this way you can have multiple interfaces, for example to support both an xml and a json interface, but use the same generic pipeline.

Upcoming New Feature
There were a few demos of new features coming in the next release (12.2).
From 12.2 there will be a native end to end support for json, meaning the service bus will no longer translate the json to xml internally. Next to that, there will be a JavaScript action available which you can use in the pipeline to manipulate data. With the help of EX4 this JavaScript expression builder will also be available to manipulate xml, meaning that JavaScript will be a powerful tool within the Service Bus.

Available online resources

What I learned at Oracle Open World 2014

Oracle Open World was once again very inspiring, last week I’ve been summarizing my own notes. I decided to share them with the world, if not only for me to find them back in my own blog archive in the (near) future.

As you might have guessed, there was a lot going on about the cloud. So much, it was almost confusing. The most interesting clouds that stayed with me after OOW14 where:
  • The Integration Cloud Service (ICS).
  • The Java Cloud Services (JCS) in combination with the Developer Cloud Service (DCS).
  • Mobile Cloud Service (MAX).

However, since I am not really working with any cloud related product, my main focus was on the on-premise Oracle FMW stack. So if you want to know more about the cloud, there are plenty of other, better blogs to tell you more about these details.

SOA Suite Upgrade to 12c
First of all, very impressive, you can smoothly upgrade from 11g to 12c. There is an extensive upgrade manual that you can follow, to upgrade from your 11g to the new 12.1.3. release. If you follow the step by step guide, the upgrade will even work if you have running instances on your production environment.
This upgrade has been proven to work on multiple customer cases.

API Management
Oracle will be announcing two new product which will help you with your API management, this features will be on top of the Oracle Service Bus. There are two sides of this product, which are actually separated products. One is to help out with your catalog of services, which are you running on the service bus. This information can be harvested from the bus and will be available in a catalog.
The second product is to help you with managing the consumers of your services. Your consumers must explicitly subscribe to your service in order to get an API key. They must use this API key in the http header when they call the service in order to get a result. Using this feature you get a complete overview of the consumers calling your service.

Oracle Stream Explorer
Oracle Stream Explorer (OSX) is a tool that can help you with getting information out of Oracle Event Processing (OEP). OSX can help you transforming lots of data into information. Stream Explorer can not only listen to edn, but also get input from csv files, database tables and other sources. It is a standalone product that helps you manipulate streams of data (events). Once the data is transformed into information, Stream Explorer can publish this again, for example to a JMS queue.
You can build a custom ADF UI to present this information or you can use Oracle Business Activity Monitoring (BAM).

Mobile Application Framework
The Oracle Mobile Application Framework (MAF) 2.0 is out and it starts to become a really mature product, one of the key things is the new release cycle for MAF. They intend to release every 2 months from now on.
One of the most named down sides of MAF is that it still runs on Java 4. However, not in the upcoming, but the release after that (meaning early next year), MAF will be upgraded to use Java 8. If you ever doubted on starting to investigate on MAF, now might be a good time.
The skills for a ADF developer are pretty transferable, MAF does not use JSF and does not have the ADF lifecycle as we know it from his big brother, but we do have java, taskflows, data controls and the binding layer.

Mobile Cloud Service 
In the session ‘Next-Generation Application Development’, Chris Tonas said “The cloud is not just a deployment platform anymore”. Chris announced the coming of the Mobile Cloud Service (MCS), which is coming soon.
In a fifteen minute demonstration Chris showed how you can create an online mobile application, using the  Mobile Application Accelerator (MAX) for Mobile Cloud Service. An application based on reusable MAF components you can deploy to either Android or iOS devices.

Service Bus & ADF
For both Service Bus & ADF I gathered so much info that I decided to create two separated blogs for these subject.

Online available resources