Summary Part1
Summary Part1
There is no single “owner” of the Internet but rather each of the networks
comprising the internet has its own owner such as an Internet Service
Provider (ISP), a government, an enterprise or a university.
Who is Structuring and Controlling The Internet?
• Currently, Internet structure is provided by the following
Entities:
1. Networks from corporations, commercial firms, and
other companies.
2. Telephone companies.
3. Cable companies.
4. Satellite companies.
5. Governments.
Email quickly followed, as network users wanted fast message transmission and notifications, aligning
with their initial goals.
Over time, new protocols were developed for specific tasks. FTP was created
for file transfers, while UDP was designed for fast, low-latency communication,
allowing data to be sent without waiting for the receiver's confirmation
Addressing schemes.
Web Browsers
To access the World Wide Web, you need an Internet connection and a web browser, which retrieves
and displays web pages and other resources like PDFs, images, and videos.
WWW Basics
HTML (HyperText Markup Language) is a markup language used to
format web documents with tags that define text relationships.
1. User Action: The user types a URL in the browser’s address bar or clicks a
hyperlink.
2. DNS Lookup: The browser extracts the domain name and sends a request to a DNS
server.
3. IP Address Retrieval: The DNS server returns the corresponding IP address of the
website.
4. Request to Web Server: The browser sends a request to the web server using the
retrieved IP address.
5. Data Transmission: The request travels through routers on the Internet to reach the
web server.
6. Response from Server:
o If the resource exists, the web server sends it back to the browser.
o If not, the browser receives a 404 error (resource not found).
7. Display: The browser renders and displays the web page to the user.
Summary of the History of Web Browsers:
1. (1990 Nexus) – First web browser, originally called WorldWideWeb, developed on NeXT
computers.
2.
3. Mosaic (1993) – First commercially available browser; introduced inline images with text.
4.
5. Netscape Navigator (1994) – Became the most popular browser at its peak.
6.
7. Internet Explorer (1995) – Microsoft launched IE 1.0, later dominating with IE 6.0 (2002, 95%
market share).
8.
9. Opera (1996) – First released for Windows, Linux, Android, and iOS; later adapted for mobile
devices and gaming consoles.
10.
11. Mozilla Firefox (2004) – Developed from Netscape’s open-source code; gained popularity
quickly.
12.
13. Safari (2003) – Apple’s default browser for Mac and iOS; Windows version discontinued in
2012.
14.
15. Google Chrome (2008) – Fast and modern browser, built on Chromium with elements from
WebKit and Firefox.
16.
17. Vivaldi (2015) – Offers customizable themes and UI based on website colors.
18.
19. Microsoft Edge (2015) – Replaced Internet Explorer, now Chromium-based and default on
Windows.
20.
21. Brave (2016) – Focused on privacy, blocking ads and trackers.
Key Takeaways:
Browsers evolved from simple text-based interfaces to modern, fast, and secure applications.
Chrome, Safari, and Edge dominate today’s market.
New browsers like Brave and Vivaldi focus on privacy and customization.
-------------------------------------------------------------------
How do you think the search engine
works?
1. Crawling 🕷️
o A search engine sends bots (spiders) to explore web pages.
o These bots follow links and collect information from as many pages as possible.
2. Indexing 🕷️
o The search engine analyzes and stores important terms from each page.
o It creates a master index that links words to the pages where they appear.
4. Displaying Results 🕷️
o The most relevant and popular pages appear first.
o Google and other engines use advanced algorithms (like PageRank) to improve
accuracy.
🕷️ Conclusion: Search engines crawl, index, rank, and retrieve information to give users the best search
results!
Web Crawling:
Crawlers start with popular sites, follow links to discover new pages, and
store copies for indexing.
1. Indexing:
o
Stop words (e.g., "a," "the") are removed, and words are normalized
using stemming (e.g., "technologists" → "technology").
When a user searches, the engine retrieves relevant pages from the
index.
Top of Form
Lec3
Web applications are modeled using three levels:
1. Content Level:
o Defines the structure of information, similar to a database schema.
o
o Ensures consistency by eliminating redundancies.
o
o Content remains unchanged even if the information updates frequently.
o
2. Hypertext Structure Level:
o Organizes content into nodes and links for efficient navigation.
o
o Allows multiple access paths to the same content.
o
o Uses recurring navigation patterns to prevent user confusion.
3. Presentation Level:
o Focuses on the layout and user interface for a consistent brand experience.
o
o Prioritizes structure over artistic design.
Mapping Between Levels
The three levels are interconnected and should be mapped explicitly.
Personalization can adjust hypertext access while keeping a unified content model.
Data-heavy applications (e.g., databases) focus on content and hypertext, while presentation-
driven applications (e.g., online stores) emphasize UI design.
The process of modeling web applications depends on the modeler's approach and the type of
application. There are two main approaches:
1. Information-Driven Approach
2.
o Starts with content modeling.
o
o Suitable for data-heavy applications where structured information is key.
o
3. Presentation-Driven Approach
4.
o Starts with the user interface and presentation aspects.
o
o Ideal for visually focused applications like corporate portals or e-commerce sites.
The choice between these approaches depends on the application’s purpose and requirements.
Definition:
o A UML Class Diagram represents the structure of a system using classes, attributes,
methods, and relationships.
Class Diagram Components:
o Class Name (Mandatory).
o
o Attributes (State variables, with data types).
o
o Methods (Operations/services of the class).
o
o Relationships (Connections between classes).
o
Visibility Modifiers:
o + (Public) – Accessible from anywhere.
o
o - (Private) – Accessible only within the class.
o
o # (Protected) – Accessible within the class and its subclasses.
Web applications often have different user roles, each requiring a distinct navigation view.
o Example: Reviewing System
Author View: Can submit and manage their papers.
Reviewer View: Can access assigned papers.
PC Chair View: Can view all submitted papers and reviewer profiles.
UML Representation
o Nodes (Pages) are represented as Navigation Classes (<<navigation class>>).
o Links between nodes are represented as Navigation Links (<<navigation link>>).
4. Types of Links in WebML (Web Modeling Language)
1. Intra-Page Links
o Source & destination exist within the same page.
o Example: Clicking a link to jump to the summary section on the same page.
2. Inter-Page Links
o Link source and destination are on different pages.
o Example: Clicking an author's name to view their papers.
Navigation Links: Allow movement between content nodes (e.g., linking a paper to its author).
Process Links: Start a process (e.g., initiating a paper review).
External Links: Direct users to external sources (e.g., conference formatting guidelines).
1. I-Links (Internal Links): Connect nodes within the same navigation requirement (e.g., linking a
reviewer to their review details).
2. T-Links (Traversal Links): Link to nodes covering different navigation requirements (e.g., linking
an author to their papers).
3. R-Links (Requirement Links): Define dependencies between navigational elements.
4. X-Links (External Links): Point to external resources (e.g., external formatting rules).
5. S-Links (Service Links): Point to services, such as an external search engine.
Key Takeaways
Hypertext modeling ensures effective user navigation by structuring nodes and links.
Different types of links help define user flow within a web application.
Hypertext views must be tailored for different user roles.
OO-H Modeling provides detailed link classifications, enhancing navigability and usability.
This structured approach optimizes user experience and ensures efficient content accessibility in web
applications. 🕷️
Lec4
Summary: Presentation Modeling in Web Applications
Presentation modeling defines a uniform presentation concept by designing recurring elements like:
A reviewer logs in and uses the navigation bar to go to their assigned papers list.
The list is retrieved from the content level and displayed.
The reviewer selects a paper, and the paper details view is displayed.
This process can be modeled using sequence diagrams or state diagrams.
Key Takeaways
This structured approach ensures consistent UI design and enhanced user experience in web
applications! 🕷️
Summary: Web Application Architectures
Web architecture defines how a web application is structured, implemented, and understood. It
consists of components, their interfaces, and relationships. There are three key properties of web
architecture:
Defines the static (components, interfaces, relationships) and dynamic (behavior) aspects of a
web application.
Acts as a blueprint for software, similar to a building design in construction.
Key Takeaways
This structured approach helps in building efficient and maintainable web applications! 🕷️
1. Functional Requirements
2. Quality Considerations
3. Technical Constraints
The architect’s experience and decision-making significantly impact the final architecture.
They balance functional needs, technical constraints, and quality factors.
Key Takeaways
ayering Aspect
data Aspect
Types of Data:
o Structured Data (organized, follows a schema, e.g., databases, XML).
o Unstructured Data (e.g., images, videos, audio).
Challenges: Unstructured data is harder to process automatically.
️Middleware
Types of Middleware
Web architectures consist of several key components that work together to deliver web applications.
1️ Client
Definition: The user agent (e.g., browser, mobile app) that interacts with the web application.
Examples: Chrome, Firefox, Safari, mobile apps.
2️ Web Server
3️ Firewall
Function: Controls network security by filtering incoming and outgoing traffic based on
predefined rules.
Purpose: Protects against unauthorized access.
4️Proxy Server
Function:
o Caches web pages to improve loading speed.
o Customizes content for users.
o Enables user tracking and access control.
5️ Database Server
6️ Media Server
Function: Handles non-structured bulk data like audio, video, and images for streaming and
delivery.
Examples: Wowza Media Server, Adobe Media Server.
Function: Stores semi-structured data (e.g., XML documents) for managing digital content.
Examples: WordPress, Joomla, Drupal.
8️ Application Server
🕷️ Each component plays a critical role in delivering a scalable, secure, and efficient web application!
Lec5
Advantages:
Disadvantages:
A CMS is software that helps users create, manage, and modify website content without
requiring deep technical knowledge.
It allows anyone to easily add and manage content on a website.
1. WordPress
o Powers over 30% of websites globally.
o Easy to use, flexible, and reliable.
o Available for free or at affordable pricing.
2. Joomla
o The second most popular CMS after WordPress.
o Provides powerful web page creation without coding skills.
3. Drupal
o More complex than WordPress or Joomla.
o Designed by developers for developers, offering advanced capabilities.
5. Benefits of Content Management Systems (CMS)
Conclusion
For small websites or temporary projects, Conventional Page Editors are a practical choice.
For larger and more dynamic websites, CMS platforms are the best option despite potential
performance and SEO challenges.
Interaction Design in Web Applications
1. What is Interactive Web Design?
Interactive web design integrates inbuilt software, modules, or features to create an engaging
user experience (UX).
It ensures active user participation in a website or web application.
Interaction design focuses on five key dimensions:
1. Words – Text and labels that guide users.
2. Images – Visual elements like icons and graphics.
3. Space – Layout and structure of the design.
4. Time – Dynamic interactions and animations.
5. Behavior – How users interact with the interface.
Interaction design combines visual, dynamic, functional, and technical aspects to enhance the
web experience.
1. User Interaction
o Converts user intentions into HTML elements.
o Covers information transport, layout, interaction, navigation, and direct access to
content.
2. User Interface (UI) Organization
o Defines how information is presented using different approaches:
1. Full-page HTML with scripts/plugins – Allows user interaction without
unnecessary navigation.
2. Full-page HTML without scripts – Users navigate using internal links.
3. Partial view approach – Displays meaningful portions of content, allowing users
to navigate for more details.
3. Navigation Design
o Defines elements needed for smooth navigation and user orientation.
o Link Representation:
Anchors (Hyperlinks) should be self-explanatory.
Icons can enhance link visibility.
o Link Internals:
Users trigger navigation by clicking anchors (URLs).
The system processes the request and loads the destination page.
4. User Activities
o Covers how users interact with content, forms, buttons, and system processes.
o Focuses on workflow, interaction efficiency, and user behavior tracking.
3. Configuration Management in Web Interaction
Conclusion
The User Interface (UI) of a web application displays large amounts of information, operations,
and relationships.
UI design must balance technical functionality with visual aesthetics to create an interface that
is:
✅ Operational – Works effectively.
✅ Usable – Easy to navigate and understand.
✅ Adaptable – Can change based on user needs.
2. Processes of User Interface Design
The UI design process consists of several key phases, depending on the project’s complexity:
Conclusion
A well-designed UI ensures that the user experience (UX) is smooth, intuitive, and effective. The UI
design process follows a structured approach, from understanding user needs to testing and refining
the interface.
Web metrics are measurements used to track website performance and user behavior.
They help website owners analyze trends and optimize their sites for better engagement.
✅ Visitor Traffic
✅ Traffic Sources
Shows where visitors come from (e.g., search engines, social media, direct links).
✅ Bounce Rate
✅ Conversion Rate
Tracks how many visitors complete an action (e.g., making a purchase, signing up).
Web quality is crucial for success, ensuring a website is functional, user-friendly, and effective.
🕷️ Most web metrics focus on maintenance and exploitation, as websites constantly evolve.
Conclusion
Web metrics and web quality dimensions help improve website performance, usability, and user
satisfaction. By analyzing metrics like traffic, bounce rate, and conversion rate, businesses can optimize
their sites for better results.
GOOD LUCK❤
ENG:Hamada
Yasser Mohammed