Announcement Announcement Module
No announcement yet.
Best way to design and maintain multiple small applications Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Best way to design and maintain multiple small applications


    In our company every department needs a small application to help and track them in day to day activities and generate reports. so our inhouse development team is developing projects using Spring BlazeDS integration framework
    We already have 3 small applications using same framework, Now we need to build another 3 more applications like that.

    Each application can have a maximum of 100 users.
    All applications are deployed in single server which is has decent configuration to run even big applications.
    We do not expect high load, but we would like to have a good response time and 100% availability.

    Problems faced
    If we need to change the compay slogan of the year , I need to make changes in 3 different applications
    Implementing or displaying a new corporate policy or a notice , I need to do this is 3 different place.
    Monitoring performance of each application.
    Some common things required for every application like user authentication menu/screen/user management etc had to be developed for each application, and repeated for the new ones to be devloped.
    Creating like 6 different schemas, one for each application.

    Now I think since all applications are not really big, I am thinking to consolidate all application in to one big application.
    So on login page/main page(flex screen) user can select which application he want to use login with his credenticals and load the menu related to that application. authorization and autentication we use spring security.
    The application will have common thing like company/department notice board common disclaimer and images slogan etc
    but the menus will be specific to the application selected.

    I don't want to use portal, because our developers are used to Spring Blazeds and portal knowledge is nill.

    Any suggestions on consolidating multiple small applications into one, and what are the pro and cons of it ?


  • #2
    I would like to hear the answer to this as well. We want to move off of the Vignette platform. Can content management be handled with Spring only? Can Spring Security handle all the users and group permissions and how do you enable only one login page and have a navigation tree?
    I am digging around on the spring site now looking for answers to these questions


    • #3

      Did you come to any conclusion ?

      I am thinking to have a common Database or LDAP for authentication and one more supporting table to tell, which applicatios user have access. If the user have acess to one application, just load the menu for that application. incase if the user has multiple application access, then provide a option for selection, and based on his selection load the corresponding menu tree ...


      • #4
        Originally posted by Derricks
        where is the end of your nice story.
        little confusing
        if finished properly then i think there can be some solution's.
        I did not get enough time to consolidate the small applications. I have just started to put things together, may be in a month or two, I should be having a single big application.


        • #5

          I have consolidated all small systems to use a main database for authentication and authorization using spring security.
          And other systems can exist in same schema or can use a different database/schema. Also I have flex spring mvc and apache cfx web service clients all use the common Database for authentication. Simply saying a single application with multiple database (kind of horizontal scaling of DB, Good for performance I guess). and also If tomorrow any module/application in common system grows too big, no need to worry because DB part is already segregated(except the user and role tables), so only Code refactoring to be done to make a new system.