I have a question about the flexibility of PLUM in regards to software architecture.
We're working on a potential architecture for our CF apps moving forward that is highly scalable and flexible, with as little redundant code as possible.
We're thinking of something like this:
- a centralized repository of CFCs (which are not dependent on any scopes, especially Application and Session, that are tied to the CFAPPLICATION)
- multiple applications/sites that use the same set of CFCs from the centralized repository
- the majority of the CFCs will be used for data abstraction, mostly business logic and calls to stored procedures (SQL Server 2000)
- we want to be able to create multiple instances of CF (MX 7), and yet call the central repository of CFCs directly (without exposing them as Web Services, although now that I think of it this is probably a limitation of CF and unrelated to PLUM?)
- the reason we like the architecture described above is because we
have multiple sites (and we're adding additional sites rapidly), all
which basically do the same thing, and so rather than dealing with
multiple versions and instances of the same (or nearly the same) code
base for each site, it would be nice if at least the business logic was
separated out from the presentation layer. This way, each site
could simply be given it's own "skin" (using HTML/CSS, a plain text
site, a Flash site, etc) , and simply make calls to the CFC library to
deal with data.
- the main problem I see with the out-of-the-box implementation of PLUM is that CFCs are tied to each PLUM project, though the Application scope. I'd like to move the CFCs outside of the framework, so that each new PLUM project could access the CFC library. Then, we'd be able to rapidly deploy each new "skinned" sites to the CFC library rapidly, without needing a redundant set of CFCs in each project.
- For # 6 above, I realize this would require some custom manipulation of a PLUM project, and once the CFCs are moved outside of the project, then I probably wouldn't be able to manage PLUM from the IDE any longer. So, am I missing something? And would you recommend using PLUM (at least for the initial build of the code-base) for our planned software architecture?
--
Aaron Longnion
[EMAIL PROTECTED]
512-470-1211
--
Aaron Longnion
[EMAIL PROTECTED]
512-470-1211
