Download Ch. 4 ppt

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

URL redirection wikipedia , lookup

Transcript
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
Enterprise Java Beans (EJB)




Implement the application logic
Deliver application specific functionality
Three types of beans
 Session beans: handle session with a client (stateful/stateless)
 Entity beans: persistent beans stored in a database
 Message-driven beans: can create asynchronous interaction with clients
EJB container provides the environment in which the beans are run
 Web server
 Web browser
 HTTP: HyperText Transfer Protocol
 HTML: HyperText Markup Language
 URI: Uniform Resource Identifier
 URL: Uniform Resource Locator
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)
Clients supported by an application server





Web browsers requesting HTML pages with or without applets
Use HTTP or HTTPS.
Applications similar to those in conventional middleware
Devices such as cell phones or PDAs
Wireless application protocol (WAP), wireless markup language (WML)
E-mail programs
Simple mail transport protocol (SMTP)
Web services clients
Simple Object Access Protocol (SOAP)
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)
Using integrated platforms

Firewalls and tunneling
 Tunneling: protocols which would be blocked by the firewall are hidden
under protocols that are accepted by the firewall
 Mostly done through HTTP or SSH (Secure Shell)
 Results in a cumbersome architecture

EDIFACT (Electronic Data Interchange for Administration, Commerce, and
Transport)
 Provides standard templates for messages and contents of messages
 Contains fields such as:
• Interchange header (ID, password, date/time)
• Message header (type of message)
• User data segments (the payload)
• Message Trailer (end message, check for completeness)
• Interchange trailer (end interchange, check for completeness)
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