Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 4: Core Web Technologies Contents - Chapter 1 Exchanging information over the Internet HTTP, HTML URI, URI Web server, web browser Web services for supporting remote clients Applets Common Gateway Interface (CGI) Servlets Application servers Middleware for Web applications J2EE Web technologies for application integration Middleware extensions Firewalls and tunneling Before and after the web Early protocols, applications Telnet: to log in to a remote machine SMTP: Simple Mail Transfer Protocol FTP: File Transfer Protocol Archie: FTP to create a distributed file system Gopher: GUI for publishing and accessing text files over the Internet Web technologies Web server Web browser HTTP: HyperText Transfer Protocol HTML: HyperText Markup Language URI: Uniform Resource Identifier URL: Uniform Resource Locator HTTP proxy firewall HTTP client firewall HTTP tunnel wide area network (Internet) Proxy HTTP gateway HTTP server Acts as a server and client Caching Block undesired sites Log usage Bypass blocks Scan outgoing traffic HTTP proxy firewall HTTP client firewall HTTP tunnel wide area network (Internet) Gateway HTTP gateway HTTP server Acts as an intermediary for a server Keeps machines anonymous Controls access to the network Performs load-balancing, authentication, decryption HTTP proxy firewall HTTP client firewall HTTP tunnel wide area network (Internet) Firewall HTTP gateway HTTP server Blocks unauthorized access, permits authorized communications permit / deny / encrypt / decrypt / proxy all computer traffic between different security domains HTTP proxy firewall HTTP client firewall HTTP tunnel wide area network (Internet) Tunnel HTTP gateway HTTP server Acts as a blind relay between two connections Encapsulate protocols within HTTP or SSH (Secure Shell) to get through what the firewall would prevent Secure Socket Layer (SSL) HTTPS client HTTPS server Secure Sockets Layer (SSL) application layer network layer TCP/IP Normally HTTP traffic is not encrypted, it can be “sniffed” SSL uses public key encryption HTTPS: HyperText Transfer Protocol over Secure sockets layer HTTP “cookies” are used to store data on the client machine A 3-tier architecture on the web client HTTP server middleware server (resource manager) Copyright Springer Verlag Berlin Heidelberg 2004 wide area network (Internet) client HTTP client “Let’s put an ATM” in every home” Business-to-consumer (B2C) interaction The web browser is a universal client middleware server (resource manager) wide area network (Internet) Web server firewall Applets client applet java virtual machine browser Copyright Springer Verlag Berlin Heidelberg 2004 HTTP is a document exchange protocol, it’s static Applets are downloadable programs The server sends the appropriate program each time The web browser becomes a universal client Code must be small for rapid transfer client CGI program middleware server (resource manager) HTTP GET request wide area network (Internet) Web server firewall Common Gateway Interface Copyright Springer Verlag Berlin Heidelberg 2004 browser The CGI program is on the server and it has a URL When the URL is accessed, the CGI program is executed and its output is saved as an HTML document This saved document is returned to the web browser which then displays it It is possible to pass parameters to CGI programs Java server process Java thread client middleware server (resource manager) Copyright Springer Verlag Berlin Heidelberg 2004 wide area network (Internet) Web server firewall Servlets HTTP GET request browser Similar to CGI, but “lightweight” Run as Java threads Saves the cost of context switching Memory efficient Can be stateless Application servers other protocols Web server presentation layer application logic layer connection to resource mgmt layer resource management layer Copyright Springer Verlag Berlin Heidelberg 2004 firewall other servers (email, SOAP,..) wide area network (Internet) client HTTP browser It’s a middleware platform that provides support for Web access Covers both the application logic and the presentation layer Prepares, dynamically generates, manages document J2EE – main components Servlets JavaServer Pages (JSP) Java API for XML Processing (JAXP) JavaMail Java Authentication and Authorization Service (JAAS) Enterprise Java Beans (EJB) Java Message Service (JMS) Java DataBase Connectivity (JDBC) Java transaction API (JTA) Java Naming and Directory Interface (JNDI) Java 2 Connector Architecture (J2CA) Copyright Springer Verlag Berlin Heidelberg 2004 support for communication and presentation support for the application integration support for access to resource managers presentation layer EJB EJB EJB EJB container JNDI JMS JDBC J2CA resource adapter J2CA resource adapter other adapters DBMS applications enterprise system 1 enterprise system 2 enterprise system n Copyright Springer Verlag Berlin Heidelberg 2004 administration (management and security) services (load balancing, pooling, caching, transaction, persistence,…) application logic layer client E-mail server Web server multidevice content delivery Servlets JSPs XML support Web services support personalization logic presentation layer application logic layer connection to resource mgmt layer resource management layer Copyright Springer Verlag Berlin Heidelberg 2004 administration (management and security) services (load balancing, pooling, caching,…) servers for other connections (e.g., WAP) client middleware server (resource manager) Copyright Springer Verlag Berlin Heidelberg 2004 wide area network (Internet) Possible ways to connect client middleware server (resource manager) Direct integration of middleware platforms client middleware remote-middleware protocol WAN communication protocol server (resource manager) Copyright Springer Verlag Berlin Heidelberg 2004 wide area network (Internet) client middleware remote-middleware protocol WAN communication protocol server (resource manager) middleware remote-middleware protocol WAN communication protocol server (resource manager) Copyright Springer Verlag Berlin Heidelberg 2004 firewall Web server wide area network (Internet) client firewall HTTP tunnel Web server client middleware remote-middleware protocol WAN communication protocol server (resource manager) Summary Decades of accumulated knowledge on multi-tier architectures Use the same technology over the Internet The client can be on A Local Area Network (LAN) Over the Internet Architectural implications and design constraints from using the Web are important