The Source for Java Technology Collaboration
User: Password:



Lance Andersen's Blog

Community: Java Enterprise Archives


More JDBC 4.0 drivers are now available

Posted by lancea on March 28, 2007 at 01:57 PM | Permalink | Comments (2)

inet software has released JDBC 4.0 drivers for Microsoft SQL Server(Merlia driver) and for Oracle (Oranxo driver).

Atinav has also release a JDBC 4.0 driver for Microsoft SQL Server (aveConnect 4.0).

JDBC 4.0 completes the Final Approval Ballot

Posted by lancea on November 07, 2006 at 10:07 AM | Permalink | Comments (4)

JSR 221, JDBC 4.0, has successfully passed the Final Approval Ballot in the JCP Executive committee. I would like to thank all of the JDBC 4.0 Expert Group members for their efforts on this specification. JDBC 4.0 is being delivered as part of the Java SE 6 release.



JDBC EoD API Deferred

Posted by lancea on October 05, 2006 at 09:53 AM | Permalink | Comments (25)

As you are all aware, we are in the final end game for releasing Java SE 6 in December 2006. As part of this process we are actively testing all areas of Java SE. During this testing effort we have discovered, much to our dismay, that the quality of the JDBC EoD Reference Implementation (RI) is not where it should be in order to be released as part of Java SE 6.

Based on our analysis, we would not be able to stabilize the JDBC EoD RI without slipping the Java SE 6 schedule by at least 8 weeks, which is something that none of us want.

The JDBC 4.0 Expert Group agrees that we should not delay Java SE 6 for this feature and as of build 101 of Java SE 6, the JDBC EoD RI has been removed.

I do believe that the proposed features in the JDBC EoD API are useful and we will work toward including an improved version of the API in Java SE 7.



JDBC 4.0 PFD is now available

Posted by lancea on July 20, 2006 at 07:12 AM | Permalink | Comments (3)

The JDBC 4.0 PFD contains many clarifications to the JDBC spec including the JDBC API docs. The majority of the changes are reflected in b91 of Java SE 6, Mustang. Some of the areas of change include:

  • Revamping the SQLXML interface, which which I blogged about earlier
  • Improvements to the JDBC compliance chapter which now incorporates the requirements for JDBC drivers in a Java EE environment. This chapter will be pointed to by future Java EE specs. This chapter also clarifies which methods must be supported and which methods are optional. Optional methods that are not supported must throw a SQLFeatureNotSupportedException.
  • Added the createArrayOf and createStruct to the Connection interface.
  • getColumns also now indicates whether a column is auto-incremented
  • Renamed ClientInfoException to SQLClientInfoException
  • Renamed getFunctionParameters to getFunctionColumns
  • Added support for system functions to getFunctions and getFunctionColumns
  • Synced up the DatabaseMetaData methods: getColumns, getProcedures, getProcedureColumns, getTables, getTablePrivileges, getSchemas, getUDTS, getAttributes, getFunctions, getFunctionColumns so that the methods match ODBC and include catalog in its ordering
  • Added the scalar functions CHAR_LENGTH, CHARACTER_LENGTH, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT, OCTET_LENGTH, POSITION which where added previously to ODBC
  • Added methods to PreparedStatement, CallableStatement, ResultSet which do not require a length parameter for stream based methods (these methods are optional for this release)



New Derby Overview tutorial is available

Posted by lancea on December 09, 2005 at 10:27 AM | Permalink | Comments (0)

The new tutorial for Derby, created by Jean Anderson, can be found at http://db.apache.org/derby/papers/DerbyTut/index.html . This tutorial will be useful for Glassfish developers as it gives an overview of using Derby in a Network and Embedded mode and also provides info on how to use the ij tool for executing simple SQL queries.

Derby Graduates!!!!

Posted by lancea on July 28, 2005 at 06:48 AM | Permalink | Comments (4)

Apache Derby, has successfully received approval to graduate from incubation. Derby will move from the incubator to be a sub project of the Apache DB project. Apache Derby is based on the Cloudscape codebase which IBM donated to Apache. Congrats to the efforts of all involved with the Apache Derby project for making this happen.

The genericjmsra project launches today!

Posted by lancea on April 29, 2005 at 08:02 AM | Permalink | Comments (2)

J2EE 1.4 specifies the use of the Connector 1.5 Architecture as the basic mechanism to integrate JMS providers with J2EE 1.4 compliant application servers. However some JMS vendors do not provide a compliant J2EE Connector 1.5 resource adapter to enable such an integration. This project helps such JMS vendors to integrate with J2EE application servers by wrapping their JMS client library in a J2EE
Connector 1.5 resource adapter.

We hope that you will take the time to explore this new project in the Java Enterprise community.



Become a contributor to the J2EE-SDK Project

Posted by lancea on December 06, 2004 at 06:27 AM | Permalink | Comments (1)

We have just launched the J2EE SDK project with the goal of building a rich developer's community for the J2EE SDK.

This project will provide tips, whitepapers on how to take full advantage of the J2EE SDK. We also plan to start a variety of sub-projects to enhance the toolset and components that work with the J2EE SDK.

We look forward to having java.net community members join and participate in the success of the J2EE SDK project!

Please let us know what suggestions you have for making this project a success.



Using Apache Derby with the J2EE SDK

Posted by lancea on November 09, 2004 at 09:40 AM | Permalink | Comments (3)

Derby is an Open Source project based on the IBM contribution of the Cloudscape RDBMS to Apache. Cloudscape 10 and Derby are currently identical with the exception of what is packaged in the two products for extras.


If you download Cloudscape 10, it includes the DB2 JDBC Universal Driver which is needed for the Cloudscape/Derby Network Server. If you download Derby, you will need to download the DB2 JDBC Universal Driver seperately.


Installing the needed Derby/Cloudscape jar files


To use Derby/Cloudscape, copy the following jar files to $J2EE_HOME/domains/domain1/lib/ext and reboot the J2EE SDK:


For the DB2 Universal Driver:
derby.jar,derbynet.jar,db2jcc.jar,db2jcc_license_c.jar


For the Derby Embedded Driver:
derby.jar


Creating Derby Connection Pools


You can use either the DB2 JDBC Universal Driver or the Derby Embedded Driver when you create your Connection Pools. If you require XA support, currently you must use the Derby Embedded Driver. The work for the Derby Network Server to Support XA is underway, but not yet complete. If you must use the Application Client Container as well as other J2EE containers to access the same database, you need to use the DB2 JDBC Universal Driver and the Derby Network Server.


To create a connection Pool using the DB2 JDBC Universal Driver for Derby, you would specify the following values for your connection pool:


DataSource: com.ibm.db2.jcc.DB2DataSource
Properties:

- databaseName
- serverName
- user
- password
- driverType=4
- portNumber=1527 (default port for the Network Server)

To create a connection pool using the Derby Embedded driver, you would need to specify the following values for your connection pool:


DataSource:org.apache.derby.jdbc.EmbeddedDataSource
Properties:
- databaseName (path to your Derby Database)
- user
- password

Using Derby/Cloudscape with the J2EE SDK CMP container


Currently the J2EE SDK CMP container does not know about Derby/Cloudscape. However Most EJBQL queries work fine and by creating a file called .tpersistence.properties in $J2EE_HOME/domains/domain1/config you will have even
greater success.

The entries in the .tpersistence.properties file for Derby are:


database.apache_derby.QUOTE_CHAR_START=
database.apache_derby.QUOTE_CHAR_END=
database.apache_derby.QUOTE_CHAR_END=
database.apache_derby.SUBSTRING=SUBSTR
database.apache_derby.SUBSTRING_FROM=,
database.apache_derby.SUBSTRING_FOR=,
database.apache_derby.CHAR_LENGTH=LENGTH
database.apache_derby.POSITION=LOCATE
database.apache_derby.POSITION_SEP=,
database.apache_derby.POSITION_SEARCH_SOURCE=true
database.apache_derby.RTRIM=rtrim
database.apache_derby.STRING_CONCAT=||
database.apache_derby.SQRT=SQRT
database.apache_derby.ABS=ABS
database.apache_derby.MOD_FUNCTION_NAME=MOD
database.apache_derby.CONCAT_CAST=VARCHAR

Derby is a powerful Open Source Database which I think you will find works quite well with the J2EE SDK



Java AVK Feature Feedback needed.

Posted by lancea on November 09, 2004 at 07:58 AM | Permalink | Comments (8)

Please take a moment and complete the Java AVK Survey as we are interested in your input as we plan for the next release of the Java AVK for the Enterprise.

For additional information on the benefits of the Java AVK, please visit the Java Application Verification Kit for the Entprise Home Page.

EJB 3.0 Spec is available for Early Draft Review

Posted by lancea on July 27, 2004 at 12:37 AM | Permalink | Comments (13)

The plans for the next release of J2EE 5.0 (formally 1.5) are in full swing. One of the key initiatives is to reduce the complexity for the developers and focus on Ease of Development (EoD).

EJB has always been an area where we have had requests to try and simplify things for the developer. I believe the early draft of the EJB 3.0 is off to a great start in accomplishing this requirement.

One area that has been greatly simplified, is the amount of code that is required to create an EJB. For example, consider the following EJB 2.1 Stateless Session Bean. You would need to code the following (plus create a Deployment Descriptor):


 public interface Calculator extends EJBObject {
         int add (int a, int b) throws RemoteException;
         int subtract (int a, int b) throws RemoteException; 

} 

public interface CalculatorHome extends EJBHome {
        Calculator create() throws CreateException, RemoteException;
 }
 
public class CalculatorBean implements SessionBean {
       private SessionContext ctx; 
       public void setSessionContext(SessionContext ctx) { 
          this.ctx = ctx;
       }  
       public void ejbCreate () {} 
       public void ejbActivate () {}
       public void ejbPassivate () {} 
       public void ejbRemove() {} 
       public int add (int a, int b) {
          return a + b; 
       }  
       public int subtract ( int a, int b) { 
          return a  - b; 
       }

 }

With EJB 3.0, the above code could be written as:

@Stateless @Remote public class CalculatorBean {
         public int add (int a, int b) {
             return a + b; 
         } 
         public int subtract (int a, int b) { 
            return a - b;
         } 
}

That is it! You do not even have to create a Deployment Descriptor.

The Expert Group has been working very hard to address the needs of the EJB community. Please take the time to review the EJB 3.0 Early Draft and give us your feedback.

If you are writing J2EE applications then you should be using Java Application Verification Kit for the Enterprise

Posted by lancea on June 22, 2004 at 08:37 AM | Permalink | Comments (3)

The Java Application Verification Kit for the Enterprise (J2EE AVK) is a valuable tool for any J2EE developer. The toolkit allows you to validate that your J2EE applications are correctly utilizing the APIs provided by J2EE and helps you to understand whether your application is using vendor specific features.

The newest release of the J2EE AVK provides support for J2EE 1.4 and incorporates some new features that I am sure you will find useful:

  • Support for J2EE 1.4, J2EE 1.3 and J2EE 1.2 applications and standalone components
  • Dynamic validation of WebServices which utilize Servlet or EJB based endpoints
  • Support for component libraries
  • A source code scanning mechanism to report the use of proprietary APIs
  • Enhanced static verification of your applications and standalone modules

You are probably asking why should I starting using the J2EE AVK if my applications run just fine today? The use of the J2EE AVK will help you to find issues that might work with the current version of your application server, but could fail when you upgrade or migrate to another server.

One simple example of an error that the J2EE AVK will catch:

  • You create a Session Bean and specify a transaction attribute for one of the methods on the home interface.

Now the above violates section 17.4.1 of the EJB 2.1 specification and on some application servers the deployment will fail and on some deployment will succeed but the attribute will be ignored.

Even if you have not had a chance to take the J2EE AVK for a test spin, we would be interested in your feedback to the following questions. We will be summarizing the responses as part of our J2EE AVK BOF:

  • How often do you encounter portability issues during application development?
  • What are your top three compliants when porting your applications from one application server to another?
  • What tools if any besides the J2EE AVK do you use to help making porting your applications easier?
  • In what areas, would you like to see additional tools to help ease the porting/migration of your applications from one application server to another?

I hope you will give the J2EE AVK a try. You can download a copy of the AVK from here.

To find out more about the J2EE AVK, consider attending one of the following JavaOne sessions:

  • BOF-1530, Got Portable Apps? Using the JavaTM AVK to Help Write Portable JavaTM 2 Platform, Enterprise Edition (J2EETM) Applications
  • TS-2945, Writing Portable Applications and the Java TM Technology AVK

If you cannot make any of the JavaOne sessions, please stop by the pavilion and visit POD #1225 Java Verified Program - Enterprise Application .

We look forward to seeing you at JavaOne!



Are You Ready for JavaOne?

Posted by lancea on June 04, 2004 at 02:11 PM | Permalink | Comments (1)

It is hard to believe that JavaOne is fast approaching. It seems that I just got back from last year's. I am now preparing for this year's event (including finishing my presentation!) and there is a lot to think about:

  • Where do I stay (and not blow my budget)?
  • What sessions do i attend in person?
  • Where should I go to eat?
  • and of course which parties should i attend?

It looks like another strong year for J2EE related presentations.

If you have not tinkered with the J2EE 1.4 SDK, then you might want to check out:

  • JavaTM 2 Platform, Enterprise Edition (J2EETM) Software Development Kit (J2EE 1.4 SDK) Overview, TS-1951

I am sure you are like me and want to see what the future holds. You can get a glimpse of it from the following J2EE sessions:

  • J2EETM Platform Version 1.5 and Beyond, TS-3888
  • Enterprise JavaBeansTM Architecture 3.0, TS-1861
  • Enterprise JavaBeansTM (EJBTM) Technologies 3.0: Simplifying and Enhancing the EJB Persistence Model, TS-2836
  • Next-Generation Web Services in the JavaTM Platform, TS-2394
  • Web Tier State of the Union, TS-2702

A couple of Web Services sessions also caught my fancy:

  • JavaTM 2 Platform, Enterprise Edition (J2EETM) Web Services, TS-1650
  • Web Services Interoperability and Performance: JavaTM 2 Platform, Enterprise Edition (J2EETM) and .NET, TS-2797
Another hot J2EE area this year is Business Integration where there are several presentations to choose from:

  • JavaTM Business Integration: JSR 208, TS-1056
  • JavaTM Business Integration (JSR 208) , TS-2725
  • JSR 208:JavaTM Business Integration, The Enterprise View ,TS-2455

This is just a small sampling of some of the really interesting presentations that I found on J2EE. I hope to see you there!



Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds