Monday, December 20, 2004

Eclipse and OC4J using the Lomboz Plugin

You can find a new How-To Document that explains how to use OC4J and Eclipse together using the Lomboz plugin. You can download the server definition files for the Production release of OC4J 10g (9.0.4) or for the J2EE 1.4 Developer Preview 10.1.3.

Wednesday, December 15, 2004

What's new in OC4J 10g (10.1.3) Developer Preview

Application Server Control

Management and monitoring support is provided by a new version of Enterprise Manager Application Server Control which is included directly within the OC4J 10g (10.1.3) Developer Preview 3 release.

Application Server Control is is fully JMX based and provides management and monitoring capabilities for this J2EE 1.4 compliant version of OC4J. It features a JSR-88 based deployment client with a powerful deployment plan editor, as well as a generic JMX MBean browser that is JSR-77 aware. Application (user-defined) MBeans are also supported to the same extent as system MBeans.

Other new areas of support include Web services management, TopLink session management, a JNDI browser, among many other new features.

  • Provides a generic JMX MBean browser that gives users a full view into all system MBeans. The new MBean browser provides features such as:
    • Hierarchical view of all system MBeans based on JSR-77 naming hierarchy
    • Comprehensive search capabilities across MBean, attribute and operation names, as well as support for searches using the JMX query syntax
    • Ability to view all MBean properties, such as attributes, operations, statistics, notifications
    • Ability to invoke operations. Users will be able to invoke operations that require complex types as input parameters based on String based constructors for those complex types where applicable
    • Ability to change attribute values where applicable
    • Ability to subscribe to JMX notifications
  • Application (user-defined) MBeans are supported to the same extent as system MBeans (see above) and are accessible via a link from the individual application home page
  • JMX Notifications that the user chooses to subscribe to will be received and listed on the Received Notifications page
  • Deployment follows JSR-88 and provides the following new features:
    • A generic and powerful JSR-88 deployment plan editor.
    • Comprehensive deployment progress messages during application deployments.
  • New Web service management capabilities providing features such as:
    • Enable/Disable
    • Performance
    • Logging
    • Auditing
    • Security
    • Reliability
  • TopLink session monitoring and management support
  • Improved log viewing and searching capabilities
  • A JNDI browser let users view the overall JNDI namespace, as well as application context namespaces
  • Many other new features in areas such as JMS, JTA, JDBC, etc.
Configuration, Administration and Deployment
  • Provides full support for JMX 1.2 and JMX Remote Access API (JSR-160)
  • Implements Java2 Management Specification (JSR-77) to provide JMX MBean controls for configuration and monitoring of the server and deployed applications
  • Implements Java2 Deployment API (JSR-88) to support standard deployment operations, uses a separate deployment plan to capture OC4J specific deployment details in a non intrusive manner. Deployment plans can be presented to server at deployment time to provide server with OC4J configuration set
  • Fine grained security controls to facilitate administration at the system and application only levels
  • A set of Ant tasks which utilize JSR-88 are provided to support deployment related operations from Ant scripts
  • Flexible classloading implementation which allows for the deployment of shared-libraries which can be consumed by deployed applications. Using the shared-library mechanism, applications have complete control over which class libraries are loaded, enabling the use of different XML parsers and Oracle JDBC driver versions than what are provided by default by OC4J
  • Toplink is now fully integrated as the default persistence manager for performing Container Managed Persistence (CMP) with Entity EJBs
  • Support for incremental EJB deployment, replacing individual class files instead of an entire EJB module
  • JMS 1.1 compatible with OJMS and OracleAS JMS
  • A generic JMS JCA 1.5 Resource Adapter
  • Complete integration of third party JMS providers into OC4J
  • JMX based dynamic configuration, management and monitoring of JMS infrastructure
Web Services
  • Ant tasks for developing Web services including:
    • assemble - generate a Web service from a Java class
    • topdownAssemble - generate a Web service from a WSDL
    • annotationAssemble - generate a Web service from JSR 181 annotations
    • ejbAssemble - generate a Web service from an EJB 2.1
    • jmsAssemble - generate a Web service from a JMS queue or topic
    • plsqlAssemble - generate a Web service from a PLSQL package
    • sqlAssemble - generate a Web service from a sql statement
    • dbJavaAssemble - generate a Web service from a Java class located in the Oracle Database
    • genGatewayService - generate a gateway service for third party Web service WSDLs
    • genProxy - generate a client proxy from a WSDL to invoke a Web service

    Information on these tasks and more is available in the OC4J 10.1.3 Developer Preview 3 Documentation Library.

  • An extended command line WebServicesAssembler tool providing the same functionality as the Ant tasks
  • A Web services management framework enabling users to SOAP auditing, content based logging, security and reliability. The framework enables administrators to enable and disable services as well as enable and disable management characteristics applied to those services. This framework is used by Application Server Control to provide Web services management configurability to system administrators and by JDeveloper to enable Web services management configuration during development
  • Support for the OASIS standard WS-Reliability
  • Support for SOAP 1.1 and SOAP 1.2
  • Support for a SOAP over JMS binding in addition to the existing SOAP over HTTP binding
  • Support for the OASIS standard WS-Security including authentication tokens, XML encryption and digital signatures. More information is available in the Security Release Notes.
  • This release of OC4J has been tested both as a consumer of OracleAS BPEL Process Manager business process WSDLs as well as producer of Web services that can be used in OracleAS BPEL Process Manager BPEL processes.
  • Compliant to JCA 1.5, also supports JCA 1.0 for backwards compatibility
  • Tested with Oracle and third-party Adapters
  • Management - JMX support (both standard and extensions) and Application Server Control for deployment, configuration, administration and metrics monitoring operations.
  • Persistence for JCA using Object-XML mapping in the Toplink component
  • Deployment enhancements:deployment for oc4j-ra.xml
  • 2PC recovery support including JCA
Security -- JAAS/JAZN
  • Implementation of Web Services security (OASIS WSS 1.0 specification)
  • Ability to integrate Oracle JAZN with 3rd party LDAP providers such as Sun One or Microsoft Active Directory. Please refer to Oracle Application Server Containers for J2EE documentation for detailed instructions.
Job Scheduler

The OracleAS Job Scheduler provides asynchronous scheduling services for J2EE applications with the following features:

  • API for submitting and controlling jobs
  • Temporal- and trigger-based job execution
  • Event listeners for monitoring job execution and status
  • iCalendar recurrence expression support
  • API-level JTA support for job submission and control
  • Automatic retry of failed jobs
  • Job blackout windows
  • Configurable persistence for job definitions and configuration
  • JMX monitoring and administration

For the latest documentation and sample applications see the Scheduler How-To's on OTN.

Application Clustering
  • Application clustering can be enabled on a specific application basis, enabling an OC4J instance to concurrently host both clustered and non clustered applications.
  • Support has been added for additional replication protocols. The protocols provided are multicast and peer-to-peer for in memory based state replication. The peer replication protocol supports direct TCP based connections between the members of a cluster group. A database replication protocol is also provided which stores and retrieved session state to and from a specified database instance.
  • The policies which determine when replication takes place have been extended in this release. Support is now provided for onCall, onChange, and onShutdown events. Web applications now default to using the onCall policy which queues up changes made to the HttpSession object within a method call and then send the change set when the method completes.

Friday, December 10, 2004

Oracle Toplink and Spring framework integration

You can now find a preview of the Oracle Toplink & framework integration. This allows you to easily use Toplink features in your Spring application. You can download it from OTN Web site.

Tuesday, December 7, 2004

At Oracle Open World all the week

As you may know this is Oracle Open World this week in San Francisco... I am working there all week mainly on the OC4J and JDeveloper demo pods. Come to see the new version that help you to develop J2EE and Web Services. Also I am presenting Thursday at 4pm a paper about Service Oriented Architecture (SOA) and Event Driven Architecture (EDA) I invite you to join this feast... if you can not take a look to the OTN at Oracle World blog, that highlights important keynotes, session and demoground activities... You can also take a look to the official Oracle Open World Web site

Saturday, December 4, 2004

New OC4J and JDeveloper Release Available

Oracle Containers for J2EE 10g (10.1.3) Developer Preview This fully J2EE 1.4 compatible release of OC4J offers improvements in classloading, data-source consolidation and configuration, TopLink integration and many other areas. This release also delivers a host of new capabilities in the area of Web Services, including management capabilities to enable and disable services and to configure message reliability, logging and security options. The brand new browser-based Enterprise Manager Application Server Control management console provides deployment, management and monitoring of all types of J2EE applications using the new standard JMX (JSR-77) and Deployment (JSR-88) APIs. Download it now and experience OC4J for yourself: Oracle JDeveloper 10g (10.1.3) Developer Preview The focus of this release has been to increase developer productivity, improve the user interface, and reduce the footprint. This Developer Preview release is intended to give you a sneak peek at the developer goodness to come and solicit your feedback. This release is the most substantial and ground-breaking we've had in years, adding many new features -- including a new look and feel, greatly improved coding environment, extensive refactoring options, J2EE 1.4/J2SE 5.0 support, and visual JSF development. We encourage you to take it for a spin. Download the product and check out the related resources at

Monday, November 29, 2004

Article: Transaction Processing in Distributed Service-Oriented Applications

Jon Maron from Oracle has just published an article about transaction processing in distributed SOA. You will learn in this article the challenges that you have when you want to manage transactions in a distributed Services Oriented Architecture running using Web Services.

Friday, November 26, 2004

Some cool stuff about JSP 2.0

J2EE 1.4 introduces a major release of JSP: 2.0. Here some of the cool new features:

  • Direct usage of Expression Language (EL) in your JSP:
    You do not need to put the EL in any tag now, just use it as needed:
         <head><title>JSP 2.0 new features</title></head>
           Hello ${}
    Find more about JSP 2.0 Expression Language in the J2EE 1.4 tutorial.
  • Easy tags creation with .tag files
    It is now easier to create your own tags.
    You just need to create a new .tag file (or .tagx if you want to use XML syntax) in the WEB-INF/tags directory of your Web application; or META-INF/tags if you want to package the Tags in Jar file. So creating a .tag file is easy, using the attribute directive. The following example is a new tag named mytag.tag that prints a title set using the attribute title, in the color specified in the attribute textColor.
    <%@ attribute name="title" required="true" description="Title of the document"%>
    <%@ attribute name="textColor" required="true" description="Color of the Title"%>
    <h1 style="color:${textColor}">${title}</h1>
    Here is the JSP that uses this new Tag:
    <%@ taglib tagdir="/WEB-INF/tags/" prefix="tags"%>
          <tags:mytag title="My new JSP" textColor="blue"/>
          Hello World${}
  • Easy header and footer template using the prelude and coda includes:
    In most of the Web application that I have built, I started by creating template for my HTML pages; most of them to handle header and footer. Oracle JSP implementation provides this for a while using the Global Include feature. JSP 2.0 introduces a standard way of doing that using prelude and coda includes. I *hate* the choice made by the spec to call that prelude and coda. May be good Java developer are necessary musicians, since this is commonly used there? Why not simply header/footer or using a prefix like pre.../post.... Anyway, that is not the point.
    The way you can set a prelude and/or coda include to your JSPs is done with the new Web Descriptor tag: <jsp-property-group>. This new tag allows you to configure a set of JSP that matches a specific URL. Part of the subtags of <jsp-property-group> are:
    • <include-coda> : the path to JSP fragment (.jspf) to include in the beginning all the JSP that matched the URL.
    • ><include-prelude>:the path to the JSP fragment to include in the end all the JSP that matched the URL.
    An example configuration:
This 3 new features of JSP 2.0 are just a very small list of the features introduced in JSP and Servlet in J2EE 1.4, but are my favorites. They are very easy to test.. and to adopt.

Friday, November 19, 2004

New Oracle White Paper: Accelerate Development and Deployment of Service-Oriented Applications

Oracle has published a new white paper about Service Oriented Architecture, and how Oracle Application Server 10g accelerates SOA development and deployment. Read the paper on the Oracle Web Site.

Wednesday, November 17, 2004

Oracle TopLink: Happy 10th Anniversary

In the context of the 10th anniversary of Oracle TopLink, The Server Side published an interview of Mike Keith and Doug Clark, architect and product manager of TopLink. They talk about persistence in J2EE using EJB 3.0, but also the differences between TopLink and other persistence solutions...

Monday, November 15, 2004

Windows User, finally you will be able to use Konfabulator

One of my favorites tools on my Mac is Konfabulator that allows you to create -or use prebuilt- application called Widgets. This Widgets are for example battery level, weather, see the Widget Gallery. The reason why I love it is not necessary the list of existing one, but more because you can very easily develop yours using Javascript. Dowload it and start to develop your widgets, developer guide, javascript reference are available in the Konfabulator Workshop

Monday, November 8, 2004

HTML/Javascript tip: Refreshing an image not the full page

I was discussing with a friend about the creation of a monitoring dashboard in HTML. As any monitoring tool you want to be able to see the information in *real-time*, so you need to refresh the content.... One way of doing it is to refresh the whole page and this is easy, just use the meta tag: <META HTTP-EQUIV="Refresh" CONTENT="5; URL="> where 5 is the number of seconds between each refresh. Javascript allows you to easily refresh a specific image of your page (a chart for example):

  <img src="myChartServlet" name="chart1"/>    <script language="JavaScript">    function loadImage() {      var now = new Date();      if (document.images) {       document.images.chart1.src = 'myChartServlet?time='+now.getTime(); // add the time to avoid caching      }      setTimeout('loadImage()',1000);    }   setTimeout('loadImage()',1000); </script>
You can obviously make the whole think dynamic and configurable...

Sunday, October 31, 2004

First contact with Oracle Database XE

Oracle Database 10g Express Edition Beta Release is now available for download, from OTN:

What is this new release, you can find more information on the Oracle XE page, that I quote:
exp_edi_wht.gif Oracle Database XE is a great starter database for:
  • Developers working on PHP, Java, .NET, and Open Source applications
  • DBAs who need a free, starter database for training and deployment
  • Independent Software Vendors (ISVs) and hardware vendors who want a starter database to distribute free of charge
  • Educational institutions and students who need a free database for their curriculum

This first contact with the latest release of the Oracle database is really great, the 150Mb download is really quick...
The installation is really easy... I have created a viewlet driving you through the installation.

As you can see in the viewlet, at the end of the installation you have a running database that you can fully administer from your browser, you can also create CRUD application using HTMLDB... And obviously you can connect your J2EE application server to it and start creating applications...


Admin Menu

Object Browser


Thursday, October 28, 2004

Oracle Application Server, and OC4J Certification

If you ask yourself on which Operating Systems, JDK, Browser, etc... you can use Oracle Application Server 10g just consult OTN or Oracle Metalink:

Tuesday, October 26, 2004

Mike Keith about Java2 5.0 Annotations

Mike Keith,architect for Oracle Containers for J2EE (OC4J) and TopLink products and currently represents Oracle in the EJB 3.0 expert group, has published an interesting article about Annotations in Java 5.0:. To Annotate or Not? focused on the usage of Annotation or XML as metadata language. Mike provides sample code and explain the pros and cons of the annotation using use cases.

Thursday, October 7, 2004

New Dynamic Menu for OracleAS Portal 10g

Ronaldo Viscuso has just released a new version of his DHTML Menu Portlet. This portlet generates a DHTML menu for site navigation, with links to pages and subpages from a selected page group.
Stylesheet, height, width, mouse-over behavior, etc. are all configurable via the "Edit Defaults" page, which allows for complete customization for pretty much any desired look & feel....
The portlet, screen shots and installation document are available on the Portal Knowledge Exchange.

Wednesday, October 6, 2004

Jive portlets for OracleAS Portal

An Oracle Application Server (OracleAS) Provider for Jive Forums is now available to download from the Portal Integration Solutions page on OTN. The Oracle Application Server (OracleAS) Provider for Jive Forums contains portlets that allow users and administrators to:

  • View topics posted on their favorite forums
  • Create a new topic or post a reply to one
  • Search the forums
  • View the hot topics across all forums
  • View all topics, forums, categories and users being watched by the user
  • View top reward points earners
  • Administer the Jive Forums Application

Looking for articles: use JavaPro magazine collection

You are looking for a articles about J2EE, JavaPro magazine put online a nice tool to search and view all the published articles:

Monday, October 4, 2004

Groovy, Java's New Scripting Language

Groovy, Java's New Scripting Language by Ian F. Darwin -- When some Java developers hear about Groovy, their first reaction is often, "Oh, no, not another scripting language for Java." Ian Darwin had the same reaction, until he took a good look at Groovy.

Sunday, October 3, 2004

Good taste tool:

I am starting to use A great way to manage your own bookmarks but also to share them with others... It is fun to see how many people are sharing the same bookmarks as you, and help you to find information related to the different categories... Also the integration with Firefox using the delicious plugin make the usage of the bookmark manager very easy. You can also use theApple Mac OS X client for Here my bookmarks... still working on it

Friday, October 1, 2004

Sample Code: BLOB insertion in Oracle10g

Responding to a customer question about Blob insertion in Oracle 10g DB using the JDBC 3.0 driver. Very Simple application. Download Java Source See insertBlob method.

package demo;

import java.sql.*;
import java.sql.PreparedStatement;
import java.util.*;

import oracle.jdbc.driver.*;
import oracle.sql.BLOB;

 * Insert record in the MEDIA table 
 *   MEDIA (file_name varchar2(256), file_content BLOB);
public class BlobOracle 
  private final static String hostname = "localhost";
  private final static String port = "1521";
  private final static String sid = "ORCL";
  private final static String username = "scott";
  private final static String password = "tiger";
  private static String fileLocation;
  private static Connection connection;

  public BlobOracle()

   * @param args
  public static void main(String[] args)
      if (args.length == 0)
       System.out.println("\n\n  Usage demo.BlobOracle ");
      fileLocation = args[0];
    } catch (Exception ex) 
    } finally 

  private static void setConnection() throws SQLException
      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
      connection = DriverManager.getConnection("jdbc:oracle:thin:@"+hostname+ ":"+ port +":"+ sid , username , password);
      connection.setAutoCommit(false); // we must control the commit

  private static void insertBLOB() throws SQLException, Exception
    BLOB blob;
    File file ;
    FileInputStream is;
    OutputStream os;

      long ts1 = System.currentTimeMillis();

      //Create a statement.
      PreparedStatement pstmt = connection.prepareStatement("insert into media (file_name, file_content) values (?,empty_blob())");
      file = new File(fileLocation);
      String fileName = file.getName();
      //Set the file name and execute the query
      pstmt.setString(1, fileName);

      //Take back the record for update (we will insert the blob)
      //supposely the file name is the PK
      pstmt = connection.prepareStatement("select file_content from media where file_name = ? for update");
      pstmt.setString(1, fileName);
      //Execute the query, and we must have one record so take it
      ResultSet rset = pstmt.executeQuery();;

      //Use the OracleDriver resultset, we take the blob locator
     blob = ((OracleResultSet)rset).getBLOB("file_content");

     is = new FileInputStream(file); //Create a stream from the file
     // JDBC 2.0
     //os = blob.getBinaryOutputStream(); //get the output stream from the Blob to insert it
     // JDBC 3.0
     os = blob.setBinaryStream(0); //get the output stream from the Blob to insert it
      //Read the file by chuncks and insert them in the Blob. The chunk size come from the blob
      byte[] chunk = new byte[blob.getChunkSize()];
      int i=-1;
      System.out.println("Inserting the Blob");
      while((i =!=-1)
        os.write(chunk,0,i); //Write the chunk
        System.out.print('.'); // print progression

      // When done close the streams

      //Close the statement and commit
      long ts2 = System.currentTimeMillis();

      System.out.println("\n"+ (ts2 - ts1) +" ms" );      



Wednesday, September 29, 2004

Struts or JSF by Craig McClanahan

Craig McClanahan has started a blog... and his second post -after a quick introduction- is about the 'hot' subject of the usage of Struts or JSF. Quote: For new development, here's the best strategy for determining what to do: * Evaluate the two technologies individually, to see if they satisfy your requirements. * If one or the other technology is sufficient, go ahead and use it (it's easier to learn and use one technology rather than two where possible); keeping in mind, however, the caveats about Struts HTML tags mentioned above. * If your requirements include unique features supported only by Struts (such as Tiles or client side validation support), feel free to use the two frameworks together.

Monday, September 27, 2004

Persistence reconciliation for POJO....

Sun has sent a letter to the Java Community to start a single POJO persistence model, this will be done under the EJB 3.0 specification (JSR-220). You can see comments from the community on TheServerSide Web site.

Tuesday, September 14, 2004

Oracle Application Server 10g Sets World Record SPECjAppServer 2002 Performance Result on Fujitsu PRIMEPOWER Servers

Oracle and Fujistu just announced new SpecJ2002 results, establishing a new record of 5,991.73 TOPS@MultipleNode (total operations per second) with a price-performance of 654.20 Euros/TOPS@MultipleNode. This was realized using Oracle Application Server 10g running on Fujitsu servers. The results are available on the Spec Web site, the Press Release here.

Tuesday, September 7, 2004

O/R Mapping Benchmark: new Oracle Toplink results

The Middleware company has created an initiative to test the different Object-Relational mapping tools, this test is named Torpedo. You can find the announcement of this O-R benchmark initiative on TSS Web site. Oracle Toplink just posted news results that you can read and comment here.

Friday, August 27, 2004

Portlet Development Book and Web Site is the site of Jeff Linwood and Dave Minter, authors of the book Building Portals with the Java Portlet API. If you are interested in Portlet development, bookmark this site and buy the aPress book ! I did not have a chance to read the book yet, so feel free to give your feedback as comment.

Sunday, August 22, 2004

Have we lost the Groove ?

Like lot of Java developers I was very excited about the announcement of the creation of the JSR-241... But where are we now ? The JSR mailing list ( ) is very quiet... No meeting, not a lot of question/response. And like Patrick M. I have friends that have asked to be part of the Expert Group and never had any response. I think that the Groovy Language is really a nice way of putting Java to the next level, easier to learn, to use and still powerful... I will not go in an enumeration of the benefits of Groovy here... but just asking what the Expert Group is doing ? What is the next step for the Groovy Language and the JCP ?

Tuesday, August 17, 2004

Oracle releases early version of JavaServer Faces Components

Oracle has been involved in the JavaServer Faces (JSR 127) since its creation, and released yesterday a set of components. The list of the available component is availabe here. The software is available for download on OTN.

Thursday, July 29, 2004

Weather syndication

Lot of us want to create portlets (or publish content) based on weather information. The best solution that I found is the Weather Channel XML . And I was really impressed by xaopWeather (PHP based)! Let me know if you find an equivalent but Java based !

Wednesday, July 14, 2004

AspectJ Tool for JDeveloper 10g

Gerard Davidson has created a project to integrate AOP Framework to JDeveloper 10g, starting with an extension for AspectJ!

Monday, July 12, 2004

Which Version I am running ?

Today I was helping a customer on a deployment issue...

The first question that I have asked is:
"Which version of OC4J are you using ?". And he has no idea !

So let me give you some tips to know the version of Oracle components that you are using...

In the j2ee/home directory:
java -jar oc4j.jar -version
Go in the provider test page
You can see the version of the in the bottom of the page. In the JPDK you can also use the HttpCommonConstants.COMPONENT_VERSIONS to access it programmatically.
Also if you are looking for a version of a specific component, Oracle development often use a 'version file' into the jar file of this component.This is the case for example for:
  • Portals: ptlshare.jar, wsrp-container.jar, wsrp-container.jar, pdkjava.jar, portaltools.jar
  • Oracle XML: xmlparserv2.jar,oraclexsql.jar, xsqlserializers.jar
  • UIX: uix2.jar, jewt4.jar
  • BI Bean: bigraphbean.jar
Update following Markus comments:
Markus made me realized that I forgot to mention the standard way of checking the version of a product. It is also possible, and done by most of the Oracle components, to put the version number into the Manifest file of any archive. So take a look to the manifest, and if it is not available you can look for a version file into the archive.

So next time somebody ask you which version of the product you are using you will be all set !

Struts 1.2.1 Beta available / JDeveloper 10g How-To

Struts 1.2.1 Beta is now available for download. Duncan Mills published on OTN an article that explains how-to use Struts 1.2.1 with Oracle JDeveloper 10g.

Friday, July 9, 2004

Opening the Black Box of Integration

Web Service Journal just publish an article 'Opening the Black Box of Integration' written by Mike Lehmann OracleAS 10g Product Manager. Summary:

If you've been working with integration technologies for any length of time, you're well aware of the freight train of standards that has been careening through the industry during the last five years. These standards, particularly in the Web services space, are on the verge of doing to proprietary integration servers what SQL and J2EE standards did to database and middle-tier servers of days gone by.

Thursday, April 8, 2004 In Praise of Evolvable Systems

Rob,colleague of mine, pointed me to an article about "Evolvable Systems":  Why something as poorly designed as the Web became The Next Big Thing, and what that means for the future First of all this article is very interesting, but the whole site -that I did not know- is full of truth, and fun ! ( I love the one about blogs) I invite you to bookmark ! Thanks again Rob!

Wednesday, April 7, 2004

JavaOne and Apple WWDC 2004

I have been working on the JavaOne Oracle Demo Ground where I was demonstrating OracleAS Portal 10g. I also attend several sessions (EJB 3.0 & CMP Persistence, J2EE 1.4 Web Services, AOP) and Thomas Kurian & James Gosling keynotes.

Also Tuesday afternoon I have been on duty on the Oracle Pod in the Apple developer conference, where I was demonstrating Oracle RDMS and JDeveloper 10g.

Oracle had a very nice and big demo ground, with the best location: in the front of the main entrance. The main theme was Racing Cars. Oracle organized racing contest using Sony Play Station with Gran Turismo 3.
The 10 stations demonstrated the same application that recall the main theme since user can create easily a new racing team. To summarize, we have developed a J2EE 1.3/1.4 application using ADF and POJO (Toplink) but also we integrated JSF for the view, Web Service call and integration with business process using the new Oracle BPEL Process Manager. (Oracle announced the acquisition of Collaxa).

On the Portal station, the demo showed how easy it is to integrate existing MVC application(Struts, ADF, ...) using the Oracle JPDK. Portal teal also built a nice demonstration that shows the same portlet -business logic and view- developed using proprietary APIs (JPDK) and standard based implementation (WSRP & JSR-168).

Lot of people stop by the portal pod, and I was pleased with the quality of the questions:

  • Portlet Standards: Oracle provides a JSR-168/WSRP container but also a Developer Preview of the OracleAS 10g Portal that allows you to register and executes WSRP based portlet.
  • Struts, ADF, ad JSF integration: The Oracle PDK provides a Struts integration based on extension of the Struts Tags and has a specific Portlet Renderer.
  • Web Services & Portal: OmniPortlet and Coded Portlets allow developer to easily integrate Web Services into Portal.. and for example it is easy to create a portlet that will kick-off a Business Process that is running inside the Oracle BPEL Process Manager.

Linda DiMichel's session about EJB 3.0 was a big one, the room was packed. EJB is taking the good path. Simplification of the objects no need to multiply the artifacts and deployment descriptors: EJB 3.0 will use Java annotations. 3.0 will use POJO -Plain Old Java Objects- and allow native SQL. This is just a very short summary of the new spec that looks very very good ! (and similar to what Toplink is doing for years)

AOP was also on of the think I wanted to see during this event. I was really pleased by the AOP Panel of Wednesday afternoon. James Gosling, Graham Hamilton, Cedric Beust and Gregor Kiczales presented and discussed AOP in general and AOP in J2EE/Java in particular. My interpretation of the whole discussion is: Everybody thinks that AOP is interesting, and will make code cleaner; but we have a lot to do to simplify the development. Like Cedric and James said, I am "conflicted" about AOP, and I think the reason is because we see the benefits of AOP in simple case such as logging... But harder to implement cleanly when the aspects are complex such as authentication/authorization or persistence. The Java community still need to work on this to be sure that developers will develop better code; AOP will give it, just have to find the good way ! I have also watched Alex Vasseur and Jonas Boner's session about AOP and J2EE, mainly focus on AspectWerkz. I really liked the paper with lot of demonstration that show simple and concrete example of AOP within J2EE container.
Like lot of us I will continue to invest into AOP and experiment it within the J2EE world.

James Strachan - JSR 241 Lead- session was also a very popular one. This session introduced the Groovy Programming Language that leverage the Java Language but using a concise and object oriented scripting language. I will not detail the content of groovy here, it will be better for you to take a quick look to the Groovy Web Site knowing that you can download the language and start to develop script with it.

Apple WWDC 2004
I was not able to attend any session... not event Steve Job's keynote. But I worked on the Oracle demo pod Tuesday afternoon.

We had 2 dual G5 with 'old' cinema displays -hope that next year we will have the 30 inches display!-, these machines were used to run Oracle 10g database and JDeveloper, currently available to developer, you can download them from OTN.

But the big news is the fact that these products will be production on Mac OS X soon:

  • Oracle 10g server production in fall
  • Oracle 10g JDeveloper production in September

Monday, January 26, 2004

Do not remember the default password... here a list...

I am sure that like me sometimes when you are testing product you do not know, or remember the default password. Take a look the the CIRT Web Site, not necessary up-to-date, but better than nothing!