KEMBAR78
HTTP and Website Architecture and Middleware | PPT
HTTP, Website Architecture and
Middleware
Overview of HTTP
 Basically, HTTP is a TCP/IP based communication protocol, that is
used to deliver data (HTML files, image files, query results, etc.) on the
World Wide Web. The default port is TCP 80, but other ports can be
used as well. It provides a standardized way for computers to
communicate with each other. HTTP specification specifies how
clients' request data will be constructed and sent to the server, and how
the servers respond to these requests.
 HTTP is connectionless:
 HTTP is media independent:
 HTTP is stateless
Overview of HTTP
Overview of HTTP
Overview of HTTP
Overview of HTTP
HTTP Get vs Post
HTTP Get vs Post
Server-side Programming
 Uses
 Process user input.
 Compiles pages.
 Structure web applications.
 Interact with permanent storage (SQL, files).
 Example Languages
 PHP
 Python
 ASP.Net in C#, C++, or Visual Basic.
 Nearly any language (C++, C#, Java). These were not designed specifically for the
task but are now often used for application-level web services.
Client-side Programming
 Uses
 Make interactive webpages.
 Make stuff happen dynamically on the web page.
 Interact with temporary storage, and local storage (Cookies, localStorage).
 Send requests to the server and retrieve data from it.
 Provide a remote service for client-side applications, such as software registration,
content delivery, or remote multi-player gaming.
 Example Languages
 JavaScript (primarily)
 HTML*
 CSS*
 Any language running on a client device that interacts with a remote service is a
client-side language.
Simple vs. Multi-tiered
Web Site Architecture
 System architecture
 Arrangement of software, hardware, and tasks in an
information system needed to achieve a specific
functionality.
 Two-tier
 Web server and database server
 Multi-tier
 Web application and other servers
 Backend, legacy databases
Two-Tier E-commerce Architecture
Figure 4.11(a), Page 207
Multi-Tier E-commerce Architecture
Figure 4.11(b), Page 207
Web Server Software
 Apache
Leading Web server software (52% of market)
Works with UNIX, Linux operating systems
Comes loaded on IBM systems
 Microsoft’s Internet Information Server
(IIS)
Second major Web server software (20% of
market)
Windows-based
Dynamic Page Generation Tools
 Dynamic page generation:
 Page contents stored in database and fetched when needed
 Lowers menu cost
 Enables market segmentation
 Common tools:
 Common Gateway Interface (CGI)
 Active server pages (ASP)
 Java Server Pages (JSP)
 Open Data Base Connectivity (ODBC), a std DB access method allows connections to
any DB
 Advantages
 Lowers menu costs
 Permits easy online market segmentation
 Enables cost-free price discrimination
 Enables content management system (CMS)
Application Servers
 Web application servers:
Is a server program in a computer in a
distributed network that provides the business
logic for an application program. Often viewed
as a 3-tier application.
It divides the application into
 1ST tier: front end – web browser GUI
 2nd middle tier: business logic
 3rd tier: back end – DB and transaction server
Distributed Systems
Distributed Systems
Distributed Systems
Distributed Systems
MVC Model
Controller
Model View
Middleware
Middleware
Middleware
Principles of Web Design
 Availability
 Performance
 Reliability
 Scalability
 Manageability
 Cost
 UI (Front End (DOM, Framework))
 Request Layer (Web API)
 Back End (Database, Logic)
Internet
Browser
Media
Cache
API Front End
JSON
Database Logic
Client
Server
Core Components of
Web Applications
Front End Languages
 HTML/CSS
 Javascript
 Java (applets)
What is the most popular?
Answer: Javascript/HTML/CSS is the only real option for front-end native
languages and is basically the standard. But there are many variations on
JavaScript that are used.
DOM (Document Object Model)
 Document Object Model makes every addressable item in a web
application an Object that can be manipulated for color, transparency,
position, sound and behaviors.
 Every HTML Tag is a DOM object
What is a Framework?
 Software Framework designed to reduce overhead in web development
 Types of Framework Architectures
 Model-View-Controller (MVC)
 Push vs Pull Based
 Most MVC Frameworks user push-based architecture “action based” (Django, Ruby
on Rails, Symfony, Stripes)
 Pull-based or “component based” (Lift, Angular2, React)
 Three Tier Organization
 Client (Usually the browser running HTML/Javascipt/CSS)
 Application (Running the Business Logic)
 Database (Data Storage)
 Types of Frameworks
 Server Side: Django, Ruby on Rails
 Client Side: Angular, React, Vue
That’s All for Today

HTTP and Website Architecture and Middleware

  • 1.
  • 2.
    Overview of HTTP Basically, HTTP is a TCP/IP based communication protocol, that is used to deliver data (HTML files, image files, query results, etc.) on the World Wide Web. The default port is TCP 80, but other ports can be used as well. It provides a standardized way for computers to communicate with each other. HTTP specification specifies how clients' request data will be constructed and sent to the server, and how the servers respond to these requests.  HTTP is connectionless:  HTTP is media independent:  HTTP is stateless
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    Server-side Programming  Uses Process user input.  Compiles pages.  Structure web applications.  Interact with permanent storage (SQL, files).  Example Languages  PHP  Python  ASP.Net in C#, C++, or Visual Basic.  Nearly any language (C++, C#, Java). These were not designed specifically for the task but are now often used for application-level web services.
  • 10.
    Client-side Programming  Uses Make interactive webpages.  Make stuff happen dynamically on the web page.  Interact with temporary storage, and local storage (Cookies, localStorage).  Send requests to the server and retrieve data from it.  Provide a remote service for client-side applications, such as software registration, content delivery, or remote multi-player gaming.  Example Languages  JavaScript (primarily)  HTML*  CSS*  Any language running on a client device that interacts with a remote service is a client-side language.
  • 11.
    Simple vs. Multi-tiered WebSite Architecture  System architecture  Arrangement of software, hardware, and tasks in an information system needed to achieve a specific functionality.  Two-tier  Web server and database server  Multi-tier  Web application and other servers  Backend, legacy databases
  • 12.
  • 13.
  • 14.
    Web Server Software Apache Leading Web server software (52% of market) Works with UNIX, Linux operating systems Comes loaded on IBM systems  Microsoft’s Internet Information Server (IIS) Second major Web server software (20% of market) Windows-based
  • 15.
    Dynamic Page GenerationTools  Dynamic page generation:  Page contents stored in database and fetched when needed  Lowers menu cost  Enables market segmentation  Common tools:  Common Gateway Interface (CGI)  Active server pages (ASP)  Java Server Pages (JSP)  Open Data Base Connectivity (ODBC), a std DB access method allows connections to any DB  Advantages  Lowers menu costs  Permits easy online market segmentation  Enables cost-free price discrimination  Enables content management system (CMS)
  • 16.
    Application Servers  Webapplication servers: Is a server program in a computer in a distributed network that provides the business logic for an application program. Often viewed as a 3-tier application. It divides the application into  1ST tier: front end – web browser GUI  2nd middle tier: business logic  3rd tier: back end – DB and transaction server
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
    Principles of WebDesign  Availability  Performance  Reliability  Scalability  Manageability  Cost
  • 26.
     UI (FrontEnd (DOM, Framework))  Request Layer (Web API)  Back End (Database, Logic) Internet Browser Media Cache API Front End JSON Database Logic Client Server Core Components of Web Applications
  • 27.
    Front End Languages HTML/CSS  Javascript  Java (applets) What is the most popular? Answer: Javascript/HTML/CSS is the only real option for front-end native languages and is basically the standard. But there are many variations on JavaScript that are used.
  • 28.
    DOM (Document ObjectModel)  Document Object Model makes every addressable item in a web application an Object that can be manipulated for color, transparency, position, sound and behaviors.  Every HTML Tag is a DOM object
  • 29.
    What is aFramework?  Software Framework designed to reduce overhead in web development  Types of Framework Architectures  Model-View-Controller (MVC)  Push vs Pull Based  Most MVC Frameworks user push-based architecture “action based” (Django, Ruby on Rails, Symfony, Stripes)  Pull-based or “component based” (Lift, Angular2, React)  Three Tier Organization  Client (Usually the browser running HTML/Javascipt/CSS)  Application (Running the Business Logic)  Database (Data Storage)  Types of Frameworks  Server Side: Django, Ruby on Rails  Client Side: Angular, React, Vue
  • 30.