Robin Roos' Java Data Objects Book Free PDF Available

Discussions

News: Robin Roos' Java Data Objects Book Free PDF Available

  1. The first book to hit the market on JDO, "Java Data Objects", by Robin Roos is available for free download on the Libelis website. The book covers all aspects of JDO, including a chapter on J2EE integration and a survey of all the existing JDO vendors.

    You can download the PDF here:
    http://www.libelis.com/inner-index.jsp?next=products/lido/doc/index.jsp#038;NID=54.

    However, the download requires that you first register and then login at:
    http://www.libelis.com/.

    Threaded Messages (54)

  2. You'r also supposed to be able to download it from the original website ()
    http://www.ogilviepartners.com/JdoBook.html..

    Actually, it did not worked for me so I had to use www.libelis.com

    :-))
  3. works on me from the original site... you just need to join the yahoo group ...
  4. Yes, it does work from my website (www.OgilviePartners.com), just follow the link titled "The JDO Book".

    The download is actually hosted through Yahoo!Groups and demand was so high that the maximum number of daily downloads was reached on each of the first three days of its availability. However demand is now running at around 300 downloads per day which is within the limit, so you should be ok.

    I look forward to comments about the book in due course. In the mean time if you have trouble getting your copy then drop me a note - I've been known to send copies by email when requested....

    Kind regards, Robin.

    Robin@OgilviePartners.com
  5. Does the book contain something on Castor JDO?
  6. Since Sun drop the JDO support from forte tools and there is no plan to integrate JDO into J2EE spec, what is the future (fate) of JDO? Does IBM, BEA has any plan to integrate JDO into their App server? Or JDO is another piece technology like the SQLJ!!!

    Thanks,
    Monic


  7. Castor JDO is not an implementation of the JDO API, it's just another persistence implementation that happens to have the letters J, D and O in its name.

    Sun dropped support from Forte for a technology called Transparent Persistence. This was a forerunner of JDO - some of the people involved in the initial Forte work went on to be influential in the JDO specification. However Forte's Transparent Persistence never was a JDO-compliant technology.

    Sun dropped its support rather than engineer their own competing implementation of the JDO spec, particularly since at the time there were 9 commercial JDO implementations already in advanced stages of development.

    There are now 11 commercial implementations, with at least two "interesting" open source projects with plans to implement JDO at some point.

    JDO is not currently part of J2EE. Although it integrates very effectively with J2EE-servers - I've done this with Session, Entity and Message beans, as well as MBeans (JMX) - it is also very usable outside a J2EE container. It is an excelent persistence mechanism for 2-tier architectures (e.g. Swing&JDO Client to Relational or Object database), and also those web architectures in which a J2EE App Server is not present.

    Personally I expect JDO will become a part of J2EE in due course, but you should not presume that JDO has merit only for EJB-based applications.

    Kind regards, Robin.
  8. Robin,

    I could not find the book examples download on the Ogilvie Partners web site. Do you know the exact URL for it?

    Thank you,

    Boris
  9. Acctually , we do not need to register on LIBELIS site.
    You can just visit this URL to get it .
    ^o^
    http://www.libelis.com/products/lido/doc/JavaDataObjects-RobinRoos-1.0.pdf

    Sorry , LIBELIS !
  10. Thanks Jian !

    We have fixed this issue, so now you must register in order to download the free non-printable PDF.

    Best Regards, Eric.
  11. I don't know what you've done to it, but when I click on the "Download a non-printable PDF." link I just get an endless stream of new IE windows opening up, until my PC crashes...
  12. IE and PC/Windows crashing? No way.
  13. The website is close to unusable
    Terrible UI
  14. The website is close to unusable


    Which one, Derek? The PDF is available from www.Solarmetric.com and www.LIBeLIS.com as well as the Yahoo!Group referenced by www.OgilviePartners.com, whilst www.JDOcentral.com has also featured in this thread.

    I am flattered by the extent of demand for the PDF Edition. I have had discussions with two or three other JDO vendors whose websites will host the PDF in a day or two, in order to help satisfy this demand.

    Kind regards, Robin.
  15. Dear Robin,

    I have registered with libelis. But after two days waiting, I didn't get the confirmation email thus could not login to the site for download. Could you please send me my your book and sample code by email? My email is renhui.gong@i-u.de

    Thank you very much.

    Ren Hui
  16. Renhui

    You didn't receive any e-mail confirmation because the e-mail address you supplied was incorrect.

    We've manually confirmed your registration so you can download the PDF from our web site.

    Best Regards, Eric.
  17. Thanks Eric! I like the TheServerSide community very much, I learnt a lot about J2EE from this site.
  18. Libelis web site message ...[ Go to top ]

    ". . . with IE 6, you may need to disable the HTTP 1.1 protocol in order to be able to log in our system."

    Is this a joke of some sort?
  19. Libelis web site message ...[ Go to top ]

    Yes this is a joke... well documented in the Microsoft site. It was mainly true for first IE6 versions.

    Best Regards, Eric.
  20. Libelis web site message ...[ Go to top ]

    Libelis web site itself looks like a joke. This is what you get when trying to login:
         
     Monday, 16 September 2002 1:53:15 PM
     
    The following error occurred. If you believe it to be a bug, please report it to LIBeLIS Support at : Support Technique
      
    org.libelis.jdbc.ApplicationException
    at org.libelis.internet.UserJDBC.checkLogin(UserJDBC.java:647)
    ...
    interbase.interclient.CommunicationException: [interclient] Communication error: An IO exception occurred while trying to send data to server www.libelis.com.
    The message of the IOException is "Connection reset by peer: socket write error".
    See API reference for exception
    ...
  21. Libelis web site message ...[ Go to top ]

    I get similar message, when I try to register in Login Zone on Libelis. Is Libelis web site supported at all ?
    The message dumped below (with copyright notice from Libelis; Somebody mentioned about Jokes....)

    The following error occurred. If you believe it to be a bug, please report it to LIBeLIS Support at : Support Technique
      
    javax.servlet.jsp.JspTagException: interbase.interclient.CommunicationException: [interclient] Communication error: An IO exception occurred while trying to send data to server www.libelis.com.
    The message of the IOException is "Connection reset by peer: socket write error".
    See API reference for exception interbase.interclient.CommunicationException
    at org.apache.taglibs.dbtags.resultset.ResultSetTag.doStartTag(ResultSetTag.java:222)
    at org.apache.jsp.Profile$jsp._jspService(Profile$jsp.java:550)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:683)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:497)
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:819)
    at org.apache.jsp.inner_0002dindex$jsp._jspService(inner_0002dindex$jsp.java:123)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at compressionFilters.CompressionFilter.doFilter(CompressionFilter.java:208)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:429)
    at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:495)
    at java.lang.Thread.run(Thread.java:484)

     
     
    All text, graphics © 2001 by LIBeLIS
  22. Libelis web site message ...[ Go to top ]

    Hi all

    We apologize for any inconvenience you may have encountered during Robin's book downloads from www.libelis.com.

    The fact is since this book is available we can observe in 1 DAY the download traffic we previously had in 3/4 WEEKS.
    We simply didn't imagine the first JDO book was so expected by the community, in the meantime our servers are completely overloaded. We are working to fix the issues as soon as possible.

    We must admit we had few problems (we should find some spare time to migrate the JDBC code to LiDO :-) but more than 1000 users already successfully downloaded the book from our site and this is a great news for JDO.
     
    Thanks for your patience and your extremely fast-growing interest in JDO.
     
    Best Regards,
    ______________________
    Eric Samson
    LIBeLIS, JDO solutions
  23. SolarMetric Kodo JDO[ Go to top ]

    We recently increased our bandwidth to accommodate everyone who wants to download Robin's book.

    http://www.solarmetric.com/Support/Support_Resources/availablebooks.php

    Best Regards,

    Richard
    --------------------------------------
    Richard McKern
    Director, Sales
    SolarMetric Inc.
    rmckern at solarmetric dot com
    202.595.2064 x1221 office
    202.669.6715 mobile
    www.solarmetric.com
    --------------------------------------
  24. Libelis web site message ...[ Go to top ]

    I have a few servlets in prototype now, and after upgrading IE, I have started seeing these "connection reset by peer" errors in my log.

    In my case, the exception doesn't bubble up or hinder the page from being delivered, but it's annoying and disconcerting.

    Is IE not closing all its download connections very nicely now, I wonder. I wonder if a newer Tomcat than mine would handle the situation without an exception back to the servlet.

    Chris
  25. Libelis web site message ...[ Go to top ]

    Eric ... can you give some pointers to the documentation
    on the microsoft site that you're refering to ? Which issue is it that is causing you to warn users on your site to disable HTTP 1.1 ?

    Thanks,
    Lynn
  26. U R welcome !

    I have registered on your site before I try use that URL
    to get PDF file .
    But I meet error after I registered .
    That's the reason I looked for the direct URL .
  27. Given the congestion at the original download site you might like to try:

        http://www.solarmetric.com
        http://www.libelis.com
        http://www.versant.com (in a day or two)

    You do have to register before downloading whichever site you use.
  28. Boris, the source code for the book will be made available quite soon. I will post a message on TheJavaDataObjectsBook when the file is available. It will be a relatively small JAR (compared to the PDF), so everyone should be able to access it on the day of its release.
  29. Open source JDO technology[ Go to top ]

    Hi Robin,

    I've downloaded your book and am reading it now. I'd like to suggest you check out the following open-source technology I've released on SourceForge: http://jstomp.sourceforge.net. It's a bytecode enhancer that makes using JDO completely transparent (which is the goal of the specification, no?).

    I'd be interested to hear your thoughts on technology like this. You'll find my email address on that page.

    Sincerely,
    Eric Lindauer
    Software Engineer and JDO fan

    PS This "Stomp" technology is currently setup for a particular JDO vendor (Kodo) but could easily be made to use any JDO implementation.
  30. Open source JDO technology[ Go to top ]

    Eric

    I just had a brief look at your sourceforge page, and I'm not sure to completely understand what Stomp adds to JDO. I'll investigate more on this soon.

    I'm sure you should open a thread on this initiative on JDOCentral.

    Best Regards, Eric.
  31. Hello.

    In some cases you write "Here is the source code for the XXX class" and in others you write "Here is the source code for the XXX object." There are other appearance of the word "object" that don't seem correct given the context of the particular sentence.

    BTW, the book is terrific! I was a newcomer to JDO and read start to finish in one sitting and all my questions were resolved.
  32. Well noticed, Robert. The Class vs. Object terminology will certainly be addressed in the next edition. Let me know of any other inconsistencies you notice - use Robin at OgilviePartners dot com if you want to cite page/paragraph numbers that might bore other readers of this list.

    This is my first book, and the first time I have released a PDF on such a scale. I will endeavour to make the process smoother next time.

    The source code JAR will be announced shortly.
  33. I just tried to register at the site but the new registration link is not working.
  34. Open source Object-relational mapping tools for Java:

    ObjectBridge
    http://jakarta.apache.org/ojb/

    Castor JDO
    http://www.castor.org/

    http://sql2java.sourceforge.net/

    http://jrf.sourceforge.net/

    http://jgrinder.sourceforge.net/

    http://hibernate.sourceforge.net/

    JORM
    http://www.objectweb.org/jorm/index.html

    JBoss JAWS project (JBossCMP)
    http://www.jboss.org/developers/projects/jboss/jaws.jsp

    http://objectstyle.org/cayenne/

    Jakarta Torque
    http://jakarta.apache.org/turbine/torque/

    http://www.simpleorm.org/

    http://databind.sourceforge.net/

    See also:

    JDO
    http://www.jdocentral.com/

    http://www.objectmatter.com/vbsf/docs/maptool/ormapping.html

    http://www.ambysoft.com/mappingObjects.html

    http://www.ambysoft.com/persistenceLayer.html

    http://www.theserverside.com/home/thread.jsp?thread_id=14314

    Java DAO (Data Access Objects)
    http://sourceforge.net/projects/basejdao


  35. Actually the Java DAO Project has moved and is now a part of the Basic Portal Project, still on SourceForge :

    Basic Portal

    BTW, what are the two OS project with JDO compliant API that Robin is talking about ? I know of Object Bridge. What is the other one ?

    Laurent
  36. Hum, forget my last question, I've just came across the JORM project which says it provides a JDO compliant API.

    JORM

    Laurent
  37. Laurent

    ObjectBridge, JORM and XORM announces JDO compliance.
    But none of these products are already JDO compliant and none of them will allow you to really test JDO right now.

    If you want to evaluate JDO at low cost you should download the LiDO Community Edition from www.libelis.com

    Best Regards, Eric.
  38. Thanks for telling us about JORM. I'll add it to the list of Open Source projects targeting JDO that I maintain at http://www.ogilviepartners.com/OpenSource.html .
  39. There are a couple other notable Open source O/R tools.

    Cayenne - http://objectstyle.org/cayenne/
    Jaxor - http://jaxor.sourceforge.net
  40. Thanks Michael, but, having looked at the links you gave, neither of these appears to be adopting the JDO standard.
  41. Great, but ...

    I discovered JDO three months ago and I continue having a doubt. What about refreshing data and distributed cache?

    refreshing data
    I made some proofs with OBJ and this product don't refresh his data when you makes a direct insert into the database.
    Must JDO implementation consider this cuestion ?

    distributed cache
    If you works withs two virtual machines in a distributed environment, what have to occur when a JVM makes an update.

    Is the solution JMX?. I think time refreshing is a poor solution.

    Thanks

    J.

  42. JDO requires application functionality to be consistent, regardless of the cache refresh strategy employed by the particular JDO implementation.

    If you want to look at advanced refreshing strategies, chat to:

    Hemisphere Technologies (www.HemTech.co.za) makers of "JDOGenie".

    ObjectFrontier (www.ObjectFrontier.com) makers of "FrontierSuite for JDO".

    Each of these vendors has made recent announcements concerning distributed PersistenceManager implementations, and JMS-based cache refresh for distributed environments.

    Other vendors may also have equivalent technologies - see http://www.OgilviePartners.com/JdoVendors.html for a list of vendors and products.
  43. Then, if I deploy a solution in a application server with two virtual machines and jdo expects consistence on the logic, and the implementation of JDO doesn't support distributed cache, Must I invalidate the cache in every read operation to have "data consistency" ?

    Thanks

    J.
  44. Javier --

    If you make all your data reads within transaction boundaries, JDO caches will remain consistent across JVMs.

    JDO also has options for non-transactional reading for users who are less concerned about cache consistency and more concerned with performance. And, as others have mentioned, many vendors offer consistent multi-JVM caching. Kodo JDO (www.solarmetric.com), for example, offers pluggable distributed caching with ready-made solutions for UDP and JMS.

    JDO really does make working with persistent data much, much easier. I hope you give it a chance by evaluating one of the many free trial versions available from various vendors (see the vendor directory at www.jdocentral.com).
  45. Couldn't register using Mozilla 1.1 but tried IE, it worked. However, confirmation URL generates an error both on Mozilla and IE. I can't get the PDF file.

    Can somebody get permission to host it somewhere else? Or perhaps if Robin has the time to send it to me via email. :-)

    Thanks.
  46. Ren Hui & Rommel (and others)

    If you can't obtain the PDF Edition by the advertise means then send me an email and I will do my best to reply promptly with a copy of the document for you.

    My address is Robin at OgilviePartners dot com .

    Kind regards, Robin.
  47. Too Annoying and confusing to get the file. I can't understand why am I supposed to register on a certain system only to get nonprintable PDF file and how can it be 'free'.
  48. What a palaver, just to get a download!

    It took half an hour of attempting to sign up to various sites before I got anywhere. Why do you need to collect this information about people? Either it's going to be sold on to junk mail vendors or you're going to keep it secret. And if you're going to keep it secret there's no point in you having it in the first place.

    And why non-printable PDF format, too! Providing a downloadable version of the book is an excellent idea. Many of the people who like what they read will buy the book (if it's a good book), but surrounding it with all this nonsense is a timid step backwards which has certainly undone much of my goodwill.

    Check out Bruce Eckel's web site (www.mindview.net) to see how to properly make a book ("Thinking in Java" and others) freely available online and see what effect he says it has had on the quality of his books and their sales.

    Vince O'Sullivan.
  49. Hi Vince O'Sullivan,

    FYI, this pdf can be printed. Any way,
    it is not polite to ask for something that
    nobody oblige to provide you.


    AlexV.
  50. FYI, this pdf can be printed. Any way,

    > it is not polite to ask for something that
    > nobody oblige to provide you.

    I stand corrected on the printability aspect. I've got no gripe with what is being presented. It's good and I very much welcome it.

    The problem I'm highlighting is the cack-handed way in which it is being made available. I see no relevance for having a requirement to register with a commercial site before doing the download. I'm infuriated by the flaky registration process and am irritated by the fact that I cannot annotate or correct the text without using a hacked version of Acrobat (which I don't have) or printing it out (which I thought wasn't possible).

    Vince.
  51. I just downloaded the book and am started reading it :-)
  52. The book is fantastic! I'm eagerly awaiting the source code.

  53. The PDF is now available at WWW.ObjectFrontier.com. Please follow the link from our home page for your free download.

    Thanks,
    Shirish Shetty
    SShetty at ObjectFrontier dot com
    JDO Vendor: FrontierSuite for JDO
  54. Somthing wrong with the download location. Am unable to read the book / download the same. Always gives a JSP error. Would be better if theserverside.com kept a copy for download without having to go through the libelis.com website.
  55. Unfortunately TheServerSide.com only hosts downloads exclusively, and since JDO vendors are also hosting the download this was not possible.

    The PDF is available from:
        www.ObjectFrontier.com
        www.Solarmetric.com
        www.LIBeLIS.com
        www.OgilviePartners.com (via Yahoo!Groups)

    If you are unable to get the file please send me an email (Robin at OgilviePartners dot com) and I'll endeavour to reply promptly with a copy of the PDF Edition attached.

    Kind regards, Robin.