Main

Development Archives

October 8, 2008

Which JDev is Right for me?

Which JDeveloper is Right for Me?

Yesterday saw the release of JDeveloper 11g, whilst back in July we saw the release of JDeveloper 10.1.3.4, so now 11g is here do I still need 10.1.3.4.  Well the answer is a very firm, it depends.  Currently there are three ‘current’ versions of JDeveloper that you may want to use, and each of them has its own benefits.

JDeveloper 10.1.3.4

This version was released in July alongside SOA Suite 10.1.3.4 and still uses Oracle Internet Application Server (OC4J).  It is the most complete JDeveloper to date and includes support for Oracle SOA Suite.  If you are doing SOA development then this is the version that you need.  It provides the BPEL designer as well as the ESB designer.  Note that this version doesn’t support the Oracle Service Bus, that should come in a future 11g release.

JDeveloper 11.1.1.0.0

This version released yesterday is the first version of JDeveloper to ship with Oracle WebLogic Server as the embedded application server.  I have just tried out a couple of simple applications and I can confirm that it works at least as well if not better than the embedded OC4J that used to be included with JDeveloper.  Timing a simple servlet application it took 18 seconds to launch WebLogic, deploy the application and show the first page in the browser, this is comparable to 11g TP4 but slower than 10.1.3.4.  Note that there is no support for SOA Suite in this release, if you need to do BPEL development you still need 10.1.3.4.

JDeveloper 11g TP4

This version is the preview version of the SOA Suite 11g.  It doesn’t have support for Oracle Service Bus yet but it does have the preview versions of 11g SOA Suite editors including the SCA Assembly editor and the BPEL editor.  If you want to see what 11g SOA Suite looks like then this is the release for you, but I wouldn’t use it for anything that needs to go into production in the near future.  This version is still based on OC4J although obviously at some point in the near future all this functionality will become available on a WebLogic version of JDeveloper.  I haven’t checked but it would seem sensible to me to make the SOA Suite components available as tech preview plug-ins to the 11.1.1.0.0 release.  I don’t know when this will occur though.

Summary

So today you have 3 JDevelopers to choose from.  Choosing between them is pretty straightforward.

  • Choose JDeveloper 10.1.3.4 if you are doing SOA development that needs to be deployed in the next 6-12 months.
  • Choose JDeveloper 11.1.1.0.0 if you are doing pure JEE development, particularly if you are targeting WebLogic.  This is Oracles strategic development platform.
  • Choose JDeveloper 11g TP4 if you want to explore the next generation of Oracle SOA Suite but don’t need to be in production for a while.

The following table helps to summarise the features in each different JDeveloper release.  The table matches the version of JDeveloper with its JEE container (Embedded Container), its support for SOA Suite, the version of JEE it supports and the version of the JDK it ships with.  It also gives the time to start the embedded container, deploy a simple servlet and get the page up in a browser.  Finally the production status of the release is given.

JDeveloper Version Embedded Container SOA Suite Support JEE JVM Test Time Status
10.1.3.4 10.1.3.4 OC4J 10.1.3.4 (no Oracle Service Bus) 1.4+ 5 9 sec Production
11.1.1.0.0 10.3 WLS Web Service Only 5 6 18 sec Production
11g TP4 11g OC4J 11g (no Oracle Service Bus) 1.4+ 5 18 sec Technology Preview

January 6, 2009

Which Coherence Edition is Right for Me?

ORC17 0002 Which Coherence Edition is Right for Me?

It seems like I am dealing a lot with Coherence these days.  For those of you who have been stuck in a closet for the last 18 months Coherence is Oracles data grid software acquired through the purchase of Tangosol.  A question that often comes up is what edition of Coherence do I need?  So lets plunge in and look at what each edition does.

The Source

The definitive source for what is included in which edition of Coherence is to be found on OTN and the Coherence wiki.  This splits Coherence into 3 types of client and 3 server editions.  We will look at each server edition in turn.

Standard Edition

This provides a basic data caching capability based around a get/put model as part of a reliable data grid.  Data may be distributed among multiple nodes and stored and retrieved from those nodes.  If using a partitioned cache then data will normally be duplicated to avoid data loss in event of node failure.  There is also support for access to data stores through Coherence, so that when you write data into a Coherence cache it automatically is written into an underlying database (write-through cache).  Similarly reading from a Coherence cache may load data from a data source (read-through cache).

Good uses for standard edition are simple reference data caches or shared state information between multiple nodes.

Enterprise Edition

The enterprise edition adds a lot of new functions to Coherence including write behind caching, transactions and parallel query operations.  It also allows the processing to be moved to the data, meaning that Java code can be executed in the cache, with parameters being passed into the cache.  The code is executed on data in the cache and the results returned back to the requestor.  The enterprise edition also adds the facility to be notified when changes are made to data.  To make management easier in an enterprise class product there is a clustered JMX provider that provides a single view of resource usage across the cluster.

Enterprise edition is good when you want all nodes to actively store data and distribute processing and queries between all nodes.  It can be used to extend applications servers into a grid infrastructure, hence its inclusion in Oracles WebLogic Suite.

Grid Edition

Grid edition adds two key functions to the enterprise edition.  First is support for data replication between two data grids, useful for DR sites for example.  It also adds support for real time clients.  A real time client can be thought of as a member of the data grid that does not store data.  For enterprise edition these clients must actually have an enterprise edition license.  For grid edition they can use a real time client license (only usable with grid edition).  The upshot of this is that if you have a lot of real time clients (more than 1.17 times the number of servers in the grid) then it may be more cost effective to purchase the grid edition.

Grid edition is good for having a seperate grid tier with applications servers and or/or thick clients making use of the services of the data grid.  In this type of environment the grid can become the application infrastructure.

Summary

So in short use standard edition if you are looking for an industrial strength java cache with reliable distributed cache capability.  Move to enterprise edition if you want in-memory grid processing and parallel query integrated with your main application platform.  Finally use grid edition if you are ready to make Coherence the heart of you grid platform and want to provide access to it from multiple platforms, clients and servers.

Speaker IJTC 2008More About Coherence in Ireland!

I am speaking on Coherence at the Irish Java Technology Conference next Thursday 8 January, so if you are attending look me up.

About Development

This page contains an archive of all entries posted to Antony Reynolds' Blog in the Development category. They are listed from oldest to newest.

Fusion Middleware is the next category.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type and Oracle