Lead developer from JBoss, coming to Dublin to talk about Hibernate on 15th October. What else could you be doing that evening? Full details on Developers.ie.
What is Hibernate? Java programs are like Lego blocks – very 3D with bumps on them to connect together. Database tables to store data are like flat sheets of paper. Hibernate is a bridge between these two very different worlds. In technical terms, it’s called Object-Relational-Mapping (ORM).
Why is it important? Hibernate is the defacto standard in the Java World, and has had huge influence on the most recent version of the EJB spec. There’s a .Net version and even competitors (such as Toplink from Oracle) are moving to the Hibernate way of doing things.
Back in the dark days when World War III threatened us with imminent nuclear oblivion, we were told that cockroaches and other insects were the highest form of life that would survive. I’ve recently come to the conclusion that SQL programs, like cockroaches, will surive anything that the IT world can throw at them.
SQL is a way of getting useful information from databases ,like ‘get me all Bank Customers with an account balances greater than 10,000 Euro’. It’s been around since the stone age and it is strongly suspected that the ancient Egyptians were familar with it’s earlier forms. Given that at least part of most systems talk to a database, it is probably the most widely used programming language in the world. It’s the most widely used because it’s the most useful : do one thing and do one thing well.
However, you get into trouble when you use SQL in ways nature never intended. Once you step beyond the ‘get me this’ or ‘update that’ you’re in trouble. Like a 12m high cockroach from a 1950’s Horror Movie, your code is out of control. Even Oracle are migrating to a Java stack to implement business logic outside of the core database engine.
By way of apology to any Oracle or SQL-Server progammers offended by this post, I’ll share the news that I’m my way to getting Oracle certified. It’s Oracle Exam SQL-007 [pdf] and if you understand that , you’ll know that while it’s not bad for a Java person, guys like Donal Daly , Mark Rittman and Scott Spendolini aren’t under threat from me just yet.
Two posts about Oracle in One Day? Must be going mad.
I’m using Oracle Sql Developer (formerly Raptor). It’s a nice little tool to view information on an Oracle Database (and much better than Sql Plus, which was a throwback to the 1970’s). Maybe it doesn’t have all the power of Toad or Sql Navigator, but that doesn’t matter , it’s free , can run anywhere (it’s Java based) and does most of what you need.
The reason for the post? Opened it up today, and found that it has an auto-update feature (a la Eclipse). It now has support for Oracle Reports , Oracle Data mining as well as a nifty Sql formatter. It will be interesting how Quest software responds to this!
The main reason for using Sql Developer as a Java person is that allows you to test your connections; simple copy and paste your JDBC Url from your Java application, and hit the ‘test’ button. No longer do you have to pull your hair out as to why your lovely ajax web application no longer works , only to find somebody has changed the DB username and password!
Sometimes Java people (who do the pretty websites, as well as the ‘ugly bits’) and Oracle people (who hang round in server rooms storing the data) exist on two paralell worlds. The normal conversation goes like this:
Where do I get the information from?
That Table there.
And that’s it , until the next month or so. And that’s before we get into words such as ADF , Oracle Forms, Fusion , 10g or OAS, all of which appear on a regular basis on JobServe, but to most Java people may as well be an exotic plant just discovered in the Jungles of Indonesia.
The solution? Ask Tom. More Oracle stuff than our caffine-addled little brains can handle.
Tom Kyte (the Tom above that works for Oracle) , also has his own blog for Oracle related stuff.
The 2nd most useful Java-Oracle Tool that I’ve used this year is schema spy.
How often have you taken over a project without any documenation? Even worse , there is a database involved, and everybody just ‘knows’ (or pretends to know) where things are. What if all the orginal developers are gone and nobody is left to explain things? I can find my way around most legacy Java code , but databases leave me cold.
Still not convinced – take a look on the Schema Spy website. The level of information that this tool gives you takes you from knowing nothing about the database to knowing almost everything.
Interested in trying it out? Follow these simple steps
– Download it from http://schemaspy.sourceforge.net/
– Change the configuration to point to your database
– Install the Graphviz component (available here)
– Run the tool and await your fully documented database.
Just to shame the commercial competition , as well as Oracle , Schema Spy supports DB2, hsqldb , Microsoft SQL Server, MySQL, PostgreSQL and Sybase. It’s written by John Currier and is well worth a donation.
In case you’re wondering, the most useful Java-Oracle tool for 2006 is Oracle’s project raptor. Schema spy runs it a very close second. Considering that it’s a Billion dollar company Vs one man , I’d chalk that up as a victory for the little guy!
Our Technical Knowledge base has just been launched.
We found that over the last 5 years , 80% of the solutions we were building were the same. How many ways are there to take information from the web, apply some business rules or logic to it, and then save it into a database?
Currently the knowledge repository contains information on Enterprise Java , XML , Eclipse, Oracle, Architecture, Project Management as well as a lot of useful links for Dublin, Ireland and Technical specific areas.
The public area to the site can be found here. All information is generic, non-client specific, and can probably already be found on the web, although it is much easier to read it here!
One of the good (and surprising) things is how much of the infastructure to run Enterprise Java Applications that you can get for free. You may decide to go for an all commercial offering, but just knowing that you could switch to open software keeps the vendors honest and quality standards in the industry high. Open products are available for everything, from the web browser to the web and application server, through to the operating system to run whole thing!
The one exception to this is Databases. Yes, MySql is a very good product , and is getting better all the time especially as version 5 will have enterprise features such as triggers and procedures. But could you honestly recommend a switch from Oracle to MySql? Come to think of it, could recommend a switch between any of the big 3 (Sybase , Oracle and Microsoft Sql Server?) – Java people talk about being ‘Database Neutral’, but the reality is that the disruption of switching outweights the costs involved.
All of which makes the latest announcement from Oracle all the more interesting .. Oracle have just announced a MySql competitor in for the form of Oracle 10g Express. It’s in pretty much the same space as MySql (ideal for web projects, new projects, lightweight projects’ and is free to use and distribute. Where it does have the edge is (a) people can use it to learn Oracle skills and (b) a reduced cost of migration to the ‘real’ version of Oracle.