Tech Stack - Flex 3, Java 1.5, Hibernate, Spring and Oracle

Situation - Lets suppose we have 3 different applications - "A", "B" and "C"
which are used to meet different business requirements. Users for these
application might be same. All the three have a seperate code base for
client (Flex 3) and server (Java). So that means there are 3 different
clients and 3 different servers.

In future, lets suppose we are required to merge the 3 flex front-end
clients under one application -"D". So this "D" application would act as
interface (or the only client) to the other 3 applications. When users login
they would have an option to choose one of the application and proceed with
it. While user makes a move into one of the application, the switch is
seamless so that users is not aware of it. So we do not have the option to
redirect the users to different URL's based on the selection.

I can think of following ways to achieve it:

1. Merge the code bases and use only one code base for all the 3 clients.
The client would display screens depending on the user/role login and option
selection.

    Pros:

          - One Application with complete functionality.

    Cons:
          - A single code base can grow huge and difficult to manage.
          - It might build a monolithic application with a hierarchical tree
of MXML classes.
          - Memory use and start-up time for the application would be
significant, and the SWF file size would grow with each new set of
functionality.
          - The 3 applications may talk to different servers (Java), how do
we manage the communication?
          - Developers' productivity may be affected due to one single code
base.

2. Use "Modules" in the flex. We can have separate modules for the 3
applications. So there will be 3 swf generated - A.swf, B.swf, C.swf as
modules. Using module loader, we can load one of the swf at given point of
time.

   Pros:
          - Smaller initial download size of the SWF file.
          - Shorter load time due to smaller SWF file size.
          - Better encapsulation of related aspects of an application
          - Improve the perceived performance of the main application and
reduce the memory use.
          - Developers' productivity may increase due to better
encapsulation of design.
          - When rebuilding the application, the developers also have to
recompile only the single module instead of the entire application.

    Cons:
          - You cannot run the module-based SWF file as a stand-alone
application or load it into a browser window. It must be loaded by an
application as a module.
          - The 3 modules may talk to different servers (Java), how do we
manage the communication?

Can anybody think of any other approach to achieve this? Also if you can add
on to the above Pros and Cons for above options, it would be great.

Thanks,
Ashish

-- 
You received this message because you are subscribed to the Google Groups "Flex 
India Community" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/flex_india?hl=en.

Reply via email to