Skip to main content

Front-end Integration::Single Sign-on and Personalized Delivery application patterns::Combined Runtime patterns

Overview

It is possible to customize an Front-end Integration solution to take advantage of two Application patterns: Single Sign-On and Personalized Delivery. The two Runtime patterns for this design documented below, combine the nodes required to fulfill both functions.

Combination Runtime pattern variation 1

Single Sign-On and Personalized Delivery application patterns: Combined Runtime pattern - Variation 1 Protocol Firewall Web Application Server Domain Firewall Directory and Security Services Database User Web Presentation Server Lightweight Directory Access Protocoll Web Server Redirector Public Key Infrastructure Domain Name Server Personalization Server Design Last Updated: 03-2002
(Click a node to get a detailed explanation.)

The first combined Runtime pattern shown above is used when the situation calls for Web Single Sign-On and rules-based personalization. Both Application patterns are shown as overlays here to illustrate the location of the Application pattern tiers in the Runtime pattern. In addition, the Web server function was separated from the primary presentation and application server functions for added security.

The Web server redirector node allows the business logic to be located in the internal network, giving it the protection of both firewalls. The Web server redirector performs limited functions. It serves static HTML pages, forwarding the rest of the requests to the Web presentation server. There is limited security at this node. Webseal could be used to enhance this.

The Web presentation server, together with the Directory server, provides Single Sign-On capability, allowing users to sign on one time in order to access multiple applications. It runs the servlets and JSPs necessary for presenting the data to the user. It interacts with the personalization server to build customized output for users based on identity or role.

The personalization server classifies the users and determines specific content suitable for presentation to the user.

Each node in the internal network uses the directory and security services node as a central location for security information, making the single sign-on possible.

Combination Runtime pattern variation 2

Single Sign-On and Personalized Delivery application patterns: Combined Runtime pattern - Variation 2 Protocol Firewall Web Application Server Web Application Server Domain Firewall Directory and Security Services Database User Web Presentation Server Lightweight Directory Access Protocoll Web Server Redirector Public Key Infrastructure Domain Name Server Personalization Server Design Last Updated: 03-2002
(Click a node to get a detailed explanation.)

The second combined Runtime pattern, shown above, is used when the situation calls for extended single sign-on capabilities and rules-based personalization. This Runtime pattern uses the same runtime nodes as the previous combination, but a back-end application server has been added. The back-end server participates in using single sign-on, either through credential mapping or credential propagation.

Next, review Combined Product mappings for the Single Sign-On and Personalized Delivery application patterns.

Protocol Firewall Node

A firewall is a hardware/software system that manages the flow of information between the Internet and an organization's private network. Firewalls can prevent unauthorized Internet users from accessing private networks connected to the Internet, especially intranets, and can block some virus attacks -- as long as those viruses are coming from the Internet. A firewall can separate two or more parts of a local network to control data exchange between departments. Components of firewalls include filters or screens, each of which controls transmission of certain classes of traffic. Firewalls provide the first line of defense for protecting private information, but comprehensive security systems combine firewalls with encryption and other complementary services, such as content filtering and intrusion detection.

Firewalls control access from a less trusted network to a more trusted network. Traditional implementations of firewall services include:

  • Screening routers, (the Protocol Firewall)
  • Application gateways (The Domain Firewall)

A pair of Firewall Nodes provides increasing levels of protection at the expense of increasing computing resource requirements. The Protocol Firewall is typically implemented as an IP Router.

See Also

Additional Resources

  • (in English) ESS

Domain firewall node

A firewall is a hardware/software system that manages the flow of information between the Internet and an organization's private network. Firewalls can prevent unauthorized Internet users from accessing private networks connected to the Internet, especially intranets, and can block some virus attacks -- as long as those viruses are coming from the Internet. A firewall can separate two or more parts of a local network to control data exchange between departments. Components of firewalls include filters or screens, each of which controls transmission of certain classes of traffic. Firewalls provide the first line of defense for protecting private information, but comprehensive security systems combine firewalls with encryption and other complementary services, such as content filtering and intrusion detection.

Firewalls control access from a less trusted network to a more trusted network. Traditional implementations of firewall services include:

  • Screening routers (the Protocol Firewall)
  • application gateways (The Domain Firewall)

A pair of Firewall Nodes provides increasing levels of protection at the expense of increasing computing resource requirements. The Domain Firewall is typically implemented as a dedicated server Node.

See Also

Additional Resources

  • (in English) ESS

Web Application Server

A Web application server node is an application server that includes an HTTP server (also known as a Web server) and is typically designed for access by HTTP clients and to host both presentation and business logic.

The Web application server node is a functional extension of the informational (publishing-based) Web server. It provides the technology platform and contains the components to support access to both public and user specific information by users employing Web browser technology. For the latter, the node provides robust services to allow users to communicate with shared applications and databases. In this way, it acts as an interface to business functions, such as banking, lending, and HR systems.

The node can contain these data types:

  • HTML text pages, images, multimedia content to be downloaded to the client browser
  • JavaServer Pages
  • Application program libraries, such as Java applets for dynamic download to client Workstations

See Also

Additional Resources

  • (in English) ESS

Directory and security services node

The directory and security services node supplies information on the location, capabilities, and attributes (including user ID/password pairs and certificates) of resources and users known to this Web application system. This node can supply information for various security services (authentication and authorization) and can also perform the actual security processing, for example, to verify certificates. The authentication in most current designs validates the access to the Web application server part of the Web server, but this node also authenticates for access to the database server.

See Also

Additional Resources

  • (in English) ESS

Database server node

This Node's function is to provide persistent data storage and retrieval in support of the user to-online buying transactional interaction.

Customer related data that is stored is relevant to the specific business interaction, for example, the shopping cart and shipping address information. Some sites are registering users and storing customer profile data such as address, clothing sizes, preferences, and gift wish lists that others can access when buying presents. Most sites today do not store credit card information on this server for security reasons.

Also stored here is the product and catalog information used to dynamically build HTML pages for presentation during the shopping process.

The mode of DB access is perhaps the most important factor determining the performance of this Web application, in all but the simplest cases. The recommended approach is to collapse the DB accesses into a single or very few calls. This can be achieved using coding and invoking Stored Procedure Calls on the database. Typically many commerce servers share only one database server in a high volume site, so the technology to implement this node must be able to scale vertically.

Database

The database server node provides a persistent data storage and retrieval service in support of transactional interactions. The data stored is relevant to the specific business interaction, for example, bank balance, insurance information, current purchases by the user, etc. It is important to note that the mode of database access is perhaps the most important factor determining the performance of this Web application, in all but the simplest cases.

User Node

The user node is most frequently a personal computing device (PC) supporting a commercial browser, for example, Netscape Navigator and Internet Explorer. The browser is expected to support SSL and some level of DHTML. Increasingly, designers need to also consider that this node might be a pervasive computing device, such as a Personal Digital Assistant (PDA).

Web Presentation Server

The Web presentation server node provides services to enable a unified user interface. It is responsible for all presentation-related activity. In its simplest form, it serves HTML pages and runs servlets and JSPs. For more advanced patterns, it acts as a portal and provides the access integration services (single sign-on, for example). It interacts with the personalization server node to customize the presentation based on the individual user preferences or on the user role. The Web presentation server allows organizations and their users to standardize and configure the presentation of applications and data in the most efficient way, while enabling fine-grained access control.

Public Key Infrastructure (PKI)

PKI is a system for verifying the authenticity of each party involved in an Internet transaction, protecting against fraud or sabotage, and for nonrepudiation purposes to help consumers and retailers protect themselves against denial of transactions. Trusted third-party organizations called certificate authorities issue digital certificates -- attachments to electronic messages -- that specify key components of the user's identity. During an Internet transaction, signed, encrypted messages are automatically routed to the certificate authority, where the certificates are verified before the transaction can proceed. PKI can be embedded in software applications, or offered as a service or a product. e-business leaders agree that PKIs are critical for transaction security and integrity, and the software industry is moving to adopt open standards for their use.

Domain Name Server (DNS) Node

The DNS Node assists in determining the physical network address associated with the symbolic address (URL) of the requested information. The Domain Name Server Node provides the technology platform to provide host to IP address mapping, that is, to allow for the translation of names (referred to as URLs) into IP addresses and vice versa.

Additional Resources

  • (in English) ESS

Personalization Server (Rules Engine)

The personalization server node works with the presentation server node to customize the presentation with data that matches a user’s interest. The personalization server identifies the type or class of the user based on information available about the user. Based on this classification, data taken from a content datastore either in the Personalization tier or from back-end sources is selected for presentation to the user. It provides the mapping function of user classification to content data.

The personalization server contains the rules that determine what types of user’s can have access to certain type of information. These are also referred to as access control rules and are directly related to business rules and processes. This is referred to as the Personalized Delivery::Prescriptive runtime pattern. The personalization server also allows the user to design the content and the layout of the content that they see by explicitly choosing from a selection of options. This is referred to as the Personalized Delivery::Participatory runtime pattern. You can use either or both of these patterns for the Portal composite pattern.

Web Server Redirector Node

In order to separate the Web server from the application server, a so-called Web Server Redirector Node (or just redirector for short) is introduced. The Web server redirector is used in conjunction with a Web server. The Web server serves HTTP pages and the redirector forwards servlet and JSP requests to the application servers. The advantage of using a redirector is that you can move the application server behind the domain firewall into the secure network, where it is more protected than within the DMZ.

LDAP

Lightweight Directory Access Protocol (LDAP) refers to the protocol that is used to communicate from a calling program (running on a node such as a Commerce Server) and a Directory Node. Information is kept on the LDAP-based directory node about such topics as people and/or services.

For example, the directory could be used to store information needed to identify registered shoppers (referred to as authentication). It could also be used to store information about what functions those shoppers are allowed to perform after being identified (referred to as authorization).