Various models/ helps understanding web components
Tool for thought: the Web Interaction Model
The "Web Interaction Model" plays a significant role in understanding how web components function. This model, which focuses on the interaction between web elements and users, is crucial in grasping the underlying concepts and behaviors of web components, a core aspect of modern web development.
Component-Based Architecture: Web components embody a modular approach, where each component is a self-contained unit with its own functionality and styling. The Web Interaction Model helps in understanding how these components interact with each other and with the user's actions. It emphasizes the encapsulation and reusability aspects of web components, making it easier to comprehend their standalone and integrated behaviors.
User Interaction and Event Handling: At the core of the Web Interaction Model is the understanding of how user interactions trigger events in web components. This model aids in mapping out the event-driven nature of web components, where user actions like clicks, mouse movements, or keyboard inputs initiate specific functions or changes within the component.
State Management: Understanding how the state of a web component changes in response to user interactions is another critical aspect facilitated by the Web Interaction Model. This model allows developers to predict and manage the dynamic changes within components, ensuring a responsive and interactive user experience.
Data Binding and Flow: The Web Interaction Model sheds light on how data flows in and out of web components, particularly in frameworks that utilize two-way data binding. It helps in understanding how changes in the user interface reflect in the component's state and vice versa, a fundamental concept for creating dynamic and interactive web applications.
Shadow DOM and Encapsulation: The model also encompasses the concept of the Shadow DOM, a pivotal feature of web components that allows for DOM encapsulation. This ensures that a component's internal functionality and styling do not leak out or conflict with other parts of the application, an essential factor for maintaining a consistent and controlled web environment.
Lifecycle Management: Web components have specific lifecycle hooks (like creation, rendering, updating, and destruction), and the Web Interaction Model helps in understanding how these lifecycle methods are triggered by both the browser and user interactions. This understanding is crucial for optimizing performance and ensuring that components behave as expected throughout their lifecycle.
In summary, the Web Interaction Model is a fundamental framework that provides insights into the operational dynamics of web components. It aids in comprehending how components are structured, how they respond to user interactions, manage state, handle data, and maintain their lifecycle, all of which are key to effective web development.
Compare Various Models as aids in understanding the components of the Web.
What actually happens when you access a Web resource?
A number of different models explain how particular elements of the Web work, but the Web Interaction Model illustrates how these complex processeswork together. Whereas other models are effective at illustrating the way technologies work, the Web Interaction Model is especially effective at accounting for the dynamic interaction between the user (including users who design pages as well as the end user)
and those complex technologies. Before learning the full implications of applying this model, however, it is useful to compare other Web models.
One common way of talking about Web applications is based on the idea of "tiers." Each tier represents a different component or location of hardware and software, with the number of tiers increasing to account for the increased complexity in the technologies.
Types of Web Interaction Models: 2-tier and 3-tier
The 2-tiered model, or front-end/back-end model, is used to differentiate users or clients (the front end) from the hardware and software sources which provide the information they seek (the back end). The 3-tier model represents greater complexity in client- server applications. The back end is broken out into the components (hardware or software) that are distributed across different servers or locations.
For example, the 3-tier model enables separation of a Web server (tier 2) from a database that provides information for specific applications (tier 3).
The N-tier model
The N-tier model recognizes that there are often many more tiers than just the individual user and a Web server. Because Web transactions increasingly involve multiple software applications or databases hosted in multiple locations, this model allows for the most expansive illustration of back-end technologies. The following series of images shows how, like building blocks, this model relies on the addition of tiers to illustrate the added software, hardware, and network components that are necessary for increasingly complex technologies:
The front end (Tier 1) consist of the user's computer and software, and the back end (Tier 2) consists of a Web server
The 3-tier model acknowledges more complexity than the 2-tier model. A typical example is the separation of a Web server from a database server that provides information for specific applications
The N-tier model encompasses a full range of back-end complexities, including components such as routers and firewalls.
This model is especially valid for e-commerce and business-to-business Web Applications
While this model accounts for the many different servers and applications that are involved in organizing and providing content to the user
Limitations of Tiered Models
Although these models are easy to understand, by focusing almost exclusively on the back end, they oversimplify the real interaction that occurs during a typical Web transaction. For example, many e-commerce applications involve multiple components and locations.
A sample e-commerce transaction
may involve components such as a consumer's personal computer; a customer's Internet service provider's ( ISP) network and hardware; the e-commerce site's Web server, database, and wide area network; and middleware at the e-commerce site's Application Service Provide.
E-commerce is an example of a complex application that involves more than just a front end and a back end.
Following is an example of the steps a user may go through, with the components that might be involved in each step.
On a home computer, a consumer browses an e-commerce site that specializes in custom surfboards: the PC hardware stores the browser software.
The consumer's actions are transmitted to and from an ISP, such as Earthlink or AOL, transmitted via modem and phone lines.
The ISP network hardware receives and routes the customer's traffic: hardware (routers, servers), software (password authentication, traffic balancing), and high-bandwidth lines (Internet backbone).
The e-commerce surf shop site's server receives the request for data; software provides specific Web page documents and launches
additional applications (keyword search engine database, product database, and personalization).
The e-commerce site displays supplemental content fed from a third party content provider:
The "Surf Now" section of the site may show streaming SurfCam images of local beach conditions provided by another Web company.
The "Your Health section of the site may use online drugstore partner's "news" items drawn from online version of medical publications regarding UV rays and skin cancer or muscle strains.
The "Get outta here!" section of the site lists newly added vacations packages to surfer-friendly beach areas, linked from an adventure travel agency site.
An Active Server Pages application integrates outside content into the Web page; WebCam images require camera and specific software; software may be used to reformat third party content.
The user makes a purchase; the purchase request is processed by the e-commerce site's ASP, which integrates database applications of the order system, customer service department, inventory tracking, fulfillment, and shipping departments.
The order proceeds through fulfillment process; middleware hosted at the site's ASP manages communications between diverse databases.
The order is billed to the customer's credit card by a transaction-processing network (software and hardware) of the e-commerce site and the user's credit card company.
The customer calls to check on the order; the e-commerce company's Customer Service Department uses a wide area network to access the order history in database at ASP; can access shipper's package tracking servers via the shipper's Extranet.
The product is shipped; the order history is updated in all databases; email notifications from the shipper are converted using software; and a company email is sent to the customer.
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.
In the next lesson, you will learn about the function of the Web Interaction Model.