There is no requirement on rich UI components to use. And this is why I have decided not to use JSF framework since it only brings complexity to my solution plus Im not an expert in JSF and I'm not able to identify a reason to use it.
I have two options.
1. HTML & JAX-RS (not a single page application for convenience)
2. JSP & Servlets
First option, this is what I really do in real life, how about assignment since HTML is not something directly JEE related. If I end up applying first approach, is that mean I have no Servlets/JSP components and what to show on components diagram for web tier. Static html pages not really a components.
When you mean JAX-RS, you really talking about RESTful web service.
Every app has some form of layering, plus how you deploy it (separate war, single war, DMZ etc)
Will you allow your client (HTML) access the REST service directly? I doubt. So you got to have some component (say a RESTController) to call it for you. This so-called component will be in the web tier.
By the way, HTML/JSP pages are meant to be in the component diagram.
This is not following on from the other excellent posts in the discussion. Just my two cents.
When I did the project, I was tempted to design with JSF, Struts, or some other server-side framework in mind. However, I did not, because (1) I was not sure how to make that look in UML. The whole "what level of detail" thing would have come into play. In retrospect, I think it would not have been that hard to do, and maybe there are examples out there that include "your implementations", but did not want to take the time. (2) I had a nonfunctional requirement for response time, and I did not want to draw little boxes indicating this or that framework, when I was not certain the framework was even guaranteed to work that quickly.
As an aside, I think I would be more willing to take a chance on Angular (etc.) to RESTful being responsive enough, than doing it all on the server side.
Again, had I the time, I would have prototyped something with those kinds of pages in place. And I would have run some kind of integration testing on it to see if it worked.
As I write this, it points out to me some limitations of submitting a design. In the real world, there would be some kind of flow to an architect's job. The design is not put into the hands of others until things are proven out. So a design like this might only be handed off at the end of that process. However, there is a "technical risks" section on the assignment I received. Maybe that's where to place something like that....
I passed the project pretty well (92%), but not 100%. I will never know what parts of the assignment I did wrong, and it could be exactly what I presented above. ;-) Sorry.
Perseverance is best when informed.
Your mind is under my control .... your will is now mine .... read this tiny ad