54 Patterns: Implementing Self-Service in an SOA Environment
4.1 An introduction to the node types
A Runtime pattern consists of several nodes representing specific functions.
Most Runtime patterns consist of a core set of common nodes, with the addition
of one or more nodes unique to that pattern. To understand the Runtime pattern,
you will need to review the node definitions described in the following sections.
򐂰 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).
򐂰 Domain Name System (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, allowing for the translation of names (URLs) into
IP addresses and vice versa.
򐂰 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, which are attachments to
electronic messages that specify key components of the user's identity.
During an Internet transaction using signed, encrypted messages, the parties
can verify that the other’s certificate is signed by a trusted certificate authority
before proceeding with the transaction. PKI can be embedded in software
applications or offered as a service or a product. e-business leaders agree
that PKI is critical for transaction security and integrity, and the software
industry is moving to adopt open standards for their use.
򐂰 Web application server node
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
Chapter 4. Runtime patterns 55
applications and databases. In this way it acts as an interface to business
functions, such as banking, lending, and Human Resources (HR) systems.
The node can contain these data types:
HTML text pages, images, multimedia content for the client browser
Servlets, JavaServer™ Pages™
Enterprise beans
Application program libraries, such as Java applets for dynamic download
to client workstations
򐂰 Web server redirector node
In order to separate the Web server from the application server, a so-called
Web server redirector node (or 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.
򐂰 Application server node
The
application server node provides the infrastructure for application logic
and can be part of a Web application server. It is capable of running both
presentation and business logic but generally does not serve HTTP requests.
When used with a Web server redirector, the application server node can run
both presentation and business logic. In other situations, it can be used for
business logic only.
򐂰 Integration server node
The purpose of the
integration server node is to interface between any front
end access channel, such as the Web, a call center, or a client/server (
fat
client
) PC, and any needed back-end application system. This can include
applications from other companies. The integration server node performs the
following kinds of services:
Convert protocols from the front end to match what the back-end systems
understand.
Decompose a single message from the front end (such as a Web server)
into several back-end messages (or transactions), and then recompose
the replies.
Navigate from the front end to any back-end system that needs to be
accessed.
In more complex cases, control the process or unit of work for a number of
back-end interactions based on a request from the front end.

Get Patterns: Implementing Self-Service in an SOA Environment now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.