CPET 499/ITC Web Systems

 

November 18, 2014

 

Web Server and Application Servers Integration

·         Types of Servers

·         Web Content Management

o   Web Content Manager, http://www-03.ibm.com/software/products/en/ibmwebcontmana

·         Enterprise Application Integration (EAI)

o   IBM Enterprise Application Integration: Time to market imperative driving investment in EAI, http://www-01.ibm.com/software/info/itsolutions/eai/timetomarket/

o   IBM Connectivity, Integration and SOA, http://www-03.ibm.com/software/products/en/category/connectivity-integration-soa

o   Tutorial 1: Enterprise Application Integration, 2010, http://msdn.microsoft.com/en-us/library/aa578030.aspx

·         Enterprise Data Integration (EDI)

·         CGI (Common Gateway Interface)

·         HTTP (HyperText Transfer Protocol) Protocols

o   HTTP/1.1, 1999, http://www.w3.org/Protocols/rfc2616/rfc2616.html

o   HTTP/1.1 RFC 2817: Upgrading to TLS within HTTP/1.1 (Transport Layer Security), May 2000, https://www.ietf.org/rfc/rfc2817.txt 

o   HTTP/1.1 RFC 7230: Message Syntax and Routing, June 2014, https://tools.ietf.org/html/rfc7230

o   HTTP/1.1 RFC 7231: Semantics and Content, June 2014, https://tools.ietf.org/html/rfc7231

o   HTTP/1.1 RFC 7232:  Conditional Requests, June 2014, https://tools.ietf.org/html/rfc7232

o   HTTP/1.1 RFC 7233: Range Requests, June 2014, https://tools.ietf.org/html/rfc7233

o   HTTP/1.1 RFC 7234: Caching, June 2014, https://tools.ietf.org/html/rfc7234

o   HTTP/1.1 RFC 7235: Authentication, June 2014, https://tools.ietf.org/html/rfc7235

o   HTTP/1.1 RFC 7236: Authentication Scheme Registrations, June 2014, https://tools.ietf.org/html/rfc7236

o   HTTP/1.1 RFC 7237: Method Registrations, June 2014, https://tools.ietf.org/html/rfc7237

·         Server Configuration

 

Web Servers

 

Application Servers and Distributed Client/Server Application

 

CGI (Common Gateway Interface)

The Common Gateway Interface (CGI) [22] allows an HTTP [1], [4]  server and a CGI script to share   responsibility for responding to client requests.  The client request comprises a Uniform Resource Identifier (URI) [11], a request method and various ancillary information about the request provided by the transport protocol.

 

The CGI defines the abstract parameters, known as meta-variables, which describe a client's request.  Together with a concrete programmer interface this specifies a platform-independent interface between the script and the HTTP server.

 

The server is responsible for managing connection, data transfer, transport and network issues related to the client request, whereas the CGI script handles the application issues, such as data access and document processing.

 

CGI Environment Variables

A list of environment variable defined by CGI standard is as shown below:

Variables

Purpose

AUTH_TYPE

If the server supports user authentication, and the script is protects, this is the protocol-specific authentication method used to validate the user.

CONTENT_TYPE

It specifies the media type of the data for queries, which have attached information, such as HTTP POST and PUT, this is the content type of the data.

CONTENT_LENGTH

The length (number of bytes) of information passed to the script.

GATEWAY_INTERFACE

The name and version of the protocol being used by the server to communicate with the script. Format: CGI/revision

PATH_INFO

It provides any extra path information, as given in the URL, for accessing this script. The extra information is sent as PATH_INFO to be decoded by the server before it is passed to the CGI script.

PATH_TRANSLATED

It gives the absolute file system path for access the script. The server provides a translated version of PATH_INFO, which takes the path and does any virtual-to-physical mapping to it.

QUERY_STRING

Any additional information passed to the script after the ? mark in the URL which referenced this script is called the query information. It should not be decoded in any fashion.

REMOTE_HOST

It contains a fully qualified domain name of the client computer. If the host name cannot be determined, it should set REMOTE_ADDR to hold the IP address of the host and leave this variable unset.

REMOTE_ADDR

The IP address of the remote client computer making the request.

REMOTE_IDENT

The client machine's username. Usage of this variable should be limited to logging only.

SCRIPT_NAME

A virtual path to the script being executed, used for self-referencing URLs.

REMOTE_USER

The name used to authenticate the user for accessing the script.

SERVER_SOFTWARE

The name and version of the information server software answering the request (and running the gateway).

# Format:  name/version

SERVER_NAME

The server's hostname, DNS alias, or IP address as it would appear in self-referencing URLs.

SERVER_PROTOCOL

The name and revision of the information protocol this request came in with. Format: protocol/revision.

SERVER_PORT

The port number to which the request was sent.

REQUEST_METHOD

The method with which the request was made. For HTTP, this is "GET", "HEAD", "POST", etc.

HTTP_ACCEPT

Gives a comma-separated list of MIME types that the client can accept.

HTTP_REFERER

Provides the address of the page where the request originated.

HTTP_USER_AGENT

Specifies the name of the client program used to make the request.

 

Status (Error Code) for Client and Server

Client Errors Code

400                         Bad Request

401                         Unauthorized

402                         Payment Required

403                         Forbidden

404                         Not Found

405                         Method Not Allowed

406                         Not Acceptable

407                         Proxy Authentication Required

408                         Request Timeout

409                         Conflict

410                         Gone

411                         Length Required

412                         Precondition Failed

413                         Request Entity Too Large

414                         Request-URI Too Long

415                         Unsupported Media Type

416                         Requested range not valid

417                         Failed

418                         Failed

 

Server Error

500                         Internal Server Error

501                         Not Implemented

502                         Bad Gateway

503                         Service Unavailable

504                         Gateway Timeout

505                         HTTP Version Not Supported

506                         Redirection failed

 

Web Master Tools

·         Apache HTTP Server Project, http://httpd.apache.org/

·         Apache Webmaster Tools & Utilities, https://www.apachelounge.com/viewforum.php?f=8

·         Chapter 26, Apache HTTP Server Configuration, https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/ch-httpdconfig.html

·         Understanding Setup in IIS 7, http://www.iis.net/learn/install/installing-iis-7/understanding-setup-in-iis

·         Getting Started with the IIS Manager in IIS 7 and IIS 8, http://www.iis.net/learn/get-started/getting-started-with-iis/getting-started-with-the-iis-manager-in-iis-7-and-iis-8

·         IBM HTTP Server, http://httpd.apache.org/

·         Oracle HTTP Server, https://docs.oracle.com/cd/E21764_01/web.1111/e10144/intro_ohs.htm#HSADM101

 

Web Services and Cloud Computing

·         Standards and Web Services, http://www.ibm.com/developerworks/webservices/standards/

·         Amazon Web Services, http://aws.amazon.com/

·         AWS EC2 (Elastic Compute Cloud), Amazon S3 (Simple Storage Service), Commercial RDBMS

·