This chapter outlines different Architecture options available with Oracle WebLogic Server. It is very important to make yourself familiar with terminology specially tiers (Web, Presentation and Object).
Architecture – It defines how various tiers of an application (Web, Presentation and Object) are deployed on one or more clusters.
Tier – Represents logical divisions of an Application’s service.
- Web Tier > provides static content (HTML pages)
- Presentation Tier > provides dynamic content (Servlets or JSP)
- Object Tier > provides java objects (EJB or RMI classes) and associated business logic.
- A Web client interacts with WLS via HTTP using Servlets/JSPs.
- Types of Web clients include:
- A client application interacts with WLS through JRMP/T3, IIOP and COM.
- Types of Clients include:
- Standalone Java applications
- Applets within a browser
Forwards requests to other machines
- Can be used as a level of indirection and security
- Can be used to load balance a system
In computer networks, a proxy server is a server (a computer system or an application program) that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server. The proxy server evaluates the request according to its filtering rules. For example, it may filter traffic by IP address or protocol. If the request is validated by the filter, the proxy provides the resource by connecting to the relevant server and requesting the service on behalf of the client. A proxy server may optionally alter the client’s request or the server’s response, and sometimes it may serve the request without contacting the specified server. In this case, it ‘caches’ responses from the remote server, and returns subsequent requests for the same content directly.
A proxy server that passes requests and replies unmodified is usually called a gateway or sometimes tunneling proxy.
A proxy server can be placed in the user’s local computer or at various points between the user and the destination servers on the Internet.
A reverse proxy is (usually) an Internet-facing proxy used as a front-end to control and protect access to a server on a private network, commonly also performing tasks such as load-balancing, authentication, decryption or caching.
A proxy server has a large variety of potential purposes, including:
- To keep machines behind it anonymous (mainly for security).
- To speed up access to resources (using caching). Web proxies are commonly used to cache web pages from a web server.
- To apply access policy to network services or content, e.g. to block undesired sites.
- To log / audit usage, i.e. to provide company employee Internet usage reporting.
- To bypass security/ parental controls.
- To scan transmitted content for malware before delivery.
- To scan outbound content, e.g., for data leak protection.
- To circumvent regional restrictions.
- Provide filtering, authorization, and authentication services
- Help keep out hackers
- Map port requests
- Can act as proxy servers
Can decrease back end network activity
A firewall is a part of a computer system or network that is designed to block unauthorized access while permitting authorized communications. It is a device or set of devices that is configured to permit or deny network transmissions based upon a set of rules and other criteria.
Firewalls can be implemented in either hardware or software, or a combination of both. Firewalls are frequently used to prevent unauthorized Internet users from accessing private networks connected to the Internet, especially intranets. All messages entering or leaving the intranet pass through the firewall, which inspects each message and blocks those that do not meet the specified security criteria.
There are several types of firewall techniques:
- Packet filter: Packet filtering inspects each packet passing through the network and accepts or rejects it based on user-defined rules. Although difficult to configure, it is fairly effective and mostly transparent to its users. It is susceptible to IP spoofing.
- Application gateway: Applies security mechanisms to specific applications, such as FTP and Telnet servers. This is very effective, but can impose performance degradation.
- Circuit-level gateway: Applies security mechanisms when a TCP or UDP connection is established. Once the connection has been made, packets can flow between the hosts without further checking.
- Proxy server: Intercepts all messages entering and leaving the network. The proxy server effectively hides the true network addresses.
An Application Server Configuration
- A domain is a logically-related group of WebLogic Server resources that you manage as a unit.
- A domain provides one point of administration.
- A WebLogic Server domain can logically separate:
- Development, test, and production applications
- Organizational divisions
A domain is the basic administration unit for WebLogic Server instances. A domain consists of one or more WebLogic Server instances (and their associated resources) that you manage with a single Administration Server. You can define multiple domains based on different system administrators’ responsibilities, application boundaries, or geographical locations of servers. Conversely, you can use a single domain to centralize all WebLogic Server administration activities.
Why Use Domains?
- A domain is an administration features that:
- Is transparent to applications
- Can be configured and administered, for technical or business reasons, even after applications are developed or in production
- WebLogic Server domains can be used to separate:
- Development, test and production applications
- Administration and operational responsibilities
- Organizational or business divisions
- A server is an instance of weblogic which is executing in a JVM.
- A server:
- Runs on a designated WLS machine
- Has a dedicated amount of RAM
- Is multi-threaded
Definition: Administration Server
- An administration (admin) server is the central point of control for a domain.
- An admin server:
- Stores the configuration information and logs for a domain
- Runs the WebLogic administration console
The Administration Server operates as the central control entity for the configuration of the entire domain. It maintains the domain’s configuration documents and distributes changes in the configuration documents to Managed Servers. You can also use the Administration Server as a central location from which to monitor all resources in a domain.
Definition: Managed Server
- A managed server is any server in a domain that is not the admin server.
- A managed server:
- Contacts the admin server for configuration information
- Runs business applications in a production environment
A machine is a computer that hosts WebLogic Server(s).
– Runs a supported operating system platform
– Can host multiple WebLogic Server Instances
- A cluster is a logical group of WLS servers.
- WebLogic clusters provide automatic:
- Fault tolerance
- High Availability
- A cluster is transparent to a client.
A WebLogic Server cluster consists of multiple WebLogic Server instances running simultaneously and working together to provide increased scalability and reliability. A cluster appears to clients to be a single WebLogic Server instance. The server instances that constitute a cluster can run on the same machine, or be located on different machines. You can increase a cluster’s capacity by adding additional server instances to the cluster on an existing machine, or you can add machines to the cluster to host the incremental server instances.
- Terms used to discuss Web architectures
- Terms used to describe WebLogic Server features