Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We have to write an administration panel for many customers. But we want to have just one administration panel, and use it in various projects.

This admin panel will have basic components such as access control logic, maker-checker system in changes, user logging and etc.

It will also have reporting for the customer, logs of transaction of the customer (which can vary according to the industry such as mobile banking, banking, ticket sales). These components may have to be modified according to the business.

So we are thinking about the architecture here, Is it OK to use jars of every basic components, and bring them together on a glue application? Or should we build each component as WARs and make interfaces between them?

If there are any more ideas, it will be appreciated.

share|improve this question
1  
I don't think architecture has anything to do with how you package parts of your system. –  user34768 Sep 7 '12 at 8:38
    
but if they are on a single monolithic application they will communicate on method calling level, but if they will be on seperate applications they will have to use different kinds of communication. Maybe I am a bit confused here. –  LostMohican Sep 7 '12 at 8:50
add comment

1 Answer

It sounds like you're looking for a plugin architecture here. a JSR-330 Dependency injection approach (e.g. That Maven and Hudson use) might be a good way forward here. Actually since you're talking web app, you'll want to look at the Java EE CDI std.

I don't see a need to have them as separate WAR files communicating over RESTFul or SOAP based services, it should be a small enough app that one WAR makes sense.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.