Object-Relation Mapping without the Container
Justin Powell writes "If you follow the latest developer buzz then you've likely heard of IOC (Inversion of Control) containers and AOP (aspect-oriented programming). Like many developers, however, you may not see where these technologies fit into your development efforts. Learn where they can fit with a hands-on introduction to using Hibernate and Spring to build a transactional persistence tier for your enterprise applications."
After all, Java development environments are well known for thier conciseness and simple nature. Let's throw another couple of tools into the works....
And if you thought that was boring you obviously havn't read my Journal ;-)
Is AOP (Aspect-Oriented Programming) simply evidence that OO (Object-Orientation) has some fundamental design problems?
Learn where they can fit with a hands-on introduction to using Hibernate and Spring to build a transactional persistence tier for your enterprise applications.
Will it bring synergy to our on-demand world too? Jeez, save the buzz words for the boss.
The Army reading list
All of these strange words just make me sad. Whatever happened to just writing code?
#19845
I mean, what exactly were the buzzwords here? 'Tier?' 'Enterprise?' 'Build?' 'Introduction?' Do tell!
So, what was +5 insightful about this comment, other than its pandering to a the Slashdot contingent that doesn't bother reading or thinking very hard about the issues at hand?
Unlike EJB CMP CMR and like JDO, Hibernate can work inside of or outside of a J2EE container, which is a boon for those of us doing TDD and agile development.
Acronym hell. Java used to be pretty easy to understand. There was Swing, there was AWT, there was the language and the development environment was concise. Not all of it was good, but I knew where I stood. Right now I know that 4 of those 6 acronyms aren't relevant to my work as a programmer. And none of them relate to Java as a language. People talk about ATL, STL, MFC and whatnot, but C++ the language has endured as a language independent of its modules. Love it or hate it, it's a language that deserves respect for this endurance. Right now I can't say that for Java. Whatever happened to plain Java?
Maybe I'm just not getting it, but me "getting it" is what's the deciding factor in my choice of tools, since I have to get it to do my work. I get .NET; there's the language (C#,VB,C++,WinForms, all .NET) and there's the tool (Visual Studio, maybe Mono). I know for a fact I can write code using VS that can compile on linux with the minimum of modification. I also know which modules lock me to windows (VB.NET, Winforms) and which ones don't (maybe C# if Mono succeeds, Strict C++ saves the day for portability). I learnt this from documentation, research and testing by my own hand. I've researched Java, kept informed of it, but all I see now is a concoction of marketing hype and a bad case of constant scope creep. Another quote:
The starting point is an enterprise application for which you are implementing a transactional persistence layer.
Overkill! I'm sorry, my customers aren't going to spend the money buying our software when they need to install an entirely new infrastructure to support it. The margins aren't that high in my industry. Besides, why do I need yet another framework? What was wrong with the old one? If the old one was so bad it had to be replaced, why promote it in the first place? I don't care about an implementation of the newest development methodology. I care about development cost, infrastructure, what customers will put up with, and what I can support without costing me a fortune in time, effort and understanding.
This article showed me nothing that gives me any clue to how useful this is really going to be "in the field". I think I'll just go hibernate until Java springs into action...
click-clack, front and back. I'm not moving this car otherwise.
"Whatever happened to plain Java?"
We got tired of reinventing the wheel. These API's exist because the solve problems. By not having to deal with these problems, you can focus on your specific business needs.
Have fun writing everything in C++ (no STL mind you) and no linking to external libraries. Let me know how it goes talking to the database, or parsing that XML file some vendor just sent you.
I can't tell you how many times someone has said to me "Gee if we just had our own implementation of platform and vendor neutral database connectivity API it would solve a critical business need!".
use DBI;
"use DBI;"
Apparently your sarcasm detector was not properly calibrated.
CA/Fujitsu abandoned their Jasmine OO database product, and it looks like Progress is allowing ObjectStore to wither on the vine.
Oh, AND WE NEED 64-BIT DATABASES AND 64-BIT PROGRAMMING LANGUAGES LIKE YESTERDAY!!! SQL's 32-bit BLOB just doesn't cut the mustard. Hell, the following won't even compile on Java 1.5:
} Any advice as to 64-bit object-oriented databases would be MOST appreciated.Thanks!
I'm comparing oranges to oranges. They're comparing apples to apples. I have no interest in apples; that's my point, which I think you missed. Having a whole fruit basket of API's to work with is sweet, but too much sugar gives you diabetes and makes you fat.
Sorry, got a bit carried away with my metaphor.
But just because you don't need these projects doesn't mean I don't need them (I do)
I'm not saying these projects aren't useful to anyone. I'm not saying you don't need them. I am saying that the presentation and integration of these enterprise extensions as a part of the standard language is not beneficial to Java's perceived suitability for everyday programming work.
click-clack, front and back. I'm not moving this car otherwise.
Hibernate is a first-class citizen in the Spring framework. You get session and transaction support for it, so that by using a couple of spring's hibernate support classes you can write less code, because the interceptors will manage transactions and sessions for you, by means of AOP. There are some really cool Hibernate plugins for Eclipse, which create and update the persistent classes from you HBM map, and can also create DAOs for each persistent class. There is also a Spring plugin for Eclipse, it doesn't do much but it's useful for editing the XML and manading the configuration files (although you don't really need more than one most of the time).
Go hug some trees.
Hibernate is years ahead of ObjectSpaces. Even some beta
Please go easy on me even if these questions seem a little too neophyte-ish:
At this point, I'm looking for ANY advice I can get my greedy little paws on.Thanks again!
[...] the presentation and integration of these enterprise extensions as a part of the standard language is not beneficial to Java's perceived suitability for everyday programming work.
None of these projects is part of the standard Java library. JDO is a separate package. Hibernate is an open source library. So is Spring. EJBs are part of the J2EE package (hint: EE = Enterprise Edition), but not of the J2SE package (hint: SE = Standard Edition). Your point being?
Stupidity is mis-underestimated.
Specifically, the article starts the discussion at the enterprise level. There are a dozen or so references to J2EE (zero to J2SE), and the example deals specifically with running on an application server. What exactly is the standard library of java?
click-clack, front and back. I'm not moving this car otherwise.
You should try reading about LISP macros. Paul Graham has written mostly about macros; it's available here. To really get it, you require a bit of LISP knowledge, but you can get the general idea of the power of macros just by skimming the introductory parts of some of the later chapters. If you've got the time, I recommend reading through, it's very well written and really shows off what LISP can do for you.
HAND.
You're stupid. J2EE provides standard libraries for building server apps and is built on J2SE, which provides standard utilities for general applications. They're just standard sets of libraries. What the heck are you complaining about?