What is the best approach to model a web (jsp) application?

What is the best method to modeling a jsp application? The usual UML diagrams? Searching about the subject I have found something about UWE (UML-based Web Engineering) and WAE (Web Application Extension), which one is most used? Thanks.

Upvotes: 0

Views: 284

Answers (1)

Ted Johnson
Ted Johnson

Reputation: 4343

Modeling a JSP application.

  1. This is still just a basic componentized/imperative/declarative (via configuration) constructed application. So really the standard set. Class, Sequence, Component are the defaults. I would actually consider Use Case with a mapping to the System Components or exposed MVC route/controls would be handy. That is what I have done in the past for this domain,

    • A class diagram still makes sense, but you want to think about how your JSP files/views should be represented as they are major design elements. You can call them classes, components, "data struct", but I would not consider them just files/artifacts. This is a common mistake as classes are also artifacts when it comes to deployment etc. So JSPs, Controllers, Routes as Interfaces, Controllers implement Routes (parts of the url path/pattern), Model is obviously classes and less about interaction, but there might still be.
    • I would focus on the behavior of the app second and make that about request processing, which then centers on routes and all of the handling etc that controllers have to do, auth, logging, connectivity, model actions, selecting views. REMEMBER, with UML for this level it is about showing example (but accurate) flows or behavior through the application/system. Do not model every process flow, you are wasting your time. If they are all so different then you program is poorly designed as an application should have common re-usable components/classes which support re-use.
  2. I would not even look at a UML profile unless you are looking for the following.

    • Model/UML code/configuration generation.
    • A number of architects/developers all using UML in a consistent manner.
    • Use major UML tools to enforce the profile and provide better visualization such as Icons/Highlighting to make it worthwhile.
    • Do not need this to be portable or shared with many hundreds of people across organizations.
  3. I have written UML tooling and designed profiles but have not used either UML profiles mentioned. However I have glanced at them and will share what I see.

    • UWE is really about generative models, ie create code. It will be more formal and have constraints you must follow. It is also then meant for UML modeling, not drawing with UML for visual communication.
    • WAE (Web Application Extension) seems to be much of the same and championed by IBM. If the icons (visual) representations seem helpful, use them. This is also an old specification and I am not sure how much it is used. I have never used either and I have been exposed to a lot of UML, profiles, etc. I have heard of it though.
    • Don't get me wrong about either framework, they may be useful and powerful, but you need extensive UML knowledge and I would recommend experience with MDA and other generative frameworks. Given the first part of your question I am going to assume, perhaps incorrectly, that you do not have this knowledge and would suggest you focus on UML basics and how they can help communicate your design.
    • Feel free to comment or update your question with more detail of why you would look at these frameworks. A UML profile and framework must provide sufficient lift to justify learning it, educating your peers, maintaining it, etc.

Upvotes: 1

Related Questions