Smaller shops commonly combine tiers into the same level. For example, in a three-tiered architecture, the web tier and app server tiers can be combined. Remember, most large four-tiered systems will have many servers at the web tier, dozens of application servers, and many Oracle instances using Real Application Clusters at each node. Also, one or many components may run on any number of servers, and small Oracle shops or those with huge 16 CPU servers may combine all three tiers onto a single server.
The choice of the number of tiers is directly related to the size of the Oracle 10g implementation and the number of servers that are dedicated to the system. For small shops, it is common to see a two-tiered data model. Figure shows an example of the client tier consisting of all the external PC clients and a combination of the web server tier, the app server tier, and the database tier, all running on a large single server, usually with lots of.
The benefit of this approach is the shared server resources. The downside of the two-tiered architecture is the limited flexibility. It is not easy to add hardware resources when you need them. In medium-sized shops, the three-tiered data model predominates.
In this model, shown in Figure , the client tier is followed by the web server tier and app server on separate servers. Application Server 10g architecture for a three-tiered system. The three-tiered data model has a few benefits over the two-tiered model. First, increases in processing demands either at the database or the app server level will not affect the performance of the other components within the Application Server 10g architecture. Another benefit is that additional Application Server 10g instances can be created, and additional Oracle System Global Area SGA regions can be easily added when processing demands warrant an increase.
Now that you ve seen the components of each tier, let s examine how these tiers look when used in a large e-commerce system. Hardware Architecture of Application Server 10g Figure shows that you can have multiple instances of the components at each tier. As requests enter the system, OHS passes them to the least-loaded Application Server 10g instance on the app server tier.
At the app server tier, there may be multiple instances of Application Server 10g and multiple instances of the Oracle Forms Server, Oracle Developer, and Oracle Reports. These multiple instances are normally on separate servers, and this provides administrators with the ability to create an infinitely scalable architecture.
Whenever any components at any tier become overwhelmed, administrators can create a new instance on a new server, add the instance into the Application Server 10g architecture using Oracle Universal Installer, and maintain it using the Enterprise Manager. Application Server 10g tiers and instances. For very large systems, Real Application Clusters RAC provides the ability to have multiple instances of the database, all mapping to a single database.
Using the same technique as the other tiers, whenever the existing instances become overloaded, another Application Server 10g instance can be created on a new server, and the server can be added to the architecture.
- DefaultCacheLogger (Oracle Application Server 10g Java Object Cache API Reference)!
- Oracle Application Server 10g Essentials by Robert Stackowiak, Donald Bales, Rick Greenwald.
- How to Draw: drawing and sketching objects and environments from your imagination.
- OTN and Release Notes.
- The expression of possession.
- Table of contents.
This ability to scale by adding new instances and servers is a critical aspect of Application Server 10g administration because it is the single most important tool for ensuring that the system always has adequate hardware resources. Functional Architecture of Application Server 10g Now let s look at the same architecture from a functional perspective. Figure shows the functions of the instances at each level, and this should give you an idea about how the multitiered architecture is used to isolate the logical components of the application.
At the web tier, the main functions are the listener, which listens on a specific port for incoming requests; Web Cache components, which store web page components; and the load-balancing mechanism for ensuring optimal allocation of computing resources to the app server tier. The app server tier controls all of the business logic and content assembly. At the database tier are the standard Oracle data management functions for the storage and retrieval of application data. All the components running on the application tier can connect to and retrieve data from the database using any of the available J2EE database connection methods.
These are discussed in detail in later chapters. However, Application Server 10g may have its own database if you install the Application Server 10g Infrastructure. Application Server 10g functional tiers. Now that you understand the Application Server 10g architecture from a high level, let s take a closer look at each of these tiers and see how they interact with each other.
Client Tier The client level consists of either a Java client application or a web browser. Using a web browser as the client allows the entire application to be located on the server. The client always gets the latest version when the application starts. Also, the client can use any web browser from any location, provided that the client can connect to the application server. The client tier can also consist of an application running on the client s desktop usually presenting a rich user interface and connecting directly or through HTTP to the application server.
This requires that the client have the application installed on the desktop. Let s take a closer look at the components inside the web tier. It is imperative that the web servers have load-balancing intelligence so that a single OC4J container is not overloaded with work. The Application Server 10g web tier. This makes customization quite easy.
Another huge benefit of the web listener load balancing is that you can customize the Web Cache to load-balance multiple Oracle HTTP Servers, thereby improving scalability. When the existing app servers become overwhelmed, more app servers can be easily added to the architecture. On the incoming end, the web server validates and parses incoming XML strings.
Web Cache The Application Server 10g Web Cache significantly enhances performance by reducing the need to regenerate dynamic or static information. It has a number of unique features, including partialpage caching, content-aware web server load balancing, the ability to cluster Web Caches so that multiple caches operate as a single logical cache, and the ability to cache content from third-party servers such as Sun, IBM, BEA, and others. Internal Oracle tests reveal that adding the Application Server 10g Web Cache to a three-tiered application client, application server, and database tiers can reduce the load on the database back end by 95 percent.
The Web Cache feature has a dramatic impact on the ability of the application to scale to meet growing e-commerce demands. Now, let s drill-down and examine the central tier, the app server tier. App Server Tier The core of Application Server 10g, along with a host of other tools and products, is in the app server tier.
The OC4J container hosts the application s Enterprise JavaBeans, providing security, naming, and connectivity support. In addition to the Application Server 10g instances, the app server tier contains separate components for the following functional areas: Oracle Portal This component allows for the fast definition and deployment of a dynamically created content-based web site. Oracle Discoverer This component allows for the easy end-user query implementation. Oracle Forms Server This component is used to format, deploy, and render end-user presentation pages, based on data in an Oracle Database.
Oracle Personalization This component provides personalized URL referrer tracking and a facility for creating customized web pages, depending upon the user and his or her web page viewing history. The web page history is kept in Oracle Databases. Oracle Wireless This component allows for communications between Application Server 10g and wireless devices such as PDAs and cell phones. Wireless dynamically reformats information to display correctly on the limited screens of most wireless devices.
Single Sign-On SSO This is a complete authentication system for identifying users, managing roles and web services, as well as functionality for Java and portal security. Metadata repository Infrastructure This critical component is sometimes referred to as the Infrastructure. It stores Application Server 10g metadata and allows for a common management interface between multiple instances of Application Server 10g and its other components.
TopLink contains the mapping interfaces to translate the Java structures into relational tables, thereby making Java persistent across independent executions. These components are partitioned within the Application Server 10g app server layer, allowing administrators flexibility in the creation of multiple Application Server 10g instances.
Partitioning with Farms and Clusters Application Server 10g provides several levels of collections within the App Server layer: Instances An instance is defined as a collection of processes required to run a component within an application server instance. An instance is made up of one or more Java containers and the structure needed to support them.
The Application Server 10g Infrastructure is an instance with a supporting database to store metadata. Clusters A cluster is an arbitrary collection of instances that are part of the same farm and also share a common configuration and J2EE applications. Farms A farm is a collection of instances and clusters that make up your Application Server 10g system and share a common repository infrastructure. In sum, a farm is any related group of Application Server 10g instances sharing a repository, while a cluster must share a common definition and J2EE applications Figure Any Application Server 10g architecture may have many farms and many clusters defined within the system.
Application Server 10g Clusters As just defined, a cluster is a collection of Application Server 10g instances that share identical configuration parameters, application deployment schemes, and J2EE applications. Clusters are used to enforce heterogeneity within the Application Server 10g instances. Hence, additions are commonly made to clusters when processing demands require additional Application Server 10g instances in order to manage an increased demand at the application server level.
Instances in a cluster are managed by the Application Server 10g Infrastructure, which provides an easy method for creating and maintaining clusters. Application Server 10g farms and clusters Clusters are used in conjunction with the Web Cache load-balancing algorithms, such that the load balancing at the Web Cache layer monitors all of the Application Server 10g instances in the clusters, and feeds work to the least-loaded Application Server 10g instance.
Application Server 10g Farms There is an important one-to-many relationship between an Application Server 10g instance and a metadata repository. Each Application Server 10g instance may have one, and only one, metadata repository, while each metadata repository may service many Application Server 10g instances. From the Application Server 10g architecture point of view, a farm is a collection of Application Server 10g instances that all map to the same metadata repository.
Because each Application Server 10g instance within a farm must contain the same metadata repository, all instances within the farm must share the same configuration and application membership information. Database Tier The standard Application Server 10g relational database or any other database resides in the database tier.
The function of the database tier is to provide the application with persistent storage. The Application Server 10g also contains a special instance called the Infrastructure that uses a 10g database to store metadata. This database is more correctly in the application server tier since it does not provide persistent storage for the application. The application server provides a method to place.
The following components have a tight integration with the Oracle Infrastructure database: Oracle Application Server Portal Web screen component definitions are stored inside the Oracle Infrastructure database. Oracle Reports Report specifications are stored inside the Infrastructure database. Oracle Application Server Personalization The Infrastructure database is used to store consumer group information and historical page viewing referrer statistics information.
Component Overview Now that you have an overview of the architecture of Application Server 10g, let s continue our tour with a review of the components. Not all shops will have all of these components installed, but Application Server 10g allows for any or all of them to be created inside the architecture. Application Server Portal Like the non-oracle tools such as Dreamweaver and Microsoft FrontPage, Portal allows developers to create and deploy web content. The important difference is that developers can include dynamically created, personalized web pages from multiple data sources using Portlets.
The Portal product provides the following features: Portal page creation, management, and maintenance Assembly of web content from multiple sources using Portlets Web page content that contains data retrieved from a database Publishing facilities using easy wizards Advanced features such as text searching via Oracle Text and wireless support via XML and HTML interfaces These components fit together into an architecture that allows developers to quickly create and deploy web page content.
Figure depicts a Portal administrator defining the Portlet content and the content for the basic web pages. At run time, Portal users access these definitions to create dynamic publishing content, using the Portlet definitions, the web page definitions, and data from the Oracle Database. It is beyond the scope of this book to examine all of the content delivery features of Oracle Application Server Portal. The Application Server Portal 10g architecture Application Server Discoverer This component allows for the easy end-user query implementation.
In essence, Discoverer is an ad hoc query, reporting, analysis, and web publishing tool. Like Crystal Reports and Business Objects commercial products that generate SQL queries from a graphical display, making database querying possible for those who do not understand SQL syntax , Discoverer provides a GUI metaphor for the specification of Oracle Database content and display format. In addition, Discoverer is a business analysis intelligence tool, with interfaces with Oracle Clickstream and the Oracle Database. When using Discoverer, the end user develops workbooks.
At a high level, a workbook is a bundle of metadata that includes the following components: Tables that participate in the query Report formatting for the result set Calculations to perform on the data Once defined, these workbooks allow inexperienced end users to easily create ad hoc reports against the Oracle Database using the Discoverer End-User Layer EUL graphical user interface. In addition, Discoverer allows end users to view data at several levels, drilling down to more detail or rolling up to summary level. As you see in Figure , there are two main phases in Discoverer usage.
First, the Discoverer administrator creates the workbooks by specifying the tables, formatting, and computation rules for any given report. Second the run-time phase , the end user accesses the EUL and creates customized reports using the Discoverer wizards. Application Server Discoverer 10g architecture The core of administration for Oracle Discoverer is the development and maintenance of the workbooks and metadata objects.
Because the Forms Server is the main engine for rendering web pages, tuning and administration of this component are critical aspects of overall Application Server 10g administration. We will discuss Oracle Forms Server administration and tuning in more detail in Chapter Application Server Personalization Analyzing page viewing behavior and creating custom web page content on a busy e-commerce site constitute a formidable computing challenge.
Personalization is extremely sophisticated and relies on internal data about end-users web page visits, web page clicks, and referrer statistics. Even more powerful, Personalization allows for the incorporation of external metadata such as customer demographics. It is worthwhile to note that Oracle has several competitors in the web personalization market, notably Blue Martini, Vignette, and Personify. Using sophisticated multivariate correlation techniques, web page contact can be customized according to predictions about each end user s preference for web page content.
The nature of this analysis is very resource intensive, and almost all large Application Server 10g shops devote large servers exclusively to developing these predictive recommendations. IT marketing professionals know that it is critical to get the right products onto a custom web page. To be successful, Application Server 10g must be able to accurately predict a user s propensity to buy a product, based on prior buying and browsing patterns, and buying patterns of like-minded customers customer profiling. The challenge in developing these predictive models is accurately placing visitors into consumer groups.
A consumer group is a group of customers with similar demographics and buying patterns. Figure shows the process of analyzing demographic information to place visitors into consumer groups. A visitor can be placed into a consumer group in two ways: Demographic category collected from personal information Pattern of page views collected from referrer URLs Once consumer groups have been defined in Personalization, you next start a data mining procedure to correlate the patterns of each consumer group with specific products.
The customized HTML personalization is based on data from three sources: Known consumer group data These groups consist of predetermined summaries of consumer group characteristics. Historical data This is historical sales data, correlated by consumer group. Personalization uses these sophisticated consumer group and data mining component mechanisms to create the web content Figure The administration of Personalization is simplified by using the Personalization GUI, and the Oracle documentation has an excellent discussion of Personalization administration.
Oracle Application Server Wireless This component allows for wireless communications between remote wireless servers and the Application Server 10g architecture. This allows the application to generate one set of XML data that is reformatted for the presentation device, be it a cell phone, personal digital assistant PDA , or pager. Wireless communications with Oracle is becoming commonplace because of the ubiquitous nature of Internet service providers creating wireless infrastructures mostly in major cities.
Wireless has the benefit of isolating the database communications from the complexity of the wireless protocol by encapsulating the communications into a separate, intermediate layer. This technology could bring millions of end users into far closer contact with their valuable data. Oracle Reports Server This component allows for fast deployment of reports, documents, and spreadsheets, all using data from the Oracle Database. To achieve this function, the Oracle Reports Server must interface with an Application Server 10g instance and Portal to manage the incoming report requests and send the completed reports back to the requesting user.
To understand the Oracle Reports Server, let s take a simple example and follow the report steps Figure Execution The verified request is then queued for execution in the Reports Server. Note that you can configure multiple run-time engines for each Reports Server. Delivery The Application Server 10g instance then completes the request by sending the completed report to the end user. Single Sign-On SSO With Single Sign-On, a client can sign onto the application once and be automatically authenticated for other components within the application server, as well as to external applications if properly set up.
SSO provides a central authentication repository rather than having a separate authentication for each application on the server. SSO uses the Infrastructure instance to validate users as they move from application to application without forcing them to reauthenticate. Note that SSO only functions within the domain of your Oracle system. Many distributed e-commerce systems communicate with thirdparty portals, and SSO cannot be extended to service these external clients. For example, an Oracle e-commerce site might need to process a payment request with Cybercash, and Cybercash would require its own independent SSO mechanism.
This credential defines those components of Application Server 10g with which the end user is allowed to interface. For example, LDAP entries can be used instead of entries in the traditional tnsnames. We will discuss this tool for managing data access rules in great detail in Chapter 12, along with other security topics.
Metadata Repository Infrastructure The metadata repository is a critical component of Application Server 10g because it allows for a common management interface between multiple instances of Application Server 10g and the other components. The metadata repository is commonly referred to as the Infrastructure, which.
We will discuss the Infrastructure in great detail in Chapter 3. OMS is a component of the Oracle Enterprise Manager console, used to manage Application Server 10g instances, databases, and other components. This storage ability of OMS allows administrators to share server configuration information, scheduled events and jobs, and notifications of failures. To start OMS, you use the emctl command and issue the emctl start oms command to start the web servers and OMS processes.
OMS provides the important functions of user administration, and manages the flow of information between the OEM console and all managed nodes. An OIA is a daemon process that interfaces with the database and operating system on each server within each Application Server 10g farm. The intelligent agent performs localized execution of tasks as directed by the OMS, and for Oracle servers, the OIA performs time-based database monitoring.
The concept of managed nodes adds power to OEM, allowing the Application Server 10g DBA to quickly apply configuration changes to many server components. The problem is that OO languages like Java create objects in the RAM heap, and upon termination of the program, all of the program s objects are destroyed. Oracle Application Server TopLink 10g is a persistence framework that enables object persistence by supplying routines that can be invoked to store Java objects in relational database tables in any relational database that supports JDBC.
In addition, TopLink provides a GUI tool, the Mapping Workbench, that greatly simplifies the task of mapping Java objects and their attributes to database tables. TopLink also provides powerful features like a query framework, object-level transaction support, relationship mappings, object caching, and much more. This is not only extremely time consuming and error prone but also difficult to change. TopLink supports all J2EEcompliant application servers, and can be used to store object data from standard Java objects, as well as entity beans.
To make matters even more challenging,. Both of these administrative interfaces are separate, yet they are closely intertwined in the architecture. Application Server 10g provides two methods for administration, the command-line interface and Oracle Enterprise Manager. This book will show both methods, and the choice of Application Server 10g administration methods is largely up to the individual. We will start with a review of each administrative component and then look at using OEM and the command-line interfaces within each component.
Administrative Component Overview As an Application Server 10g administrator, it is your job to become intimate with all of the management components. Of course, your shop may not have some of the optional components, such as Single Sign-On, but it is imperative that you understand the administrative components and how they fit together. This section will review the general administration tools, Web Cache administration tools, and application layer administration tools. The LDAP server is the foundation of the automated provisioning methodology, and administrators must manage the LDAP repository the directory to maintain user-access privileges.
Large shops may have dozens of components, and SSO allows for easy password management and access control. Metadata repository isadb The isadb is an Oracle database that stores configuration information and metadata. Web Administration Components From the top down, the web server component Web Cache and OHS is one of the most important components of Application Server 10g, and one where tuning is vital. Administrators must use these interfaces to ensure optimal configuration of their systems. On the other hand, many experienced Application Server 10g administrators find that the command-line interface offers a full range of administration commands.
Of course, some tasks must be done from the command-line interfaces. Internally, it makes no difference whether you use OEM or a command-line utility to manage Application Server 10g. This is because the OEM console uses DCM the dcmctl utility to make configuration changes, and to propagate configuration changes and deployed applications across the cluster.
This is true for both v9. The dcmctl-updateconfig command can be used to notify the environment that config files were updated so that the changes are properly picked up. This requirement will be referenced throughout the book. Let s start with a quick tour of OEM for Application Server 10g and then review the command-line interfaces. From a page of the EM central console, you can manage most of the areas of Application Server 10g on multiple servers.
If you have installed the Infrastructure component of Application Server 10g iasdb database repository , then the default EM console page will be the EM Farm page. The Farm page is the highest level of the EM pages and is used to administer all instances within your Application Server 10g configuration. Let s quickly review the component hierarchy from the bottom up: Instances Each J2EE app server or infrastructure is called an instance not to be confused with an Oracle Database instance, which is quite different.
Clusters A cluster is an arbitrary collection of instances. Farms A farm is a collection of instances and clusters that make up your Application Server 10g system and share a common repository database iasdb. Each farm may have many clusters, each cluster may have many instances, and each instance may have many Application Server 10g components.
It is your job as the administrator to configure your components, instances, clusters, and farms according to the processing requirements of your application. The purpose of the EM Farm page is to serve as the master console and display summary information about each instance and cluster within the farm Figure Remember, each instance within the Farm page is an independent J2EE app server or an infrastructure, and the Farm page allows you to drill-down and see the details for each instance using the EM Instance Manager page. Using the EM Farm page, you can also define new clusters and assign instances to clusters.
In Application Server 10g parlance, a standalone instance is a J2EE app server, belonging to a farm, which has not been assigned to a cluster. A cluster is two or more identically configured app server instances. To assign an instance to a cluster, you simply choose it and click the Join Cluster button. Next, let s step down one level and look at what you see when you drill-down into an instance and see the EM Instance Manager page.
For each instance, the Instance Manager page allows you to manage all of the Application Server 10g components. When you select a server from the OEM Farm page, you get the Instance Manager page with details on all components on that server Figure The top of the page displays the host name and status of the server.
Oracle Application Server 10g
The bottom half of the page shows all of the Application Server 10g components on that server. For each component, you see the current status up or down , the start time for the component, and the relative amount of CPU and RAM usage for each component. By selecting a component and clicking the management buttons, you can start, stop, enable, disable, and configure each component on the instance.
Let s take a look at the links on this page. This includes associating a component to a schema in a database that is not in the farm s infrastructure. This allows you to share schemas across instances that do not belong to a particular farm. Logs button On the top right of this page, you can click the Logs link to see all of the log files for each component. Ports button This link displays the port numbers for each server component and allows you to change the port number for any component on the instance server.
Remember, at the lowest level, EM generates the commands and. In UNIX, you can place in your.
- Local Electronic Government (Routledge Research in Information Technology and Society).
- Working with Oracle Application Server 10g.
- Muon-Catalyzed Fusion and Fusion with Polarized Nuclei.
The Oracle command-line utilities will be mentioned throughout this text, but let s just take a quick tour so you can see how they are used to manage Application Server 10g. Table shows all 59 of the command-line executables with Application Server 10g. Category Command Usage Application Server 10g iasua. Discoverer eulbuilder. DMS dmstool This is used for viewing performance metrics. Forms ifbld90 This is used to start Forms Developer.
Forms ifcmp90 This starts the Forms Compiler. Forms iff2xml90 This will traverse a module object hierarchy and produce an XML representation. Forms ifweb90 This allows you to preview a form in a web browser. Forms ifxmlv90 This is the XML validator to validate. J2EE admin. Do not use this command. TABLE Application Server 10g Command-Line Utilities. LDAP ldapaddmt This is just like ldapadd, but with support for multiple threads for adding entries concurrently.
LDAP ldapbind This determines whether you can authenticate a client to a server. LDAP bulkdelete. LDAP bulkload. LDAP catalog. LDAP hiqpurge. LDAP hiqretry. LDAP oidstats. Application Server 10g Command-Line Utilities continued. OID resetiaspasswd. It resets the password to a randomly generated password. OID stopodis.
This is the main tool for starting and stopping an instance. OSSA ossoca. Reports rwbuilder This invokes the Reports Builder. Reports rwclient This parses and transfers a command line to the specified or default Reports Server. Reports rwrun This runs a report using the Application Server 10g Reports Services in-process server. Reports rwserver This invokes the Reports Server. SSO ssocfg.
SSO ssooconf. SSO ossoreg. Web services uddiadmin. Wireless portalregistrar. Wireless reregistersso. Application Server 10g Command-Line Utilities continued Knowing these commands and their parameters for Application Server 10g is very useful for automating administrative functions and creating batch scripts. These commands can easily be placed into scripts shell scripts in Linux and UNIX that can be executed to automate routine management tasks. While each product with Application Server 10g has control files, there are three main command-line interfaces: opmnctl This is the control interface for the Process Management Notification OPM component.
The opmnctl interface provides a startall and stopall argument that will manage all of the Application Server 10g server processes. These command-line interfaces are critical for Application Server 10g administrative scripts. Let s take a look at how command-line interfaces are used as scripts.
Here is an example of a command list to start the iasdb database, the listener, the infrastructure instance, a midtier instance, and the Enterprise Manager web site on both instances. The source envmidtier. This is covered in the Chapter 2. Because the Application Server 10g commandline utilities exist in many locations, it is critical that you set up your OS environment so that your scripts can locate all of the utilities. These are normally placed in the startup shell script to be executed at sign-on time. For example, an Application Server 10g management shell script could be scheduled in the UNIX crontab to perform a scheduled shutdown of all services.
The env. Every Application Server 10g. For example, if an external connection fails to attach to an OHS listener, after ten seconds, the following code could be automatically invoked to bounce OHS. As each component is discussed in later chapters, detailed scripts will be introduced to assist with the administration of that component.
The next few sections give examples of commands that are used to perform frequent Application Server 10g administrative functions. EM Commands with emctl The emctl utility is used to manage all aspects of the Enterprise Manager console. While the EM console is greatly useful for managing components of Application Server 10g, the console itself must be managed.
The powerful startall and stopall commands will manage all server components. Unless a tier consists of a standalone component such as the Web Cache, opmnctl should be used rather than the separate component control program. The following shell script will perform this function:! The DCM is responsible for maintaining configuration by updating the configuration files on each server. DCM also stores the values of the parameters within each configuration file on each server.
Note that if you choose not to implement the infrastructure not recommended , the parameter files will exist as flat files on each server. The dcmctl utility has two important argument settings, verbose -v and diagnostic -d. These are important options because they provide additional diagnostic information about the state of your dcmctl commands.
Starting in Application Server 10g release 9. Here is an example of using dcmctl to start the HTTP server OHS : dcmctl start -ct ohs You can also use the dcmctl command to deploy OC4J applications, and the dcmctl commands can be embedded into command lists for the purpose of deploying them on many servers.
For example, let s create a list of dcmctl commands to deploy an OC4J application on multiple servers. You can create a shell script to loop through a list of all servers and deploy the J2EE application on each OC4J server. This script requires the remote shell rsh and remote copy rcp UNIX commands. The rsh command is enabled by placing server host names in your. The rsh facility should only be implemented if all Application Server 10g servers are safe behind a firewall, because rsh allows a hack who gains access to one server to access all other servers in the.
Let s take a quick look at commands for managing the Web Cache webcachectl and the Oracle Internet Directory oidctl and oidmon. Application Server 10g is now the encapsulation of many application-related products, each with unique features and functionality. Remember, many of the components are optional, and few shops use all of them. The main points of this chapter can be summarized as follows: Oracle has implemented a flexible architecture for Application Server 10g, allowing administrators to define multiple servers to manage the application load.
Application Server 10g architectures may be defined as two-tiered, three-tiered, or four-tiered, and there may be many independent servers at each tier. Multiple Application Server 10g instances can be grouped into farms, which are instances that share a common metadata repository. Common Application Server 10g instances can be grouped into clusters, which are instances that share a common definition and J2EE applications. The Oracle Management Server OMS helps with management and definition of farms, clusters, and instances, making it simpler to manage complex application environments.
TopLink is an important component of Oracle Application Server 10g that allows Java objects to be stored for future reference by other Java tasks. For those who install the Application Server 10g Infrastructure, the Enterprise Manager is a fast and easy way to perform administrative functions. Application Server 10g defines a hierarchy of components, instances, clusters, and farms. Each farm has many clusters, each cluster has many instances, and each instance has many components.
Application Server 10g also provides 59 command-line interfaces. The most popular command-line interfaces are emctl, dcmctl, and opmnctl. Now that we have completed the high-level tour, we are ready to move on to examine the Application Server 10g Infrastructure in more detail. The Application Server 10g infrastructure is the heart of the Application Server 10g farm and is the central metadata repository for many critical application components.
While many administrators limit their definition of the infrastructure to the metadata database often referred to as the iasdb instance , the infrastructure consists of much more. In this chapter, we will examine the metadata repository iasdb , the Single Sign-On SSO security framework, and the Oracle Application Server 10g Management Services: Repository The Application Server 10g metadata repository the iasdb database contains important configuration and usage information for all Application Server 10g components.
This removes the need to manage each component independently and provides a simple, centralized security system. Management Services The Application Server 10g OEM console screens provide complete administrative facilities for all farms, clusters, instances, and components. Virtually every management task can now be done using the OEM console. As an Application Server 10g administrator, it is your job to become familiar with all of these components. Of course, your shop may not have some of the optional components, such as Single Sign-On, but it is imperative that you understand how these infrastructure tools communicate with each other to provide the administrative framework for Application Server 10g.
Let s begin with an overview of the repository data structures. The Infrastructure Repository As the scope of Application Server 10g expanded, Oracle recognized that a centralized data repository was needed to handle all of the metadata required by Application Server 10g. This was achieved by creating an Oracle database on the Application Server 10g midtier called iasdb. The metadata repository is known by several names, including the Application Server 10g infrastructure repository, the infrastructure instance, and iasdb.
The metadata repository holds configurations for many of the Application Server 10g components, and is also extended for use by SSO. As of release 9. Also, starting in release 9. Then we will examine the iasdb log files and look at queries that can be automated for easy viewing. The iasdb database instance has many individual schemas. Each of these schemas has a special function to help control and manage each of the various Application Server 10g components. Table lists the Application Server 10g schemas within iasdb. These schema components are always installed in the infrastructure database, even if you are not using a component.
Once you understand the schema owner s purpose, you can examine the complexity of each schema. As an Application Server 10g administrator, you must become intimate with these schemas and understand which schemas control what system functions. The iasdb instance has some schemas that must be locked, others whose passwords may be changed at will, and others that are registered with the OID and should only be changed using OEM.
Immutable iasdb Schemas Some schemas are immutable, and the passwords and data structures must never be changed. Because the OID manages the passwords for these schemas, you should never attempt to alter any of these schema owner passwords with the alter user command. Instead, you should use the OEM facility for changing these passwords.
Viewing the Whole iasdb Instance The entire iasdb instance contains more than 10, database objects and more than tables. You can run the following script to show the counts for each object type within iasdb. Of course, the iasdb schema components should never be altered or directly manipulated, but there are some important logging components within iasdb. Let s take a close look at some of the Application Server 10g infrastructure log tables. The Infrastructure Log Tables The Application Server 10g system contains numerous log files, some of which are stored in flat files while others are stored inside the iasdb instance.
Remember that log files and audit trails may exist in many places, and you must become accustomed to looking for error messages and audits in the proper places. These include the following files: schemaload. After the iasdb initial load, it is a good idea to check these files for errors. From this screen you can choose any Application Server 10g component and view some of the associated log files. In the example shown in Figure , we chose Wireless and selected the Search button. Here you see server-side error log messages associated with Oracle Portal.
However, this screen can be misleading because the infrastructure database also contains repository logs. The OEM log file viewer. From this screen you can choose the repository components and specify filter conditions. In the example in Figure , we selected the OC4J wireless logs. Let s take a closer look at how this works. In the following listing, we select all iasdb tables that contain the string LOG.
Remember, not all of the log tables are populated with meaningful information, so you must carefully examine each log file to see the contents. Infrastructure Log Reports The following script can be run to display all of the iasdb logs in your system. Next, let s look at special types of iasdb repository log tables and see scripts to extract their messages. The referrer column is most useful because you can use it to track the source of servlet requests. This produces a report similar to using the Oracle DDL system-level trigger, and tracks all Portal changes made by your development staff.
The following report references the portal. It shows the total number of rows processed by Portal developers, aggregated by date, and a summary of all Portal developer activity by date. This administration report is especially useful for change control tracking and quality control functions. This report is useful for Portal development auditing. Here you see all of the Portal activities and total counts for each activity. Repository Administration and Management Because iasdb is an Oracle database, the Application Server 10g components rely on this database being available when they are started.
After the components are started, the iasdb database can be stopped without adverse effects to OHS and Java. Hence, the iasdb database is a central point of failure for your Application Server 10g enterprise, and as the administrator, you should take steps to ensure continuous availability of the iasdb database.
Remember, when the infrastructure repository is not available, users cannot access the SSO login server, and the whole enterprise stops. Because the infrastructure is such a critical component of Application Server 10g, using a high-availability tool such as RAC guarantees continuous availability for the enterprise because the Oracle Transparent Application Failover TAF component will automatically continue processing any in-flight transactions if there is a failure on any iasdb instance.
Let s review the basic infrastructure administration tasks. Starting and Stopping the Infrastructure While performing general maintenance and backups, the Application Server 10g administrator must stop and restart the infrastructure instance. Because of its tight coupling to important Application Server 10g components, the infrastructure database must be started in a specific order. While the startup procedures for the infrastructure are the same as any other Oracle. Here is the order of iasdb startup steps: 1. Start the iasdb listener process lsnrctl start. Start the iasdb database.
Start the OID. Start emctl. If you are using any optional Application Server 10g products, you may also include the following startup steps: 1. Start the Web Cache. Start OMS. With all these steps, it should come as no surprise that you use scripts to start and stop the Application Server 10g components. Application Server 10g uses a hierarchy of shell scripts to perform the start operations, with calls to Oracle executables at the lowest level Figure The hierarchy of Application Server 10g scripts.
Let s examine these scripts and their features. The start script for the infrastructure issues these Application Server 10g commands: 1. Note that the emctl commands are normally performed manually because they prompt for a password and are not easily scripted. Remember stopping EM requires a password. This script performs the following actions: 1. Note that the stopping process is the exact inverse of the start, shutting down all the Application Server 10g processes before stopping the infrastructure database. Now that we have reviewed the infrastructure administrative components, let s turn our attention to the most important infrastructure component, Oracle Single Sign-On, commonly called SSO.
Besides the duplication of passwords, the lack of a unified security interface presented huge maintenance issues and also compromised the overall manageability of the application. Without SSO, every user is required to maintain a distinct password for every application in the enterprise. As anyone who has dozens of passwords can tell you, this means that users must write down the passwords, which can cause a serious security breach. With SSO, each user has only one password for all applications within the Application Server 10g framework.
Unlike traditional Oracle applications, SSO is designed for web-based users. Any Oracle system can be web enabled, and end users can securely access their applications from the Internet, anywhere in the world. As an. Application Server 10g uses two techniques for end-user authentication, one for local partner applications internal and another for external applications.
Because of the infinite possible authentication mechanisms of external applications, they cannot be integrated into SSO, and LDAP entries are used to manage security. Local partner applications Local application authentication is performed from a lookup table within the iasdb schema on the repository. The lookup table contains all of the data, including the user ID, password, and privileges for local users.
External applications External SSO identification allows any third-party products to be incorporated in an Application Server 10g system. At connect time, Application Server 10g binds to OID and looks up the remote user s credentials in the appropriate directory on the server. This chapter focuses on SSO administration, and you can find details on user assignment and application management with SSO in Chapter Roles of the SSO Administrator The SSO administrator is responsible for all access controls and must manage all users who will connect to an application, all applications within the system, and the assignment of users to applications.
There are three basic areas of SSO administration: server configuration, user management, and application management. We will focus on the server installation and configuration of SSO. It s important to note that SSO should run seamlessly once it has been installed and configured. Afterward, the ongoing management of applications and users becomes trivial. If you are using Oracle Portal or external applications, there are additional administrative interfaces to SSO. This is because Portal and any external applications must have customized authentication code.
Because SSO controls the security for the entire Application Server 10g enterprise, it is critical that administrators ensure that proper security is maintained. For more details on the daily operational use of SSO, see Chapter These configuration tasks include Allocate SSO directories These must be allocated with the proper OS permissions to maintain security. Set up SSO configuration files These must contain the correct values for your system. Configure SSO programs These must be configured properly. Establish SSO library routines These must have proper group permissions.
Let s start by looking at the SSO directory structures and understand the purpose and functions of the components within each directory. Each of these directories serves a specific purpose to SSO and contains important scripts and executables. One of the most important is the SSO configuration utility. The ssocfg. For example, if you wanted to add server diogenes on port , you would issue the following command: ssocfg.
The file osso. There are several important directives in the file: OSS idle timeout If you set OssoIdleTimeout on, Application Server 10g will invoke a global inactivity timeout to disconnect idle sessions. The SSO login server is the component of Application Server 10g that accepts the users passwords and manages their access to all Application Server 10g applications. After a user enters an accepted password, Application Server 10g sends a message to all applications that this user has been authenticated and optionally stores a cookie on the browser.
This cookie is used to avoid the need to reenter the password during subsequent visits. TIP Any web browser that uses SSO should be configured to accept cookies because the end user will become annoyed with the repeated login screens that are displayed without cookie support. Because SSO governs security for the whole enterprise, you must have Full Administrator privileges on the login server to configure the SSO login server.
Let s take a look at these log tables. Here is a common SSO activity report:. Here you see a summary of all login operations, summed by hour of the day. You also see counts of all SSO messages summed by hour of the day. The last report in this section shows all SSO details. As noted earlier, if the infrastructure is down or SSO cannot accept connections, no users can access your system. Hence, frequently checking SSO connectivity is an important Application Server 10g administration task.
Here is a Perl script that you can use to check SSO availability. Many Application Server 10g administrators place this script into a cron task and run it every five minutes. If there is a failure in SSO, a pager alert is immediately sent to the administrator. To see SSO in action, let s look at the steps that occur when an Application Server 10g client connects to his or her application: 1. The user requests a URL through a web browser.
If the cookie exists, the web server extracts the user s information and uses it to log the user in to the requested application. At this point the connection is established. The Single Sign-On server makes a request back to the user s browser to see if a local cookie exists on the user s PC. If it finds no remote cookie, SSO tries to authenticate the user with a username and password. If authentication is successful, the Single Sign-On server creates a cookie in the browser as a reminder that the user has been authenticated. If a cookie exists, the Single Sign-On server will authenticate using the cookie.
It then redirects the user to his or her original URL page. Summary The Oracle Application Server 10g infrastructure is a critical component of your enterprise because it serves as a centralized repository and management facility that controls the operation of several vital components.
The iasdb instance contains separate schemas for each component within the Application Server 10g architecture.
Books by John Garmany
The infrastructure database contains more than 10, objects and over individual tables. The infrastructure contains log tables that monitor administration and usage activities for several Application Server 10g components, including Portal and SSO. Startup and shutdown of the infrastructure must be carefully coordinated with other system processes, such that the infrastructure is started before the Application Server 10g components.
Upon shutdown, the Application Server 10g processes and services must be stopped before shutting down the infrastructure. Scripts are the recommended way of doing this! Because the infrastructure is a central point of failure for the entire enterprise, administrators commonly use tools such as Oracle9i and Oracle Data Guard or Oracle Real Application Clusters to ensure against instance failure. Many administrators also use multiple levels of RAID to ensure against unexpected disk failure.
In the next chapter we will look at details of the initial installation and configuration of Application Server 10g and its components. With prior versions, this has always been a frustrating process of failed attempts, followed by research, followed by another attempt. However, for the 10g version of the application server, Oracle has made significant improvements in the installer s ability to ensure that the OS is properly configured and to react more gracefully to problems encountered during the installation.
Tuning Tips for Oracle Application Server 10g
That said, the application server is still a complicated set of interacting software components, and the installation still requires some planning. At the time of this writing, the Windows version of the Application Server 10g was not yet available. Planning for the Application Server Installation As with installing any version of Oracle Application Server, some understanding of the components and their interaction is required.
As discussed in Chapter 1, the application server is much more than the Apache web server. If your only requirement is to serve static web pages with servlets accessing a database, the Oracle Database installs with a fully functional web server that implements Apache s Jserv. On the other hand, if you need to configure and load-balance ten web servers connected to a back-end database, and your applications require a range of J2EE services, you will need the clustering capabilities and consolidated management that Application Server 10g provides. Installation Types Application Server 10g has four installation types.
The fourth type of installation is the Oracle Application Server infrastructure. Installations that include more than J2EE also require the installation of an infrastructure instance, explained in Chapter 2. These are the base components and are included in all other installations. Passe o mouse na imagem para ver detalhes Ampliar.
From the exclusive publisher of Oracle Press books, here is an architectural and technical reference on how to use Oracle Application Server 10g to Web-enable Oracle databases for application server systems. Don Burleson Kittrell, NC has 20 years of full-time experience as a database administrator and has written 12 books on database. Don is also the Editor-in-Chief of Oracle Internals, a popular Oracle journal, and he has published more than articles in national database magazines. A former adjunct professor of Information Systems, Don has taught more than University courses and regularly conducts in-house Oracle training.
John Garmany, Jr. He has contributed numerous articles to international Oracle periodicals and has exceptional teaching skills, and has a Master Degree in Information Systems, a Graduate Certificate in Software Engineering, and a BS degree in electrical engineering from the United States Military Academyat West Point. Compre por telefone: 11 Newsletter Receba descontos especiais e ofertas exclusivas no seu email. Newsletter Nome:.