Announcement Announcement Module
Collapse
No announcement yet.
Domain Driven Design with Spring Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Domain Driven Design with Spring

    Hello!

    Currently I think about applying Domain Driven Design for an application that I have to write for my thesis.

    But now I recognize that it is not the standard way spring is used. Browsing through the web I found some resources that gave me some ideas about the problems and also some suggestions for solutions (*).

    Can anyone give me more resources, if possible a sample application build with spring in DDD or a book that covers this topic?

    Thank you for your help,

    Jörg


    (*) Resources found:

    For anyone interested, here a list of resources to this topic I found on the web:

    Domain Driven Design with AOP and DI by Ramnivas Laddad at bejug:
    http://www.bejug.org/confluenceBeJUG...ith+AOP+and+DI

    Domain Driven Design: Control Domain Object Lifetimes using Spring Custom Scoped Beans by Debasish Ghosh:
    http://debasishg.blogspot.com/2006/1...ol-domain.html

    Domain Driven Design : Service Injection Strategies in Spring and their Pitfalls - Part 1 by Debasish Ghosh
    http://debasishg.blogspot.com/2006/1...injection.html

    Domain Driven Design: Use ORM backed Repository for Transparent Data Access Debasish Ghosh
    http://debasishg.blogspot.com/2006/1...injection.html

    and a spring module I did not yet look at but seems to give support for DDD in Spring, SpringXT:
    http://springxt.sourceforge.net/index.php/Main_Page

  • #2
    Have you tried searching on these forums for DDD. It's been brought up a few times so there might be some good stuff here.
    Last edited by karldmoore; Aug 29th, 2007, 01:14 PM.

    Comment


    • #3
      One of the best books on Domain Driven Design is 'Domain-Driven Design: Tackling Complexity in the Heart of Software' by Eric Evans.
      Another (a .NET oriented one) is: 'Applying Domain-Driven Design and Patterns: With Examples in C# and .NET' written by Jimmy Nilsson.
      As Karldmoore already wrote: check out the Spring forums, there are some pretty good discussions out there.

      Comment


      • #4
        DDD with Spring: ROO (Real Object Oriented) Framework

        Hi There,

        Ben Alex and Alan Stewart have been touring with a practical approach to DDD with Spring's latest new features, they called it the ROO (Real Object Oriented) framework.

        They haven't published any code I could find, however. The most detailed report on it is Matt Raible's writeup from TheSpringExperience 2006. I'll be joining SpringOne2007 shortly, I hope to get the sources there.

        Matt Raible's writeup:
        http://raibledesigns.com/rd/entry/ts...to_real_object

        Ben Alex' blog:
        http://blog.interface21.com/main/200...-in-spring-20/

        Comment


        • #5
          I'm quite interested in this presentation myself, hoping to pop along and see what the deal is.
          Last edited by karldmoore; Aug 29th, 2007, 01:14 PM.

          Comment


          • #6
            Fornax Sculptor

            Another modern aproach to DDD using Spring, Hibernate, EJB3 is Fornax Sculptor. I haven't tried it yet, so your mileage may vary.

            http://fornax-platform.org/cp/displa...ptor+%28CSC%29
            From the site docs:
            Sculptor is a simple and powerful code generation platform, which provides a quick start to Model Driven Software Development (MDSD). When using Sculptor you can focus on the business domain, instead of technical details. You can use the concepts from Domain-Driven Design (DDD) in the textual Domain Specific Language (DSL). E.g. Service, Module, Entity, Value Object, Repository...

            From the textual DSL Sculptor generates high quality Java code and configuration using openArchitectureWare (oAW). The generated code is based on well-known frameworks, such as Spring, Hibernate and Java EE.

            Sculptor is not an one-size-fits-all product. Even though it is a good start for many systems, sooner or later customization is always needed. Sculptor is designed and documented with this in mind. The generated result can easily be modified to meet your needs.

            Comment


            • #7
              ^ i have been reading the docs here and I like this very much!! it looks like a great piece of work. i am downloading now we will see how this goes.

              Comment


              • #8
                Originally posted by Jockel View Post
                and a spring module I did not yet look at but seems to give support for DDD in Spring, SpringXT: http://springxt.sourceforge.net/index.php/Main_Page
                That's an official part of Spring Modules, so here is the correct link: https://springmodules.dev.java.net/d...tml_single/#xt
                However, Spring Modules XT is not about code generation and alike, so Sculptor (or ROO) and XT are not mutually exclusive and you can use them together.

                Cheers,

                Sergio B.

                Comment


                • #9
                  Originally posted by greyfairer View Post
                  Another modern aproach to DDD using Spring, Hibernate, EJB3 is Fornax Sculptor. I haven't tried it yet, so your mileage may vary.
                  I'd not heard of this, but I noticed an article on TSS about it. Seems quite interesting well worth checking out.
                  http://www.theserverside.com/tt/arti...tyWithSculptor
                  Last edited by karldmoore; Aug 29th, 2007, 01:14 PM.

                  Comment


                  • #10
                    Ben Alex and Alan Stewart have been touring with a practical approach to DDD with Spring's latest new features, they called it the ROO (Real Object Oriented) framework.

                    They haven't published any code I could find, however. The most detailed report on it is Matt Raible's writeup from TheSpringExperience 2006. I'll be joining SpringOne2007 shortly, I hope to get the sources there.
                    Hey, one session with me at a recent Sydney Spring User Group doesn't quite constitute a tour

                    To give credit where credit is due, ROO is Ben's baby - I've helped with some patches to the code and to the Dozer bean mapping utility that ROO uses. Importantly I have used ROO on two projects for Woolworths now that are in production in which ROO saved a great deal of development time and for the latter project, more than 300 JUnit integration tests were auto-generated testing all the basic CRUD operations for our rich-domain objects.

                    I can't wait for it to go open source.

                    Ben is offering the code now to anyone who will participate in his doctrate's research project. Email him

                    Cheers
                    Alan

                    Comment


                    • #11
                      Originally posted by aks View Post
                      Hey, one session with me at a recent Sydney Spring User Group doesn't quite constitute a tour

                      To give credit where credit is due, ROO is Ben's baby - I've helped with some patches to the code and to the Dozer bean mapping utility that ROO uses. Importantly I have used ROO on two projects for Woolworths now that are in production in which ROO saved a great deal of development time and for the latter project, more than 300 JUnit integration tests were auto-generated testing all the basic CRUD operations for our rich-domain objects.

                      I can't wait for it to go open source.

                      Ben is offering the code now to anyone who will participate in his doctrate's research project. Email him
                      Last week he was in Canberra (http://www.springframework.org/node/470),
                      This week he's here in Antwerp, Belgium (http://www.springone.com/display/Spr...+Oriented+Apps)
                      And in two weeks he's going to Sweden with it (http://www.springframework.org/node/478). That's quite a tour to me.

                      Anyway, I'll ask him for the sources.

                      Comment


                      • #12
                        I'll be there tommorow on his session about ROO. So I hope to get some insights. What also quite excited me is the fact that for Spring 2.1 (m3) they have now LoadTimeWeaving support for AspectJ. Which opens up quite some opportunities and also opens up Spring even more for DDD I think.

                        Comment


                        • #13
                          And in two weeks he's going to Sweden with it (http://www.springframework.org/node/478). That's quite a tour to me.
                          Sorry I meant I've only appeared once with Ben.

                          I'm hoping other people can start using ROO soon in varying projects to get some feedback about it's capability, features and also to suggest improvements.
                          Alan

                          Comment


                          • #14
                            I just attended the session with Ben afterwards I asked some questions. Basicly they aren't going to release it (yet) because he still finds it is in inmature project/tool. He is working hard on a version which is ready/stable/mature enough for public release. He expects it to release around the SpringExperience at the end of this year.

                            Comment


                            • #15
                              It does seem like a really exciting project! I'd be quite interested to get my hands on it, but as Marten said it might be a while!
                              Last edited by karldmoore; Aug 29th, 2007, 01:14 PM.

                              Comment

                              Working...
                              X