Announcement Announcement Module
No announcement yet.
[Architect guide] Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Architect guide]


    I want to choose the best tools/frameworf for my next projet (CMS like for tourism).

    # Question 1
    I want to use Spring Roo but it is a so 'complex' tool that I can't uderstand how all the 'sub-systems' layers are superposed:
    - soldr
    - gwt / gae...
    - dojo
    - persistance
    - etc etc...

    I would like an image (or visual diagram...) that show how each component interact between them...because, Spring Roo (logically) will create the architecture design of my future project (and it should be interesting to understand how my architecture looks like ).

    # Question 2
    I also would know, if I have 'all the necesary' to do my project with Spring Roo ?
    A FAQ that I have not even read the answer is about the backend...Do I need a 'backend' when using Spring Roo (or Roo will also generate my backend) ?

    Thanks a lot,

  • #2
    Here it is you ag and more...



    • #3
      Sprinf Roo is not a CMS like, but it can be use to make a CMS like in Java
      You don't have backend, just follow the getting start, it's easy and understanding :o


      • #4

        ok, so I will be able to build my Frontend and my Backend for the CMS thanks to ROO...

        Great, I would like to ask another CMS will be used as a SaaS (thanks to GAE), but I am answering if I really need a 'repository content' (JCR)...such as Jackrabbit...

        Does Roo have any feature that will allow me to have this kind of funcionality (to have versionning, to let people working together on the same document...)...



        • #5
          Why should you build a CMS from Scratch?? Mi recommendation is to customize Alfresco.


          • #6

            yes I want to do it from scratch, because, I want to do a big project (long term) and ideas I have are :

            - save monney with GAE (google app engine) : The hosting is based on SaaS services : such as : PAY PER USE...and if I grow they will give me more ressources...SO GAE is a priority...I do not know if Alfresco runs on GAE ?

            - I think for a long term project, and if Alfresco is given up (no more community), I will be dependant of this plateform that will not evoluate anymore.

            - Is Alfresco totally free ?...It is a paying software I think...and I have no monney so I need to save as much as possible (implementing from scratch).

            - I want to be totally 'made in google' tools (Spring Roo appears in GWT tutorials), because I think I can trust in Google technologies for the is my logic...

            I am not 'SO' experiemented, any suggestion will be sincerly apreciated (before I really take the wrong way)..

            Thanks you,


            • #7

     is a good alternative

              Alfresco isn't totally free, but you time neither

              Spring ROO is IMHO a goog alternative. Unless you will build an application based on a robust architecture.

              Good luck!


              • #8
                I dont understand your question

                Do you want to understand the architecture of ROO or Architecture of the code emitted.

                You can come up with the same result without ROO. I think its pretty well documented architechture (in Spring Manual plus books which are written for Spring and blog entries)

                If you have any particular question (why X, and What is Y for) then we may be able to help. To be honest, most of open source development happens by looking at code and that too Test code (and not from diagrams as it is taught in the M$ camp)

                Just my 2 cents


                • #9
                  Just to follow up, what do you call a back end? is it database, ORM/persistence layer, we-app server??

                  Roo is primarily designed to help emit web applications with database back ends using ORM-SQL/NoSQL technologies. Since it is not only a complete end to end solution, you can mix and match other Java technologies (so you could use the database and ORM to integrate to Eclipse platform for example, You could just build static pages if you wished using spring's restful controllers)

                  You have to (un) fortunately know about Spring and its sister projects to get ahead of just what the basics.


                  • #10
                    Hi Hatim,

                    Before having a long speach, I understand now, that I can not find this information within ROO (but you may be able to help or advice me )...because I need to do the architecture of my CMS by myself.

                    For example, see at this page (I was finding any image showing some kind of architecture of a 'complex' application based on ROO) :

                    Now the speach is :

                    "I have understood that ROO is a very productive TOOL for people who have experience un JAVA...(cool)"

                    But there is SO MANY INTERESTING tools (that I need but have no experience with it !) integrated inside ROO such as :

                    - OSGi
                    - Solr search
                    - Persistence
                    - Google App Engine
                    - ...

                    ... that I would like to see a layer's OVERVIEW of the architecture of my application built on these tools...

                    Indeed, it is not clear in my head, I do not know how the search, the repositories and all these components needs to be superposed...

                    There is so much, that I do not know from where I can begin my understanding ? I was thinking by firstly working with ROO tutorials, hoping that my understanding of the 'technologies' will be better...

                    For the backend, I also have understood that I will be able to create my own backend with ROO...

                    To conclude, I advice you, that I am LONELY to develop a CMS-like (enought modern functionalities usefull for Web 2.0 applications...) for my future tourism project...
                    I want to develop it instead of using existing CMS LIKE because I totally want to control the functionalities, the code, and the others applications (3rd parties)...
                    I do not want to be lost, or to be unable to modify all the code of the existing CMS (if I use one)...

                    But maybe I am not doing the good choice (but I think there is a better return on investment on the long term to develop mine) ?



                    • #11
                      The point that you want to control every thing is an illusion (in my humble opinion) you are always dependent on the tools you are using (otherwise you can write your own, but thats not the point)

                      Your real motivation(if i understand correctly) is to fulfill the requirements good enough for you to be satisfied as pass (and not do the absolute best that you could have done)

                      If you get into the whole notion of how every thing works exactly you wont be able to move forward. Like I know that there are aspects generated for Roo, how they are done, how aspects really work (with all the reflection stuff) I have very little idea, but hey, it works. I don't have to create getters

                      You can start with some of the most basic things first like the core spring and hibernate architecture. (Even there you just get to use things, its very superficial knowledge to know that this xml config does this and this annotation does that, but its still good to go). OSGi is a beast in it's self.

                      Later you can focus on your particular technologies. I would imagine it would be a good idea to learn the integrating technologies in isolation (like eh-cache, gae etc) and then lean how it works in roo. Otherwise you will have too many variables on your plate. Just a thought.


                      • #12
                        ok, tks for you help...

                        I was thinking to start here :

                        it is GAE + GWT + STS all in one...

                        But as you said, SPRING CORE could be a good pre-requisite to understand the basics components...but the matter is that SPRING is based on the MVC and I would prefer to use the MVP as recommended by google... I have the feeling that I should investigate directly on how MVP + ROO can be associated to work on APP ENGINE...

                        Of course, I will check the other knowledges about SPRING CORE if needed...

                        An interesting question, is, how many weeks should I need to be familiarized (understanding and practizing) with SPRING ROO (which imply to understand all the other stuff) ?

                        I would like to say that in one month (12h per day, 7/7), I could be able to understand and to use the necessary for my application : (you can suppose I do not know these technologies)
                        - Maven - OSGi - Security - Hibernate
                        - Solr - GAE - GWT jajaja...yeah, you can say all SPRING ROO components...

                        Is is realistic ? One month to understand the necessary of these component in order to use them to build my application ? It is an important question that will help me to manage my time...(I will open a company in the same I am not just doing the computer science part...)



                        • #13
                          by increasing the font size you are inviting the same reaction which in irc forums caps does (it's generally considered rude, but hey I have done the same when I was beginning).

                          I don't know why you want to ration time, generally it does not work for development. You have to solve problems. Just find the right problems to solve and get as much help as possible so you don't have to solve all of them (like spring roo gives you a very good maven based spring mvc project to start with in one instance, its a long way if you want to do it manually)

                          Other thing is, spring-core and spring-mvc are different things. You really need to read the spring manual (at least first few chapters).

                          Last but not least. If you are starting a company and investing money then first consider your business model. You can get help for what things you don't know or dont want to know (if you have enough). If you don't then first invest in your own learning (do the all the right things...not all things rightly)

                          For starters if you are really inerested then get a copy of KenRimple's Roo in Action MEAP. If you want to go real core, then read Spring in Action. If you want just recipies, try Josh Long's Spring Recipies book. Last but not least, study spring documentation and the Bible (aka Spring Manual)


                          • #14
                            ok Hatim,

                            Sorry for the big 'one'.
                            I will studie the most I can and will look for the book you cited.


                            • #15

                              But, always, when I am asking about Spring Roo on other forum, it seems that it is not a certain choice...I think that it is because ROO is not enought already mature. Moreover, a lot of people have experimented it in its first version and have encountered some bugs...But I think that now, major bugs have been covered because Google present it in his GWT/STS tutorial.

                              My question is : Does ROO have a certain future ? Is there other very good feedback elsewhere that on SPRING ROO forum ? Will this tool have more functionalities in the future ?

                              Does DJANGO plateform is a very good alternative, as complete as ROO functionalities (mainly for the GAE) ?