Category Archives: JDeveloper

Kscope 11 Thursday Thunder

During the Kscope Thursday Thunder a team of highly skilled ADF (including JHeadstart) and SOA Suite experts is building an application based on these technologies. Although this session – like any real world project – seemed chaotic at times, there were a lot of best practices to learn for all who attended.

We could have learned all of the tips and tricks in a normal session or presentation. However by working this way there is a much stronger feel of how technologies and tools are used in a real world project. It was fun to watch and learn and I think the team had a great time as well!

At the en of the session the End-to-End flow worked really well. Great work in just a few hours time!

Kscope 11 Fusion Middleware presentations

Like the previous days at Kscope my focus has been on the Fusion Middleware track. In this post I’ll share some of the highlight and summaries of some of the talks over here.

Fault Handling in SOA Suite

Ronald van Luttikhuizen en Guido Schmutz presented on Fault Handling in the SOA Suite. There is a clear need for another approach compared to say traditional systems. This is because SOA based systems differ from traditional system on the following aspects: level of heterogeneity, number of (different types of) consumers, asynchronous responses, and the way that transactions are handled.

Guido showed us around in the OSB with a focus on the following features: Result Caching, Service Throttling, Retry mechanism, Service pooling (talking to multiple endpoints) and Fault Message on callback (in async). Ronald gave a demo on how the Compensate and Fault Policy Framework work in BPEL.

This presentation on SOA Suite Fault Handling is also available on slideshare.

Using Oracle Apex as a replacement for BPEL Console

The company where this case was build has a high number of messages running through their BPEL 10g. This causes performance issues in the BPEL Console due to the high number of instances (millions on a daily basis) in the dehydration store (on which full table scans are performed). They created an own more lightweight console in Apex to manage both deployed BPELs as well as instances. Their solution uses the following ingredients:

  • A BPEL api – which is included in a BPEL script. They import orabpel.jar for this.
  • A BPEL script that exposes a part of the BPEL api as a web service. Embed Java in a BPEL and call the API.
  • An Apex front end that calls the web service to perform maintenance tasks.

In my opinion this delivers value to this company, however are there better ways to expose Java as a web service. Besides that this adds additional BPEL instances to the bottleneck resource.

Tuning SOA Suite 11g for perfomance

This presentation was delivered by Vikas Anand. One of the best parts of his presentation was that he didn’t only address the tuning part but also the design part. This mainly focus on preventing the need for tuning afterwards. Some of the design considerations he mentioned were:

  • Choose the right tool for the job.
  • Design it right – Consider what parts of the integration have to be synchronous and what have to be asynchronous. To which he added the advise to be aware of transactional boundaries.
  • Need a holistic view on sizing and capacity – Based on business requirements.
  • Plan sizing of dehydration DB – make sure there is a retention strategy and implement dehydration strategy.
  • Use the same JVM across (different) clusters.

Tools and Knowledge needed to develop SOA Suite 11g applications

Edwin, Torsten and Guido - Image by Markus Eisele

Edwin Biemond was presenting on Knowledge and Tools needed to develop with SOA Suite 11g. He shared great insights on using tools like MDS, Testing – both with TestSuites and AIA CAVS – and using Hudson for continuous Integration for SOA Composites.

Choosing your Oracle Application Integration Infrastructure

Today I presented at ODTUG Kaleidoscope. The presentation is aimed at supporting architects and especially developers to choose the right integration infrastructure for a job.

Kscope 11 ADF, AIA and Business Rules

ADF

There are a lot of presentations at Kscope on ADF where it is mentioned that the level of Java knowledge to implement ADF based applications is very limited. The first presentation by Markus Eisele I saw on Monday was an introduction to Java. It was called “All the Java ADF beginners need to know”. In this hour a short history, Java’s characteristics, at a high level the differences between Java EE, Java SE and Java ME were covered as weel as the the basics of the Java language.

The second presentation on ADF this day was by Sten Vesterli. It was titled: “Enterprise Applications with Oracle ADF – Skills, People, and Tools”. Not only did he go into these three aspects he also spend a part of the presentation on the process of developing software applications using ADF. The skills that were mentioned to develop ADF applications:

  • ADF Framework – Programming by exceptions
  • Object Oriented programming
  • Java programming
  • Database programming (Datamodel, PL/SQL, Batch like things)
  • XML – (Reading the Source View)
  • Regular expression
  • Graphical Design
  • Usability

Business Rules

EuroTransplant is one of the SOA Suite customers that uses the Business Rules Engine that comes with it in a production environment. Wilfred van der Deijl showed us from a developers perspective how the tools is used. During the presentation was clear that business goals like “the business must be able to verify the implemented rules” were clearly met.

AIA

Edwin Biemond gave “An Introduction to Application Integration Architecture“. The demo in his presentation helped to demystify the implementation of an AIA integration flow.

Kscope 11 FMW Symposium

Sharing some highlights from Symposium Sunday of Kscope 2011. The two most remarkable quotes of the day are:

ADF is the “Paint by the Numbers” for web front end development.

The most common application integration tools/solutions used are Post-it and a paper notepad.

However the real gem I discovered during this first day was:

User Experience Design Patterns

Madhuri Kolhatkar has delivered a great presentation on the effort Oracle has put into creating and implementing User Experience Design Patterns. Extended information is available on the Usable Apps pages of the Oracle website. Great insight on how this can help you in developing and delivering your applications can for example for OBIEE be found on Design Patterns and Guidelines for Oracle Applications. Take special note of the Pattern Selection Tool.

Installing JRockit on Ubuntu

This post will show you how to install JRockit on Ubuntu 11.04. In later posts this will be used to run both WebLogic Server and Oracle Service Bus (OSB).

First download the installer from the JRockit download page. Make sure that the .bin file is executable. You can use chmod +x filename to make the file executable.

The installation guide for JRockit can be obtained from the JRockit Documentation page.

  • Start the installer: ./jrockit-jdk1.6.0_24-R28.1.3-4.0.1-linux-x64.bin from the directory you download it or copied it to. Extracting can take some time.
  • Click Next on the Welcome screen.
  • Choose the product installation directory eg /oracle/jrockit-jdk1.6.0_24 and click Next
  • Check optional components if you need them and click Next
  • Watch the progress bar 😉
  • The installation is complete so press Done.

The screenshots of the installation process are in this gallery:

AIA Service Constructor in JDeveloper 11g PS3

JDeveloper 11g needs extensions to work with SOA Suite / SCA Composites and AIA 3.0 (for example the Service Constructor). An earlier post describes how to use SOA Suite extension in JDeveloper 11g. This post will show you how to install the AIA Service Constructor.

The AIA Service Constructor can be acquired using the menu Help | Check for updates, clicking Next, and selecting Oracle Fusion Middleware Products. SelectAIA Service Constructor and click next to start the download.

Verify the installation of the extension using the menu Help | About, and click on the tab Extensions:

Altering JDeveloper preferences

Now we have to make the aia.jar known to the SOA stuff. In order to do this we use the preferences, using the menu Tools | Preferences.... The is aia.jar in the ...\Middleware\jdeveloper\lib directory.

After these changes JDeveloper needs a restart.

SOA and E20 Partner Community Forum – 2

Some notes and dump of thoughts on the second day of the SOA and E20 Partner Community Forum. A day filled with interesting breakout sessions. Some of them were discussing roadmaps and future developments in the stack, and thus subjective to an NDA.

SOA platform

Again after this session I came to the conclusion that in my opinion BAM is used too little.

During the session was raised whether people in the audience were using non-Oracle databases as dehydration store and Meta Data Store. The mainstream is using Oracle as dehydration store. And although it is certified, it is advised to use Oracle as the database for this purpose. On the Application Server, given the maturity of the J2EE platform, there is less discomfort in operations to deploy the SOA Suite on a non-Oracle App Server.

ADF

Only today I found out that there is an interesting JDeveloper 11g extension. The extension validates ADF code quality. Seems an interesting extension to check code quality besides the already available Java tools.

BPM

When comparing BPEL and BPM and looking into when to use what tool, the following was stated: For all things with human interaction BPM is the tool of choice. In integration driven appraoches BPEL is the tool of choice.

In Oracle point of view BPM includes:

  • People
  • Systems
  • Documents

without the need for separate platforms.

Example of a custom Spring Java worklist application for Oracle BPM.

SOA and E20 Partner Community Forum

Today I attended the first day of the SOA and E2.0 Partner Community Forum. For a detailed agenda of the event check this link. The event with 200 registrations was hosted at Capgemini in Utrecht, The Netherlands.

Tattie picking

The first keynote by Andrew Sutherland had a few great stories that leaded the way to show the rationale behind the Exalogic platform. This included a personal story on “tattie picking”. The larger part was on productisation and gave examples on increasing effiency in IT. One of the ways for the Exalogic platform is the one that is also used by Apple: If you limit the amount of hardware your OS of software stack has to be compliant with, that introduces a better controlled and optimized environment; “If you know the machine you need less code”. This is resulting in several efficiencies. Efficiencies both in the One Time Costs (CTB) and Recurring Costs (RTB).

One of the sound bites that stayed with me was:

The most sticky stack is the least sticky one

Indicating that the stack that is the most open and complying with standards is the one that is most likely to survive…

SOA/ BPM Reference Case

In the Partner SOA/ BPM Reference Case Leon Smiers of Capgemini introduced us to the BPM practise of Capgemini and two of their BPM cases. One of the quotes that I think is very true was:

SOA supports the success of BPM.

Besides that Leon stressed the structure, insight and compliance advantages that BPM efforts deliver. One of the things they learned by doing was the importance of showing BAM to business people. This really enables you to get visibility on a lot of stuff that is under the hood. Besides that it is a catalyst for generating more business value with ideas from the people you are showing BAM to.

WebCenter/ UCM Reference Case

During the WebCenter/ UCM Reference Case Vikram Setia of Infomentum shared great insight on how to deliver an excellent web site using Oracle technology. He did this in a very lively session showing us around a live site and telling what Oracle technologies were used behind the scenes. Besides the UCM and WebCenter stuff there were some cool uses database thingies like:

  • Text Clustering
  • Thesaurus
  • Locator

SOA and BPM 11gR1 PS3 Update

Another intresting session was the SOA and BPM 11gR1 PS3 Update by David Shaffer. Mr Shaffer showed us some of the history and some of the highlight in the current stack. A more detailed dive into the latter will be on day 2 of the conference.

Wednesday’s Breakout Sessions

On the second day I will be attending the following breakout sessions:

  • SOA Suite 11g PS3 & OSB
  • ADF/WebCenter 11g integration with BPM Suite 11g
  • BPM 11g, Whats New

JDeveloper 11.1.1.4. supports 64-bit versions of Windows and Java

There is a small note in the JDeveloper 11.1.1.4 Installation Guide:

This release of Oracle JDeveloper supports the 64-bit versions of Windows and Java.

More on the question What is 64-bit Java?, can be found on this Java Hotspot FAQ.

The Installation Guide mentioned before doesn’t show additional details on How-To get JDeveloper working on Windows 7 with an 64 bit Java version….
To get this working:

  • Download and install a recent 64 bit JDK for Windows 7 64 bit, eg jdk-6u24-windows-x64
  • go to the $Middleware_Home$\jdeveloper\jdev\bin directory and edit the jdev.conf
  • Alter the SetJavaHome to the directory in which you just installed the JDK:
#
# Directive SetJavaHome is not required by default, except for the base
# install, since the launcher will determine the JAVA_HOME.  On Windows
# it looks in ..\..\jdk, on UNIX it first looks in ../../jdk. If no JDK
# is found there, it looks in the PATH.
#
#SetJavaHome C:\Oracle\Middleware\jdk160_21
SetJavaHome C:\Program Files\Java\jdk1.6.0_24
  • And then start the jdev64W.exe in the $Middleware_Home$\jdeveloper\jdev\bin directory.

Additional hints

February 2012 Spyros Doulgeridis posted on his blog on Running JDeveloper in 64 bits. He shows additional guiding on:

  • Adjust JDeveloper’s memory settings in in the C:\Oracle\Middleware\jdeveloper\ide\bin\ide.conf
  • Increasing the memory of the embedded weblogic – in the setDomainEnv.cmd file
  • Configure Windows pagefile – to avoid the Virtual Memory Minimum Too Low error in Windows