Oracle® Beehive Deployment Guide Release 1 (1.4) Part Number E13795-02 |
|
|
View PDF |
Built on Java 2 Platform Enterprise Edition (J2EE), Oracle Beehive provides a multitier architecture that leverages proven Oracle technologies, such as Oracle Database and Oracle Application Server, as well as other key Oracle and third-party components.
This module provides a high-level overview of the Oracle Beehive architecture and its supported components, and includes the following topics:
The Oracle Beehive architecture is divided into the following logical tiers:
The Client Tier, which contains Oracle Beehive clients, as well as other supported clients and devices. For more information, refer to "Overview of the Client Tier".
The Application Tier, which contains Oracle Beehive services and application server components. For more information, refer to "Overview of the Application Tier".
The Data Tier, which contains Oracle Database to store system configuration and collaboration data. For more information, refer to "Overview of the Data Tier".
The Ancillary Tier, which contains optional Oracle and third-party components that enhance or coexist with certain aspects of the system. For more information, refer to "Overview of the Ancillary Tier".
Figure 2-1 Oracle Beehive Logical Architecture
The Client Tier is the face of the system and includes all supported clients and devices, including integration with Microsoft Outlook and a command-line tool for system administration. Oracle Beehive also supports clients and devices that leverage the following standardized protocols:
The open nature of the Oracle Beehive platform also enables developers to build and implement custom clients in the Client Tier using Oracle Beehive Web services.
For more information about the deployment options and considerations related to components in the Client Tier, refer to "Deploying Oracle Beehive with Supported Clients and Devices".
The Application Tier is the core of the system and includes all Oracle Beehive server components, including interoperable, function-specific services that provide the system's enterprise collaboration features.
The Application Tier supports multiple Oracle Beehive server instances. Each Oracle Beehive server instance includes required components of Oracle Application Server 10g, which itself hosts the Oracle Beehive services, including:
Oracle HTTP Server: The Web server component of Oracle Application Server 10g. Enables connections between supported clients over HyperText Transport Protocol (HTTP) and Secure HyperText Transport Protocol (HTTPS).
Oracle Application Server Containers for J2EE (OC4J): J2EE v1.4 -compliant containers that provides an infrastructure for deploying, undeploying, and redeploying J2EE-compliant applications and modules. Oracle Beehive services are deployed in OC4J containers.
When you install Oracle Beehive, the required Oracle Application Server 10g components are pre-bundled and installed by default.
Each Oracle Beehive server instance also includes the Beehive Transport Infrastructure (BTI), which enables connectivity between supported clients and Oracle Beehive through its proprietary multiplexor protocol (MX). For more information, please refer to "Overview of the Beehive Transport Infrastructure".
The Data Tier is the information store for Oracle Beehive and contains Oracle Database, either as a single, standalone database instance or an Oracle Real Application Cluster (Oracle RAC). All system configuration and collaborative data for Oracle Beehive is stored in Oracle Database.
The Data Tier provides Oracle Database a layer of separation from the other tiers, ensuring, among other things, optimized security and system performance. Only the Database Access Framework (provided by Oracle Beehive) can access the Data Tier. Oracle Beehive services cannot access the Data Tier directly and must make all connections through the schemas provided by the Database Access Framework. For more information on the Database Access Framework, please refer to "Overview of the Database Access Framework".
The Ancillary Tier contains any optional servers and applications that are external to the Oracle Beehive server. Typically, components in this tier are optional because Oracle Beehive already provides many of these capabilities, such as user directories, e-mail, and time management.
Oracle Beehive supports Ancillary Tier components to provide enterprises flexibility in their deployment choices, especially for those that want to leverage existing or specialized component investments. In either case, enterprises can choose to implement the components of this tier to coexist with or access key aspects of Oracle Beehive.
Examples of supported Oracle and third-party components in the Ancillary Tier include:
Note:
Out of the box, Oracle Beehive comes pre-bundled with one Oracle BPEL Process Manager instance, although organizations may leverage other Oracle Beehive BPEL Process Manager instances if they exist.Components in the Oracle Beehive tiers connect through the following system frameworks and components:
The Database Access Framework, which supports connections between the Application and Data Tiers. For more information, refer to "Overview of the Database Access Framework".
The Beehive Transport Infrastructure (BTI), which supports client connectivity between the Client and Application Tiers. For more information, refer to "Overview of the Beehive Transport Infrastructure".
The Event Framework, which manages all system events, as well as the workflows and notification logic that they initiate. For more information, refer to "Overview of the Event Framework".
Oracle Beehive schemas, which segregate system, configuration, and collaborative data, and application code. For more information, refer to "Overview of Oracle Beehive Schemas".
The Application and Data Tiers connect through the Database Access Framework, which provides a logical data structure and an optimized data management resource for Oracle Beehive. The Database Access Framework improves system performance and scaling capabilities, while reducing overall system complexity.
The Database Access Framework controls all access to the database through a connection pool that it manages. Services request connections to the database through the connection pool. Once a service receives the requested information, it returns the connection back to the connection pool. The Database Access Framework leverages Java Database Connectivity (JDBC) for these connections.
The Database Access Framework enables centralized management of data store resources and utilizations. It also simplifies database administration tasks that are external, yet related, to Oracle Beehive, including:
The Beehive Transport Infrastructure (BTI) enables connectivity between the Client and Application Tiers by providing the network-level infrastructure for both client-to-server and server-to-server communications. Specifically, the BTIprovides port and connection management for Microsoft Outlook (with Oracle Beehive Integration for Outlook) and non-HTTP, standard-based clients through its proprietary multiplexor protocol (MX).
In a typical enterprise client/server deployment, clients connect through a series of networks to a known port on a known server. However, in many cases, the communication channels must traverse firewalls, load balancing routers, forward and reverse proxies, and demilitarized zones (DMZs). The BTI is designed for deployment in these complex network infrastructures, while providing optimal port and connection management.
The BTI is a bundled component of the Oracle Beehive server so it is always provided whether you deploy Oracle Beehive in the Application Tier or in a DMZ. The latter case provides another layer of security between clients connecting to the system and internal components such as Oracle Database. This increased level of security and control over client connections is particularly beneficial when client connections are expected to originate from points outside of your network, such as from the Internet or from other private networks.
Oracle Beehive also provides Oracle HTTP Server, which enables client connectivity over HTTP/HTTPS. This can be leveraged in cases where HTTP/HTTPS is the preferred method of enabling client connections that originate from external locations.
Oracle Beehive is an event-driven platform. Many aspects of system functionality and service interoperability stem from the event-based design of the platform. To manage this complex and powerful design implementation, Oracle Beehive provides the Event Framework. The Event Framework manages all events that occur in the system, which includes initiating any notification logic, workflows, and policies that may apply.
Oracle Beehive supports business events, which are events that trigger business logic, such as initiating workflows or applying policies. Business events provide a unique integration point for Oracle Beehive that allows customers to customize business processes or initiate external processes based on specific activities or occurrences. An example of a business event is when a user creates a document and it initiates a specific approval and notification process.
The open design of Oracle Beehive enables organizations to customize and extend the Event Framework by integrating workflows and policies. For example, developers can write and integrate custom business logic that executes when corresponding events are triggered in the system. Or, organizations can extend Oracle Beehive functionality by attaching custom programs to workflows that result from events. Oracle Beehive administrators can also customize Oracle Beehive business logic to suit their specific requirements.
Oracle Beehive schemas logically segregate system, configuration, and collaborative data, and application code. In addition to organizing system, data, and configuration management, Oracle Beehive schemas also provide a significant security benefit by isolating each of the major data components that drive the system. Each Oracle Database in an Oracle Beehive deployment must contain one Oracle Beehive schema set.
An Oracle Beehive schema set consists of the following schema types:
The Code Schema contains all Procedural Language/Structured Query Language (PL/SQL) code used by Oracle Beehive. The Code Schema enables application-level cloning and code updates separate from system data. Benefits of these capabilities include easier and seamless patches and upgrades, since these tasks can be performed without any system downtime. The separation of PL/SQL code from system data also reduces the amount of time required for system backups, as code backups are required less frequently.
The Code Schema also controls the access requests made by Oracle Beehive services to data residing in the Data Tier, as well as the connections from services to other Oracle Beehive schemas, which the services cannot connect to directly. Connections between Oracle Beehive services and the Code Schema are managed by the Database Access Framework.
The Data Schema is the primary repository of collaborative data for Oracle Beehive. In Oracle Beehive, each service owns specific tables and views for the data that it manages. However, a service can request data from the tables or views owned by another service. For example, the Calendar Service may request data from a table belonging to the E-mail Service, which, in turn, may refer to and request information from tables owned by the User Directory Service.