I have with me a big J2EE application, containing JSP, servlets, EJBs, etc, developed by someone else. My boss asked me to take a look at it, and see if there is any reusable components in it, so that we can take them and use. My questions are:
1. Should I look only at EJBs? I mean is it only EJBs are reusable, and servlets and JSPs are not?
2. If I'm suppose to look at EJBs, should I focus on entity beans, since session beans contain mostly business logic and may not reusable?
3. Because it's such a huge app, can someone advise me on how I should go about identifying which components are reusable? I mean, should I look directly at the codes, or documentation?
Thanks in advance for your advice.
Well, ultimately, it depends how you define re-usable and what you want to re-use them for.
For instance, if you wanted to re-use the code to implement the exact same set of requirements then one would hope it's all re-usable. If, on the other hand, you wanted to determine which could would be re-usable to implement a graphics library in Assembly, I'm going to have to assume none.
That said, there are some general starting points:
EJBs and Beans are probably the most likely to contain generalized code that would be good candidates for re-use. Servlets and JSPs may well be re-usable, depending on how they were written, what they do, and what you want to re-use them for, but if I were going to vaguely categorize them, I'd say they're less likely to be re-use candidates than the EJBs and Java Beans that support them.