JDBC Connections

Friday, August 24, 2007

JLINQ really isn't


I was going to reserve comment on IBM's recent article on JLINQ but I really can't help myself. Here's a link to the article:

http://www.ibm.com/developerworks/db2/library/techarticle/dm-0708ahadian/index.html?ca=drs

LINQ stands for Language INtegrated Query, which this clearly is not. I don't know if Microsoft has any rights to the name LINQ or not, but I think it very poor form of IBM to actually use the term for something that is not technically correct. LINQ is something that is actually integrated into the programming language itself, like Microsoft is integrating it into C# for instance. Then, you can actually do your queries in C# instead of SQL (examples here).

JLINQ is nothing of the sort. This is merely a new ORM style code generator for Eclipse that IBM has made. It's certainly an interesting idea on ORM to me, but that's all it is. In a nutshell, you install the JLINQ package and tell your application what JDBC driver to use. Then, it connects to the database and your Eclipse project suddenly becomes "Database Aware". Neato, this is a cool idea. By being database aware, you can then have better SQL validation as you write the queries (or optionally generate them) as you code. Example: if you type "selct" the SQL validator will ask to change it to "select" (I've got some friends who can't type and really need this!). Also, since you're connected to the DB, you can get instant validation of columns and metadata as you go, which is also helpful. Once you define what you want in terms of a query (or object definition for the ORM stuff) you can right click and have choices to generate a SQL Bean or JLINQ code. Furthermore, you can simply right-click on a table in the Database Explorer and choose "Generate JLINQ Code" and you'll automagically get a CRUD interface for your table. Certainly seems like this will save some time.

All things considered, this seems like it is a neat idea in that it combines a nice database aware project with content assist and automagic code generation of CRUD objects and/or beans.......but by no stretch of the imagination is it LINQ. I will certainly be playing around with it in the upcoming weeks; however, I'll be using our DataDirect Connect for JDBC drivers to do the work and so I'll let you all know how it goes.

-J

Oh, some posters on channel9 at Microsoft certainly have strong opinions if you're interested: http://channel9.msdn.com/ShowPost.aspx?PostID=335603

Labels:

2 Comments:

  • I checked JLINQ...currently I was not able to establish the connection with MS SQL Server 2000/2005.
    Kindly advice if possible.

    By Blogger Unknown, At September 17, 2007 at 5:18 PM  

  • That's some nice article about a relatively new subject.

    however, flash backing a couple of years when M$ first announced LINQ. it came very, very clear to me that it's a copy-cat of the "several years" ANSI standard SQLJ. for those who don't know about SQLJ yet I strongly suggest you spend a couple of hours on the subject.

    Thought it's worth mentioning. happy coding.

    ZizoV

    By Blogger ziZov, At November 2, 2007 at 10:24 AM  

Post a Comment

Subscribe to Post Comments [Atom]



<< Home