Announcement Announcement Module
Collapse
No announcement yet.
Use Hibernate Entities in the web layer? Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by debasishg View Post
    Is there any pointer / documentation available on ROO ? I would like to see more of this. As a first impression, I think, irrespective of whether DTOs are being generated or hand-written, we have more classes. And most importantly dumb data holders as DTOs. But I really should not be commenting without having a look at ROO.
    I'm not sure there's anything around at the minute, it could take a while. The BeJUG lead did say that they wanted to get the presentations online over the coming weeks and months. I guess we'll just have to keep an eye out for more information.
    http://www.bejug.org/confluenceBeJUG...y/PARLEYS/Home
    Last edited by karldmoore; Aug 29th, 2007, 11:10 AM.

    Comment


    • #17
      Originally posted by debasishg View Post
      Karl -

      Is there any pointer / documentation available on ROO ? I would like to see more of this. As a first impression, I think, irrespective of whether DTOs are being generated or hand-written, we have more classes. And most importantly dumb data holders as DTOs. But I really should not be commenting without having a look at ROO.

      Cheers.
      - Debasish
      I went to Ben Alex's ROO introduction presentation in Sydney a few months ago and was blown away by this new framework.

      The framework does not only generate the DTOs but also modify them when the domain model is changed.

      Dozer http://dozer.sourceforge.net is used in ROO to move data between DTOs and domain objects.

      ROO has been used in Woolworths Australia with great success.

      I am looking forward to the public release of ROO.

      Comment


      • #18
        Matt Raible's blog entry on Real Object Oriented (ROO)

        Originally posted by debasishg View Post
        Karl -

        Is there any pointer / documentation available on ROO ? I would like to see more of this. As a first impression, I think, irrespective of whether DTOs are being generated or hand-written, we have more classes. And most importantly dumb data holders as DTOs. But I really should not be commenting without having a look at ROO.

        Cheers.
        - Debasish
        Hi Debasish, I have found this blog entry by Matt Raible about ROO
        [TSE] Hop into Real Object Oriented (ROO) with Ben Alex

        Noticeably, ROO is compared with traditional approach and in the "form backing objects" category, ROO uses DTO while traditional way uses DO (domain object)...

        Cheers,
        alex

        Comment


        • #19
          I just noticed that both Debasish & Sergio had commented on Matt's blog on ROO. Nevertheless, I hope the above link is useful for other users to get to know ROO.

          Comment


          • #20
            Has anyone else used any neat frameworks like this that I could take a look at? We are looking to build an internal system at the minute and I'd really like to find a better starting point. Looked at Appfuse already, anymore?
            Last edited by karldmoore; Aug 29th, 2007, 11:09 AM.

            Comment


            • #21
              You might try and contact Ben Alex and request for usage of the ROO framework (maybe under some agreement?).

              Comment


              • #22
                Originally posted by ozgwei View Post
                ...However, when using Hibernate, domain objects can be persisted transparently without the domain object being persisted beware of the fact that it's being persisted. Thus, a corrupted domain object can easily be persisted to database....
                Just small technical remark - with Hibernate you can alway use interceptors to call validate() before save and to avoid saving of corrupted objects (see chapter 12.1 in the Hibernate reference manual).

                Regards,
                Oleksandr

                Comment


                • #23
                  Originally posted by al0 View Post
                  Just small technical remark - with Hibernate you can alway use interceptors to call validate() before save and to avoid saving of corrupted objects (see chapter 12.1 in the Hibernate reference manual).

                  Regards,
                  Oleksandr
                  Thanks, Oleksandr. That's a neat solution if the domain object is ever allowed to be in an invalid state.

                  If you have many domain classes that must be validated before saving, you'll probably have to extract a Validatable interface...

                  And keep in mind that interceptors can only throw RuntimeException while validation errors may be business exceptions, which are usually modelled as checked exceptions.

                  Comment


                  • #24
                    Originally posted by ozgwei View Post
                    Thanks, Oleksandr. That's a neat solution if the domain object is ever allowed to be in an invalid state.

                    If you have many domain classes that must be validated before saving, you'll probably have to extract a Validatable interface...

                    And keep in mind that interceptors can only throw RuntimeException while validation errors may be business exceptions, which are usually modelled as checked exceptions.
                    There is much worse problem there - you can not predict at which moment in time object will be saved and so where in your code you have to deal with this exception. Very likely, very far away from point where you are able to treattreat business exception meaningfully.

                    But, anyhow, kind of errors that we discuss now (attempt to save non-complete object) is rather programmatic error and not business error and so it is nothing wrong in the unchecked exception.
                    Note, that validate() itself may throw checked exception (as it is likely to be used outside of interceptor as well) and
                    interceptor converts it to the unchecked one (consider the interceptor as "last ditch" )

                    Regards,
                    Oleksandr
                    Last edited by al0; Jun 27th, 2007, 08:42 AM.

                    Comment


                    • #25
                      Originally posted by mdeinum View Post
                      You might try and contact Ben Alex and request for usage of the ROO framework (maybe under some agreement?).
                      I guess it's worth a try but I don't fancy my chances, it seemed there's an understandable reluctance to release anything anytime soon when it was discussed.
                      Last edited by karldmoore; Aug 29th, 2007, 11:09 AM.

                      Comment


                      • #26
                        Well at least it is worth a try. Maybe register for the ALPHA/BETA test group .

                        Comment


                        • #27
                          Originally posted by mdeinum View Post
                          Well at least it is worth a try. Maybe register for the ALPHA/BETA test group .
                          Hehe, not a bad idea .
                          Last edited by karldmoore; Aug 29th, 2007, 11:09 AM.

                          Comment


                          • #28
                            Originally posted by debasishg View Post
                            Is there any pointer / documentation available on ROO ? I would like to see more of this. As a first impression, I think, irrespective of whether DTOs are being generated or hand-written, we have more classes. And most importantly dumb data holders as DTOs. But I really should not be commenting without having a look at ROO.
                            Looks like the slides are available (you do have to register though).
                            http://www.springone.com/download/at...5/22_03_02.pdf
                            Last edited by karldmoore; Aug 29th, 2007, 11:09 AM.

                            Comment


                            • #29
                              Thanks Karl for the link ..

                              Comment


                              • #30
                                Originally posted by karldmoore View Post
                                Looks like the slides are available (you do have to register though).
                                http://www.springone.com/download/at...5/22_03_02.pdf
                                Had a quick glance at the presentation. At one place he mentions DTOs are great for remoting. Couldn't agree more . But I am still not convinced why DTOs are being used for same JVM client applications. Every bit of separation of concerns, that come up in designing a domain rich application with a layered architecture, can be addressed, using the combination of domain objects (DO) and aspects. Why introduce boilerplates with no behavior ?

                                My $0.02.

                                Cheers.
                                - Debasish

                                Comment

                                Working...
                                X