Slashdot Mirror


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."

49 comments

  1. Yeehoo, more tools....... by MrIrwin · · Score: 3, Interesting

    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 ;-)

    1. Re:Yeehoo, more tools....... by bay43270 · · Score: 4, Interesting

      After all, Java development environments are well known for thier conciseness and simple nature. Let's throw another couple of tools into the works....

      Your comment seems to sum up J2EE fairly well. This is why Spring was created. A container should provide a framework for containing things. period. If you want persistence, add a persistence framework. If you want transactions, add a transaction framework. If you think you need all the extra complexity, feel free to add it.

      J2EE, however is complex by default. Spring tries to get away from that. Whether Spring itself can replace J2EE has yet to be shown, but it's philosophy will (at least in those companies flexible enough to change).

      J2EE was a good first step, I suppose. They combined all the complex middleware software of the early to mid 90's into one giant all-inclusive spec. Anyone with a couple million man hours could implement the spec and join the market. I guess it made sense at the time.

      Now we have a handful of application servers each costing tens of thousands of dollars (not including two very nice open source implementations). Most companies opt to spend $20k on WSAD just for transaction support, or just so they can use the app server's security. They never stop and ask if they need all the power their buying. Spring (and the light weight containers that are sure to follow) will give people an alternative.

    2. Re:Yeehoo, more tools....... by michaelggreer · · Score: 2, Informative

      Actually, take another look. These tools are a response to that very criticism. They are part of a move towards a more light-weight Java. I've used them both, and they are a dream to use. Hibernate in particular.

      Why is Slashdot so anti-Java?

    3. Re:Yeehoo, more tools....... by tigersha · · Score: 3, Insightful

      Lord knows why Slashdot is so anti Java.

      Even Microsoft copied it with .NET. And while everyone here freaks out about Inferno and so on they tend to forget that Inferno is a VM based system just like Java.

      And so, I might like to add is Perl, in which /. is written. In fact, the Perl people are building a new VM just for the job (Parrot).

      Java does have complexities, but a lot of that is solved in 1.5. The API's are complicated but then, so is the real world. They are also complete. And I really do not think that the few (standardized by Sun) API's are worse than the hordes of modules you get for Perl on CPAN.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    4. Re:Yeehoo, more tools....... by haystor · · Score: 5, Insightful

      Java the language has been drawn into the hatred here by its association with other things:

      The billions of dollars of advertising that got managers and HR people to take Java classes because it was the way of the future.

      All the things that don't live up to their billing: AWT, Swing, keep trying.

      Anyone else feel like the "write once run anywhere" philosophy just reduced java to the lowest common denominator of functionality?

      Sun has spent a lot of money promising Java will do a lot of things it hasn't done.

      Then there are all the fanboys of java that drive some of us nuts on a daily basis. Just trying to explain to them that even though Java is compiled, it is still interpreted (in the same fashion as Perl or Python) falls on deaf ears.

      Other languages popular here are popular because they bend to the programmers will. With Java it is the programmer who must bend.

      Java is and has been all about marketing. Marketing isn't well liked here.

      To me, java is like ms-windows. It is usable, but only after you go out and get someone else's add-ons that should have been included in the first place.

      Oh, and I hate java because it isn't LISP.

      --
      t
    5. Re:Yeehoo, more tools....... by Anonymous Coward · · Score: 3, Insightful
      Then there are all the fanboys of java that drive some of us nuts on a daily basis. Just trying to explain to them that even though Java is compiled, it is still interpreted (in the same fashion as Perl or Python) falls on deaf ears.

      ... and you are both right and wrong. In the end, much of the code is actually really compiled by a JIT-compiler to machine code. Same can and is done with other VMs. And exactly why do you feel compelled to explain that out to fanboys?

      Other languages popular here are popular because they bend to the programmers will. With Java it is the programmer who must bend.

      How and why? Why does programmer need to bend more or less than with, say, Perl, Python or Lisp? Lisp has its own extensive runtime environment (even more complete than JVM); and simple yet rather unintuitive syntax. Python has its "whitespace matters" attitude, for people with acquired taste. And perl... oh boy. It's the duct tape of programming; useful, sure, but programmer really has to wrap his or her brains around that beast too.

      Java is and has been all about marketing. Marketing isn't well liked here.

      Java has had its share of hype. But it's NEVER been just hype or marketing. It's a solid platform suitable for many programming tasks. Just because you don't grok it doesn't mean "it's all marketing". In fact, Java is like C in many ways: paving the way for other languages to come; to serve as THE example of a modern programming language.

      To me, java is like ms-windows. It is usable, but only after you go out and get someone else's add-ons that should have been included in the first place.

      And this is just Plain Stupid. I can understand people who claim Java has all and kitchen sink in its API. But to claim it doesn't have enough is just absurd. Name things you are missing that other languages come equipped with, out of the box; otherwise you just sound like a whiny baby.

      Plus, regarding Windows; as little as I care about that platform (I don't own any Windows-box, don't really need one), it's also patently childish to claim it's not useful without add-ons.

    6. Re:Yeehoo, more tools....... by DrCode · · Score: 1

      Then there are the job ads with all kinds of baroque requirements (2 years J2EE 2.5431, Struts 23.skedoo, etc.) At least C++ developers don't get rejected because they've used GCC 3.0 but not 3.01.

      Let me predict that we'll soon see jobs requiring "2 years Spring 2.309 and Hibernate 1.75, and don't bother applying if you haven't worked with those specific versions."

    7. Re:Yeehoo, more tools....... by haystor · · Score: 2, Interesting

      I have to explain to Java people what mod_perl does. I usually get blank stares. The general opinion seems to be that Perl is interpreted in the way that Basic was interpreted long ago, line by line. I'm serious, lots of java people think this.

      Java is less programmer friendly that Python, Perl and LISP. It's that simple. Look no further than all the nice things they are putting into 1.5. All things that are in C# apparently that Sun used to say weren't necessary until C# showed up. I promise autoboxing was discussed years ago, why does it only show up now?

      I didn't say Java is all hype, I said it was "all about hype". If you weren't programming it in '96 or so, perhaps you don't remember. Companies were sending secretaries to learn Java since it was going to change the world. They lead with marketing and delivered parts of promises later. That's just unpopular here.

      As for not grokking Java, I've been programming Java and Perl since '96. I'm currently an Architect on a major enterprise level project. I do just fine with it regardless of how I like it.

      As for my comments that it needs things: It does need basic things that I take for granted after working with Perl, Python or LISP. Regexes and flexible data structures come to mind.

      I'm not sure how windows stands, but I've always had a list of things I have to install immediately upon getting a new system. Winzip used to be #1 priority but I believe the finally put zip capability into windows xp. There are other things like grep, pdf viewer, email client and of course emacs that don't come with windows. I realize that's a pretty programmer centric view of things but this is the developers section of slashdot and this thread was discussing why java is unpopular (hence a programmer centric view isn't unreasonable).

      Oh, and as far as programs bending to the programmer's will, I've seen a lot of programs that started as concept in Perl or Python, caught fire and ended up in production *making money* for the company. I can't say I've seen the same phenomenon with java. Java seems mired in endless requirements gather for perfect architecture goals that are always 6 months down the road. Perl, Python and LISP express what is in the Programmer's mind today. I have experience with all of these and success with all of these. Never has Java been the tool of choice for the creative.

      Proove me wrong. (or just call me stupid, childish and whiny again)

      --
      t
    8. Re:Yeehoo, more tools....... by Anonymous Coward · · Score: 0
      I'm currently an Architect...
      Wow, I was with you right up to the point where you called yourself an architect(and capitalized it).
    9. Re:Yeehoo, more tools....... by haystor · · Score: 1

      I notice myself doing all sorts of strange capitalization when writing about Java. I probably capitalized that word in particular because I probably have only ever written it down on my resume. The fact is, my editor is on vacation and can't get to my slashdot posts for corrections this week.

      --
      t
    10. Re:Yeehoo, more tools....... by mcbevin · · Score: 1

      The billions of dollars of advertising that got managers and HR people to take Java classes because it was the way of the future.

      Yes, anything thats made by a company and marketed is evil because we're all communist hippies who think all software should be free as in beer.

      All the things that don't live up to their billing: AWT, Swing, keep trying.

      I was never impressed with AWT or Swing, and therefore don't usually use Java for projects requiring a GUI, rather (as I think is most often the case) use Java mainly for websites. Given that this topic is about the use of an O-R mapping tool for Java, of which there are many (I personally prefer JDO-based tools), and which have little to do with GUIs, lets leave Java's Swing/AWT out of this.

      Anyone else feel like the "write once run anywhere" philosophy just reduced java to the lowest common denominator of functionality?

      I don't know where you're coming from here. Excluding swing which I'm not defending, I honestly don't have any idea how you can make such a statement about java.

      Other languages popular here are popular because they bend to the programmers will. With Java it is the programmer who must bend.

      How a programming language bends to someones will is beyond me sorry. In any case, the Java Community process is all about users requirements being implemented, and Java 1.5 addresses the major shortcomings I had always felt existed in the language, as do the O-R mapping tools such as the one this topics about address the shortcomings of EJBs. When exactly was the last time C/C++ bent to anybody's will in such ways?

      Java is and has been all about marketing. Marketing isn't well liked here.

      I answered this already. However, Java is clearly not _all_ about marketing. Personally, whenever I begin a new programming project, whatever kind it is, I look at what language to program in, and more and more end up choosing Java over C/C++/.NET/PHP/Perl, purely on the basis of which language and tools best fit my needs. Maybe my company uses Java due to this marketing, but I (when doing private projects) don't.

      To me, java is like ms-windows. It is usable, but only after you go out and get someone else's add-ons that should have been included in the first place.

      Like another poster noted, Java has been often accused of including too much, but that it includes not enough is a rather original argument.

      Oh, and I hate java because it isn't LISP.

      Sorry, but you're comparing apples and oranges here. LISP is adheres more to a completely different programming paradigm (functional programming) as opposed to Java/C/C++ and all the other OO languages. You can prefer one paradigm or the other but that doesn't make Java a bad language or worse than LISP or worthy of hate as you put it. I personally have used both Java and LISP but, being used to procedural/OO languages, never felt comfortable programming LISP.

    11. Re:Yeehoo, more tools....... by pether · · Score: 0

      In the end everything programming language is turing compatible. Personally I want to get away from programming details to be able to more complex systems

    12. Re:Yeehoo, more tools....... by Anonymous Coward · · Score: 0
      Then there are the job ads with all kinds of baroque requirements (2 years J2EE 2.5431, Struts 23.skedoo, etc.) At least C++ developers don't get rejected because they've used GCC 3.0 but not 3.01.


      Not true. Example: 6 year C++ veteran, master's degree, open source contributor (FreeBSD) applies for C++ job. Didn't get it - why? Not enough COM experience. Sorry, C++ is no exception, and I doubt there is any language platform out there, especially in this economy, where you can get away with just knowing the language. Stupid? Yes.

    13. Re:Yeehoo, more tools....... by haystor · · Score: 1

      I was answering why Java was unpopular here. It may have fixed many of the problems I stated, but it still left bad feelings. A lot was promised and when a lot of people have it crammed down their throat there is ill will.

      You mention yourself that C++ doesn't exactly bend to the programmer's will. This is certrainly true, of course I didn't mention C++ as an example of that (nor will you find it among the most popular languages here on slashdot).

      The languages you find popular here just flat out do what the programmer wants them to do. PHP is immensely popular for web pages. Sure, there are a zillion reasons not to use it and only the fact that it works well going for it. Perl occupies that same spot for many of us and is a workhorse for Unix people in particular. Python is popular because they abduct people before they get to see Perl and indoctrinate them into the secret ways (so secret they are recorded only in whitespace).

      I never said corporations are evil. But if some company spent billions convincing my employer to serve nothing but salads in the cafeteria I wouldn't be too thrilled.

      Maybe I'm just bitter because I work at places that are willing to spend $10k or more on software for me personally to work on, but I'm constantly stuck on a 4 year old computer (who gets the new ones anyway).

      As far as my comment on disliking Java because it isn't LISP, it's perfectly valid to compare apples to oranges. It is my opinion and I like oranges, and if they both satisfy the requirement of being a fruit preference is all I need to justify my opinion. Once I learned about macros in LISP, I miss them everywhere else. LISP may lack libraries but those can be added. It is near impossible to work around a lack of macros without writing an entirely different program.

      --
      t
    14. Re:Yeehoo, more tools....... by michaelggreer · · Score: 1

      It does need basic things that I take for granted after working with Perl, Python or LISP. Regexes and flexible data structures come to mind.

      Java has had regexes since 1.4.

    15. Re:Yeehoo, more tools....... by Anonymous Coward · · Score: 0

      And they are poorly implemented! Compare and contrast with the elegance of the supremely powerful Perl regex engine. Who wants to use Java for string processing and file I/O anyway, it's atrocious at that sort of thing. However, should I want to write multi-tier network software, Perl can do that it. It's the swiss army chainsaw versus the swiss army toothpick.

    16. Re:Yeehoo, more tools....... by hding · · Score: 1
      Sorry, but you're comparing apples and oranges here. LISP is adheres more to a completely different programming paradigm (functional programming) as opposed to Java/C/C++ and all the other OO languages.

      If you actually believe this, you don't know Lisp very well. While Schemers often emphasize the functional use of their language, Common Lispers move about as they wish in the realms of procedural, object-oriented, and functional programming in order to most easily solve their problems.

      You might have a look at the Table of Contents of the Hyperspec to have a better idea of the things available in Common Lisp as a language proper, and something like Cliki for links to Lisp libraries and such whose source code will indicate how people actually program in Lisp these days.

    17. Re:Yeehoo, more tools....... by michaelggreer · · Score: 1

      Hey, no question: Perl regex rocks. I just pointed that since the parent seemed to not have looked a Java since 1.1 or something.

  2. aspect-oriented programming by Mr+Very+Angry · · Score: 2, Interesting

    Is AOP (Aspect-Oriented Programming) simply evidence that OO (Object-Orientation) has some fundamental design problems?

    1. Re:aspect-oriented programming by Anonymous Coward · · Score: 4, Insightful

      It is proof that no one paradigm can solve all problems easily. AOP solves some problems easier than OOP, but some prblems it does not.

      AOP has the small problem that it is patented. It was, at the time of creation, genuinly new, so it is only right the the creators should be able to patent it. But doing so has limited the ability of OSS tools to support AOP properly.

    2. Re:aspect-oriented programming by Anonymous Coward · · Score: 0

      It was, at the time of creation, genuinly new, so it is only right the the creators should be able to patent it.

      Um, no. It's an idea, not a machine. You can't produce AOP. You can't walk into a shop and buy one. So you shouldn't be able to patent it. Copyright law will protect their expression of the concept and any books they care to write on the subject; trademark law will protect the name if they so desire.

      All a patent means is that if someone else independently comes up with something that looks vaguely similar, they can sue. Do they really deserve that "right"?

    3. Re:aspect-oriented programming by Anonymous Coward · · Score: 2, Informative

      No, they can patent it. While you and I don't agree with software patents, especially the ones that essentially wrap a business plan, this is now the law of the land. It's been upheld by SCOTUS. Unfortunately, USPTO hasn't got a lot of software developers working for them, and probably can't tell when something's obvious or got prior art.

    4. Re:aspect-oriented programming by Unordained · · Score: 1

      That, and OOP isn't particularly well-defined. Each language that has OO features likely has a different set of them (I believe there's a "pick 3 of 4" comment that goes with it). Different combinations of OO features, not to speak of additional less-standard features, exist because they behave differently (sometimes more to your liking, sometimes entirely not.) Nominative vs. Structural typing, etc. are big differences. I'm somewhat surprised we call it all "OO" in the first place. That may also contribute to a lack of "OO" features in some database products (or most) -- which OO features do you want, and why? What makes it conveniently OO for you? And then we realize that C++ OO is just smoke and mirrors around passing an implicit parameter to a function (with some indirection thrown in for good measure,) and we realize it's all ... the same. Domain/Set theory anyone?

    5. Re:aspect-oriented programming by Tablizer · · Score: 1

      AOP has the small problem that it is patented.

      If that is true, then that alone would probably doom it unless it was so clearly better than what came before it that people live with a "patent tax".

    6. Re:aspect-oriented programming by DrEasy · · Score: 1
      I'd rather say "AOP (Aspect-Oriented Programming) is simply evidence that an OO language without metaclass support has some fundamental design problems."

      As long as you can say "A class is also an object, so I should be able to define its class to control its behavior any way I want", you can replicate AOP behavior very easily, with much more power too. Smalltalk for example can do everything AspectJ does for Java and so much more. And let's not even get started with Lisp-based OO languages! Having said that, "with great power comes great responsibility", so I guess Java designers thought they shouldn't let the average programmer play with matchsticks...

      --
      "In our tactical decisions, we are operating contrary to our strategic interest."
  3. Come on people! by GregChant · · Score: 0, Troll

    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.

  4. More comments on J3EE... by tcopeland · · Score: 1
    ...Spring, and so forth can be found on the frequently offensive but never boring BileBlog. An excerpt:
    J3EE is moron bait I've been trying to ignore this nonsense, but frankly, it's just so ridiculous and such a nice big fat juicy target that it's hard to pass up.
    Whew!
  5. Uh, wha? by Quinn · · Score: 0, Troll

    All of these strange words just make me sad. Whatever happened to just writing code?

    --
    #19845
  6. Why is this insightful? by amarodeeps · · Score: 3, Insightful
    'Transactional' is a buzzword? 'Persistence' is a buzzword? As far as I understand it, those have well-defined meanings within software design methodology. There is a big freaking difference between a persistent object and a non-persistent object. And I think you'll find that 'transactional' can occasionally be used in a technical, practical way. Go figure.

    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?

  7. A lament to Java. by Roman_(ajvvs) · · Score: 3, Interesting
    I used to promote Java as "the tool" for development, but after 2 1/2 years of not being able to justify the use of my formerly favourite language in a single commercial project, I can only sigh. The biggest stumbling blocks have been the getting effective tools and the limiting the overhead and complexity of any potential implementation. The current Java SDK's are not intuitive. I loop hopefully to 1.5 and Eclipse for evolution in the right direction, but Java right now feels like a colossal waste of my paid time. It's partly because of things like this (line from the article):

    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.
    1. Re:A lament to Java. by Anonymous Coward · · Score: 1, Insightful

      Whatever happened to plain Java?

      It died like 5 years ago, sorry you didn't get the news. "The Framework" is now J2EE.

      Besides, why do I need yet another framework? What was wrong with the old one?

      A lot of things, starting with cost and complexity. Sure if you've already spent the $100K to rollout WebLogic, this isn't for you. But for smaller projects and non-banks, having something lighter-weight than J2EE would be a godsend. Especially since the basic functionality is "free" with .NET and doesn't require a pricy app server system. (and yes i know about the free J2EE servers out there, they're still expensive to support.)

    2. Re:A lament to Java. by bay43270 · · Score: 2, Insightful

      So you're bitching that Java got too complex, and it's going to collapse under its own weight. You say it should be simpler. THAT'S WHAT SPRING IS ALL ABOUT!

      J2EE is the result of monster corporations fighting over huge unmanageable solutions. The compromise usually involves using *everyone's* solution (example - both session beans and entity beans exist because IBM and Oracle couldn't agree on a strategy for persistence). Spring is simply the open source community's response: Smaller, lighter, pluggable frameworks. When J2EE collapses under its own weight, those who stick around (ie. don't switch to .NET) will watch frameworks like Spring rise from its ashes to take its place.

    3. Re:A lament to Java. by Phouk · · Score: 2, Interesting

      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

      I call bullshit, or at least Apples to Oranges! What are you talking about - developing a desktop GUI app? Then there still is Swing, and there is AWT, and not that much has changed.

      Or are you talking about database-backed server applications? For smaller projects, there is JDBC for database connectivity, and there always has been.

      For larger database-driven projects, you need a layer above that to be productive, and that's what the solutions mentioned above are for (has nothing to do with Swing/AWT). If you are not doing that kind of project, feel free to ignore them. But just because you don't need these projects doesn't mean I don't need them (I do).

      --
      Stupidity is mis-underestimated.
    4. Re:A lament to Java. by Roman_(ajvvs) · · Score: 1
      those who stick around (ie. don't switch to .NET) will watch frameworks like Spring rise from its ashes to take its place

      I lost track of the number of frameworks that came up promising "an easier way" to develop X or Y for Java. As much as I'd like to stick around to support something non-MS, which I know could be good if not better, I don't know as yet how long Spring will last.

      --
      click-clack, front and back. I'm not moving this car otherwise.
  8. Re:A lament to clue by tigeba · · Score: 5, Insightful

    "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!".

  9. Re:A lament to clue by Anonymous Coward · · Score: 0
    "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;

  10. Re:A lament to clue by tigeba · · Score: 1

    "use DBI;"

    Apparently your sarcasm detector was not properly calibrated.

  11. Microsoft ObjectSpaces Initiative? by mosel-saar-ruwer · · Score: 2, Interesting
    Does anyone have any experience with Microsoft's new ObjectSpaces persistent object initiative for .NET? Some overview here:
    http://www.internet.com/icom_cgi/print/print.cgi?u rl=http://www.15seconds.com/issue/040112.htm
    The ["scientific"] data we're generating is very large, and much more binary/object-ish than ASCII/SQL/RDBM-ish in nature.

    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:

    public class SixtyFourBit
    {
    public static void main (String args[])
    { long theLong = 1;
    theLong <<= 32;
    theLong += 1;
    System.out.println("theLong = " + theLong);

    double [] theDoubleArray = new double[theLong];

    }
    }
    SixtyFourBit.java:11: possible loss of precision
    found : long
    required: int
    Any advice as to 64-bit object-oriented databases would be MOST appreciated.

    Thanks!

    1. Re:Microsoft ObjectSpaces Initiative? by chochos · · Score: 1

      Hibernate is years ahead of ObjectSpaces. Even some beta .NET ORM's are way ahead of ObjectSpaces. For examples, Thona's Entity Broker is already more robust. ObjectSpaces will only work with SQLServer at first (that's what MS says - they never say when it will work with other DBMS's). Spring is really powerful. It's a little complex at first, but once you understand the concepts behind it, it's really cool to use. Add Tapestry for the web tier and you can easily write powerful web apps that are easy to maintain, modify and extend, without getting into the ugly J2EE stuff like (yuk!) entity beans.

  12. Re:A fruity lament to Java. by Roman_(ajvvs) · · Score: 1
    If you are not doing that kind of project, feel free to ignore them

    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.
  13. Good combination by chochos · · Score: 1

    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).

  14. More questions. by mosel-saar-ruwer · · Score: 1

    Hibernate is years ahead of ObjectSpaces. Even some beta .NET ORM's are way ahead of ObjectSpaces. For examples, Thona's Entity Broker is already more robust. ObjectSpaces will only work with SQLServer at first (that's what MS says - they never say when it will work with other DBMS's). Spring is really powerful. It's a little complex at first, but once you understand the concepts behind it, it's really cool to use. Add Tapestry for the web tier and you can easily write powerful web apps that are easy to maintain, modify and extend, without getting into the ugly J2EE stuff like (yuk!) entity beans.

    Please go easy on me even if these questions seem a little too neophyte-ish:

    1) Are any of these products fully 64-bit, i.e. don't require 32-bit middleware, like Java, or 32-bit backends, like SQL BLOBs?

    2) Are any of these products ready for primetime, i.e. in addition to being stable and secure, also offer, at a bare minimum:

    a) master/slave failsafe mirroring of all data [if not peer-to-peer mirroring of data],
    b) seamless support for a security infrastructure, such as Microsoft Active Directory, or Novell Directory Services, and
    c) stable integration with a backup product, such as Veritas [Seagate] Backup Exec, or Computer Associates [Cheyenne] ArcServe?
    At this point, I'm looking for ANY advice I can get my greedy little paws on.

    Thanks again!

    1. Re:More questions. by chochos · · Score: 1

      it's all java and .NET, but depending on your platform, you can get a 64bit extension... I've seen 64-bit extensions for Java on Solaris, for example.

      data mirroring is not performed by an ORM, because it's not its function or objective. That should be performed by the database.

      security is also a different matter, in Java there are several schemes, like JAAS, but you can also use LDAP or active directory (MS's crappy version of LDAP).

      Veritas is also something that an ORM is not aware of (nor should it be), so it works well with it.

  15. Re:A fruity lament to Java. by Phouk · · Score: 1

    [...] 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.
  16. Re:A fruity lament to Java. by Roman_(ajvvs) · · Score: 1
    My point being perception. I get the impression everything development-wise in Java is looking at J2EE. Yes, it's not in the J2SE. But I can't recall the last time I saw J2SE mentioned in any development context. That doesn't mean it hasn't been mentioned, just that it's my impression.

    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.
  17. Re:A lament to clue by Anonymous Coward · · Score: 0
    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.
    STL was rolled into C++ as part of the standard library about 6 years ago and is well supported on just about every major platform. I have existing C++ libraries that run on multiple platforms to talk to the database, and to parse XML.
  18. Free Hint :) by warrax_666 · · Score: 1
    How a programming language bends to someones will is beyond me sorry


    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.
  19. Re:A fruity lament to Java. by Anonymous Coward · · Score: 0

    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?