Announcement Announcement Module
No announcement yet.
Spring nested architecture Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring nested architecture

    Hi all,
    I am designing an ERP-Like system based on SpringFramework 2.0, and I have not seen equivalent spring architecture samples out there...

    Here is the server components Design/requirements :
    1. main server application which use spring IOC framework to load all the shared components : Hibernate, tomcat embedded, jotm...
    1.1. Using a spring GlobalAppContext (Enterprise Level)
    1.2. loading startup/config data from files (classpath or Ext. filesystem )
    1.3. using an embedded central Database (HSQL, Derby, ... )
    2. Define many Web applications controled by the embedded tomcat
    2.1. webapp have its root directory and initialise from files as in 1.2.
    2.2. webapp use/access complementary/extension database (hibernate)
    2.2. webapp use the shared hibernate, spring, jotm components
    2.3. webapp use a spring WebAppContext connected to GlobalAppContext
    3. Define many Business applications (non-Web applications)
    3.1. BA use RMI (command object) or SOAP (XML) as interface
    3.2. others BA, webapps, GUI clients, are the main usual clients of BA
    3.3. BA use a spring BusinessAppContext related to a parent AppContext
    3.4. the root AppContext here is the GlobalAppContext
    3.4. BA also need Hibernate and JOTM to acces the databases

    Do this make sense with springFramework 2.0 and Hibernate 3.1 ?

    If yes how do you :
    1. configure spring in the main application to inject embedded tomcat
    1.1. Howto define the GlobalAppContext ?
    1.2. Howto WebAppContext and relate it to parent GloabalAppContext
    1.3. Howto BusinessAppContext and relate it to a parent AppContext
    2. Define and use Hibernate sessions at each level (optimal/workable)
    3. Define transactions accross the levels or at a specific level

    I suppose this can be explained by integrating the hibernate expert viewpoints with the spring architech viewpoints.

    Please... The solution must take Hibernate constrains in consideration as it is a required component. But JOTM can be replaced by any other transaction management solution.

    Thanks for any help as this is very urgent and I don't really know how to begin. Can the actual spring Framework 1.2.x version do the same job ?


  • #2
    Maybe this need a reformulation ?

    As I see that none have give a suggestion to my post, I suppose it is not well formulate and maybe too bad for at least a "retry comment ... "

    So I decide to change the way I am asking help and will try to ask questions one after one ... (I am not english speaking guy ... so be indulgent).

    My first quest :
    Define a Spring server application composed of independent application sub-systems (ASS) having this characteristics:
    - access by http(s) , Burlap, Hessian, WSDL, RMI remote services
    - A main application define a Fašade (Interface) and access to ASS
    - My tech choices are tomcat embedded, SprinFramework 2.0, JDK1.5 , annotations, Hibernate3 and JOTM.

    Any simple hint and comment or reference to equivalent samples architecture will be appreciated. Note that EJB is not my orientation and I want it to run without EJB, or in J2ee -tomcat compatible conatainer

    Thanks for your help !


    • #3
      Originally posted by GeneralCB
      Any simple hint and comment or reference to equivalent samples architecture will be appreciated.
      Yeah; use a different acronym: "application sub-systems (ASS)"

      What you are suggesting sounds feasible I suppose.

      You are basically talking about having a service wrapped by different layers; web tier; RMI etc.? Is that right?

      Not sure about examples; but a few considerations:

      - application transactions will need to be clearly demarcated
      - your object graphs must be able to be disconnected and serializable (RMI)

      Basically your service will have to work in the lowest common level of discomfort.

      You will also need to make your object model completely implementation/layer agnositic. This is only good practice, but for most web applications isn't an issue as the Controller does a lot of the work. In your situation you will need to create interfaces to represent the data/context required by your service and then create the appropriate adapter. SWF has a very nice abstraction architecture which you might want to look at.

      No one said this was going to be easy right I will be interested on how this continues....


      • #4
        Thanks for your reply...

        Thanks a lot for your reply yatesco...

        This give me more confident for the next step. I will keep inform in my progression.

        I have choose to use JDK1.5+ with springframework 2.0. But I know that the team don't want to let most JDK1.4 and JDK1.3 back. I want to use generic DAO (like in caveatemptor sample) and at the same time benefit from the spring DataAccesException architecture principles.

        Scottr have sugestted that this is possible by using AOP ... (see Hibernate hostile thread).

        Can someone help us for that ? I think many spring users are also whiling to exploit generic technics to reduce the number of implementation and repeated classes.