If you were discussing the Internet with each of the following people, which model would be most useful to use?
Please check your answers against the ones below.
- Person 1: A new employee who will be a member of the Web development team
Answer: The N-tiered model. The employee must understand all the interacting components of the Web.
- Person 2: Your neighbor, an accountant, currently employed at a bricks-and-mortar company looking to open an e-commerce site.
Answer: The 3-tier model. The accountant needs to understand the need for different types of servers and software, but doesn't need a full explanation of every possible component.
- Person 3: Your other neighbor, who has never gone online.
Answer: The 2-tier model, or front-end/back-end model, since your neighbor is new to the Web and may be confused by too complex an explanation.
The key to producing effective models is to model the right things. A model, as a simplification of something, is a view without the unnecessary details. Each model of a system expresses one viewpoint.
To make a model really useful it needs to include those things that are important. In the case of Web modeling with UML there are really two models (that is, viewpoints) that are significantly influenced by this new architectural paradigm,
the business logic design model and the user interface design model.
In the business logic model, the viewpoint is focused on execution of the business logic in the system. It includes all of the classes and components that possess and manipulate the business state of the system.
These might be the EJB or COM+ components and the scripted Web pages that use them and even the client side scripts that work manipulating the data and the hyperlinks that define the navigational paths in the system.