After Eclipse, NetBeans now targeting Borland JBuilder users
With Borland no longer a major player in the Java IDE market, it’s but
natural for Borland JBuilder enthusiasts to start looking elsewhere. NetBeans has decided to target this migrating market and announced a free migration program from Borland JBuilder to NetBeans
NetBeans has put up manuals
for how to make a clean migration from JBuilder to NetBeans and is also
organizing a 2 day promotional workshop on the subject. Sun Developer
Services is offering JBuilder users free access until October 14,
2006 to the Sun Developer Expert Assistance (DEA) program, an
email
NetBeans was always very good. Some time back Sun seemed to not be interested in NetBeans anymore. But the new Schwartz CEO Sun seems to be very keen on pushing NetBeans
I think there is two big categories of application in the real world:
– ‘entity-based’ application
You define a clear set of entities for your application and use them for all
your operation
– ‘data-centric’ application
you split you code in one logic layer and one data access layer, but
your data access layer manipulate the tables directly, not alway passing through an entity representation.
My opinion is that ‘data-centric’ is actually the way most application are coded.
As an example consider the typical sceniario below:
You have customer and order tables and you need to display in a grid each customer and its # of orders.
– in ‘entity-based’ application you simply load all the customers.
They will have a property with the list of orders. What you need populate the grid
by iterating over the list of customers and getting the size of the order list for each customer.
– in ‘data-centric’ application, most of the time, you will have a query in your access layer
such as ‘select c.name, count(o) from customer c inner join order o on c.id = o.customer_id group by c.name’
The result of this query can not be mapped to an entity, if you want to use the result you will need do one of the following:
– bind the ResultSet to the grid
– load the ResultSet into some disconnected structure for later usage (DataSet, XML, or other structure)
Both solution can lead to clean, well-defined application. It all depends on your needs.
In ‘data-centric’ application, it is often hard to know what are the data structure that are passed across the tiers (Array for ‘single column select’, XML, DataSet, Custom classes) because they may vary.
In ‘entity-based’ application, other problems may appear: performance, partial entity loading, complex database structure…
My final word will be about database independance: JDBC provides some database independent syntax (‘escape syntax’)
that is very usefull. If you want to achieve database independent (or less dependent) solution consider this + some custom code in your data access layer
before immediately chosing an OR mapping tool.