Overview
The Stand-Alone Single Channel application pattern represents a starting point for delivering e-business applications. In this simplest case there is no interaction with back-end systems and a single delivery channel assumed.
The next step is to choose a Runtime pattern that most closely matches the requirements of the application. A Runtime pattern uses nodes to group functional and operational components. The nodes are interconnected to solve a business problem. Each Application pattern leads to one or more underpinning Runtime patterns.
Basic Runtime pattern
Although this Runtime pattern was historically used as an entry-level footprint, the proliferation of hacker attacks has caused it now to be regarded as an anti-pattern. However for the moment we will keep it on the web site because it has been used in the IBM Redbook, IBM WebSphere V5 Edge of Network Patterns (SG24-6896), as the simplest base design to which various High Availability and High Performance nodes can be added.
The Runtime pattern does not differentiate between intranet and Internet implementations. However, you should be aware of certain issues:
- Bandwidth is usually greater in an intranet, allowing the use of more network-intensive solutions, such as thick clients.
- Security may be less of an issue in an intranet. However, protecting the network is still important and firewalls protecting resources from unauthorized access are still advisable.
- Due to corporate rules, you may expect certain browsers to be used, allowing you to exploit all available features and not code to the least common denominator.
Stand-Alone Single Channel application pattern: Runtime pattern
(Click a node to get a detailed explanation.)
The presentation logic and business logic of the application are provided by a single Web application server node in a Demilitarized Zone (DMZ). The data to be accessed from the business logic is behind the domain firewall in the internal network. In addition a Protocol firewall manages the flow of information between the DMZ and outside world and application-level security is provided by the Web application server node. The user information required for authentication and authorization is stored in the directory and security services node behind the domain firewall in the internal network.
Runtime pattern: Variation 1
Stand-Alone Single Channel application pattern: Runtime pattern: Variation 1
(Click a node to get a detailed explanation.)
This variation to the basic Runtime pattern uses one Web server redirector containing the Web server and one application server, effectively splitting the function of a Web application server across two machines. In this case the application server resides in the internal network to provide it with more security. The application server node will run both presentation and business logic. The Web server remains in the DMZ and serves static pages. A Web server redirector is used to forward the requests from the Web server to the application server. Everything else is as mentioned at the Runtime Basic Pattern
Runtime pattern: Other Variations
Other variations to the Stand-Alone Single Channel application pattern::Basic runtime pattern can be used to address the availability and performance requirements of your application. The Patterns for e-business define Non-Functional Requirements custom designs that enable high availability and high performance e-business applications, using a variety of middleware configurations within the demilitarized zone or external network.
The high availability patterns provide the node redundancy and failover capabilities needed to eliminate single point of failure for the end-to-end production system. The following Non-Functional Requirements::High Availability: Runtime patterns are defined:
- High Availability: Basic Runtime pattern
- High Availability: Runtime pattern: Single load balancer
- High Availability: Runtime pattern: Load balancer hot standby
- High Availability: Runtime pattern: Mutual high availability
- High Availability: Runtime pattern: Wide area load balancing
The high performance patterns provide the scalability and workload management capabilities needed to meet performance and throughput requirements. The following Non-Functional Requirements::High Performance: Runtime patterns are defined:
- High Performance: Basic Runtime pattern
- High Performance: Runtime pattern: Redirectors
- High Performance: Runtime pattern: Separation
- High Performance: Runtime pattern: Caching proxy
See the IBM Redbook Patterns for the Edge of Network, SG24-6822 for details on how these Non-Functional Requirements custom designs are applied to the Stand-Alone Single Channel application pattern::Runtime pattern.
