Saturday, April 2, 2011

How to Install Oracle WebCenter 11G?

In this step-by-step guide, we will go through how to install Oracle WebCenter Suite 11G PS3 (11.1.1.4.0). When you install Oracle WebCenter, following components are installed with WebCenter:-
  • Oracle WebCenter Framework (Automatically installed)
  • Oracle WebCenter Space (Optional to install)
  • Oracle Portlet Producer(Optional to install)
  • Oracle WebCenter Discussion Server(Optional to install)
  • Oracle WebCenter Pagelet Producer(Optional to install)
  • Oracle WebCenter Analytics Collector(Optional to install)
  • Oracle WebCenter Activity Graph Engines(Optional to install)
  • Oracle WebCenter Personalization(Optional to install)

This installation does not include installation and configuration of other Oracle WebCenter services like Content Server, Communication Server, BPEL Server etc.

It is assumed that reader has some basic knowledge  of Oracle Weblogic Server 11G.

Pre-requisites

1.       System must have minimum of 4GB RAM

2.       Oracle Database 10g (10.2.0.4 or later) OR 11G (11.1.0.7.0 or later) (Required before RCU Schema Creation)

3.       Oracle Weblogic 11GR1 (Required before WebCenter Installation)

Software Required

1.       Oracle Repository Creation Utility (RCU) 11G (11.1.1.4.0)

2.       Oracle WebCenter Suite 11G R1 PS3 (11.1.1.4.0)

Installation Steps

Installation of Oracle WebCenter consists of following three parts:-

Part1: Creating the schemas for Oracle WebCenter

Part2: Installing the Oracle WebCenter

Part3: Configuring the Oracle WebCenter

Part1: Creating the schemas for Oracle WebCenter

Oracle WebCenter requires that certain schemas exist in the database prior to installation. You must run RCU to create the schemas in the database. Follow the instructions below to create the schemas:

1.       Before running RCU, change the number of process running and process cursor to 500 and restart the Oracle DB Service.

alter system set processes=500 scope=spfile;

ALTER SYSTEM SET open_cursors = 400 SCOPE=spfile;

2.       Go to rcuHome\BIN directory and click rcu.bat. Make sure that JAVA_HOME or JRE_HOME is set in your classpath.

3.       Welcome screen

Click Next.

Welcome

4.       Create Repository Screen

Click Next.

Create Repository Screen

5.       Database Connection Screen

Enter the Oracle database details and click Next.

Database Connection Screen

A "Checking Prerequisites" screen will appear.  Click OK to proceed next.Checking Prerequisites

6.       Select Components Screen

Enter  prefix in Create a New Prefix textbox. Select WebCenter  Suite from the component list.

Select Components Screen

Click Next. A "Checking Prerequisites" screen will appear. Click OK to proceed next.

Checking Prerequisites

7.       Schema Passwords Screen

select Use same password for all schemas and enter password. Click Next.

Schema Passwords Screen

8.       Custom Variables Screen

Click Next.

Custom Variables Screen

9.       Map Tablespaces Screen

Click Next.

Map Tablespaces Screen

A "Creating Tablespaces" screen will appear.  Click Next again.

Creating Tablespaces

10.       Summary Screen

Summary Screen

Click Create. A "CREATE" screen will appear. Click Ok.

CREATE Screen

11.       Completion Summary Screen

Click Close.

Completion Summary Screen

Part2: Installing Oracle WebCenter

Unpack the installation zip file into any directory. To start the installer, go to the directory and switch to the Disk1 directory. Click setup.exe. Perform the following steps:-
  1. A command window will be open that will ask JDK/JRE home location.



2.       Welcome Screen

Click Next.WebCenter Welcome Screen

3.       Install Software Updates Screen

Select Skip Software Updates and click Next.

Install Software Updates Screen

4.       Prerequisite Checks Screen

After the prerequisite checking is complete with no errors, click Next.

Prerequisite Checks Screen

5.       Specify Installation Location Screen

Oracle Middleware Home: Specify the location where Weblogic Server was installed.

Oracle Home Directory: Specify the directory name,  it will be created inside the Oracle Middleware Home.

Click Next.

Installation Location

6.       Application Server Screen

Select Weblogic Server and click Next.

Application Server Screen

7.       Installation Summary Screen

Click Install.

"Installation Summary Screen

8.       Installation Progress Screen

Click Next when the installation is 100% complete.

Installation Progress Screen

9.       Installation Complete Screen

Click Finish.

Installation Complet Screen

Part3: Configuring the Oracle WebCenter

After you have successfully run the installer, you can configure your Oracle WebCenter components by running the Oracle Fusion Middleware Configuration Wizard.

1.       Start the Configuration Wizard from the WeblogicĂ Tools option.

2.       Welcome Screen

Select Create a new Weblogic domain and click Next.

Welcome Screen

3.       Domain Source Screen

Select the following products:-

a.       Oracle WebCenter Spaces -11.1.1.0

b.      Oracle Portlet Producers - 11.1.1.0

c.       Oracle WebCenter Discussion Server - 11.1.1.0

d.      Oracle WebCenter ActivityGraph Engines - 11.1.1.0

e.      Oracle WebCenter Personalization - 11.1.1.0

f.        Oracle WebCenter Pagelet Producer - 11.1.1.0



Click Next.

Component Screen

4.       Domain Name and Location Screen

Enter the domain name for example webcenter_domain  with default locations. Click Next.

Domain Name & Location



5.       Configure Administrator Username and Password Screen

Enter the user name and password. This user will be domain administrator. Click Next.

Administrator User Name and Password

6.       Configure Server Start Mode and JDK Screen

Select the Startup Mode and JDK. Click Next.

Configuring Server startup Mode





7.       Configure JDBC Component Schema Screen

Configure the schema information for each data source listed on this screen. When you make changes to any field on this screen, the changes are applied to selected data sources only. For fields that are common with all data sources (for example, all data sources reside on the same database), you should select all of the data sources and make your changes. The changes are saved automatically as you type.

After all of the information that is common to all data sources has been specified, then you will need to select individual or smaller groups of data sources and enter information that is specific to them (for example, the schema owner).

Click Next.

Configuring JDBC



8.       Test Component Schema Screen

Verify that the connections to your data sources are successful.

Click Next.

Test JDBC Connection





9.       Select Optional Configuration Screen

Do not select anything on this screen.

Click Next.

Optional Configuration Setting

10.       Configuration Summary

Verify the information and click Create.

Verify the Installation




11.       Creating Domain Screen
When the domain has been successfully created, click Done.

CreateWhen you create a WebCenter domain, 1 admin server (running on default port 7001) and following Managed Servers will be created:-
Server Default Port Application(s)/Component(s)
AdminServer(admin) 7001 1.       Admin Console Application
WC_Spaces 8888 2.       Oracle WebCenter Spaces.
WC_Portlet 8889 1.       Oracle WebCenter Portlets2.       Oracle Pagelet Producer
WC_Collaboration 8890 1.       Oracle WebCenter Discussions Server
WC_Utilities 8891 1.       Oracle WebCenter Activity Graph2.       Oracle WebCenter Analytics Collector 3.       Oracle WebCenter Personalization server

Installation Verification

1.       Run the admin Server

DOMAIN_HOME\startWebLogic.cmd

2. Run all the managed servers

DOMAIN_HOME\bin\startManagedServer.cmd <Server-Name>

For example

DOMAIN_HOME\bin\startManagedServer.cmd WC_Spaces

DOMAIN_HOME\bin\startManagedServer.cmd WC_Portlet

DOMAIN_HOME\bin\startManagedServer.cmd WC_Collaboration

DOMAIN_HOME\bin\startManagedServer.cmd WC_Utilities

3.       Start the browser and access the following URLs:- ·
  • To access the Administration Server:  http://<Server-Host-Name>:7001

  • To access the Administration Server console: http://<Server-Host-Name>:7001/console

  • To access Enterprise Manager:  http://<Server-Host-Name>:7001/em
  • To access WebCenter Spaces:  http://<Server-Host-Name>:8888/webcenter
  • To access WebCenter Pagelet Producer:  http://<Server-Host-Name>:8891/welcome
  • To access WebCenter Analytics, Activity Graph and Personalization Server:  http://<Server-Host-Name>:8891/activitygraph-engines
  • To access WebCenter Activity Graph: http://<Server-Host-Name>:8891/activitygraph-engines/Login.jsp
  • To access WebCenter Personalization Server: http://<Server-Host-Name>:8891/wcps/api/property/resourceIndex
  • To access WebCenter Rich Text Portlet:http://<Server-Host-Name>:8889/richtextportlet/
  • To access WebCenter WSRP Tools:  http://<Server-Host-Name>:8889/wsrp-tools/
  • To access Pagelet Producer: http://<Server-Host-Name>:8889/pageletadmin/login/loginpage.jspx
  • To access WebCenter OmniPortlet and Web Clipping Portlets:  http://<Server-Host-Name>:8889/portalTools/
  • To access WebCenter Discussions: http://<Server-Host-Name>:8890/owc_discussions

Where you <Server-Host-Name> is your machine name or IP address where you installed WebCenter.

References

Installation Guide:  http://download.oracle.com/docs/cd/E17904_01/install.1111/e12001/toc.htm

Quick Installation Guide: http://download.oracle.com/docs/cd/E17904_01/install.1111/e10146/toc.htm

Upcoming post: In my next post, we will discuss how to install Oracle Universal Content Management (UCM) (a Content Server) and Oracle Oracle Inbound Refinery (IBR) (a File Conversion server).

Tuesday, March 1, 2011

WSRP: What and Why?

WSRP(Web Services for Remote Portlets): A OASIS-approved specification designed for communications with remote portlets.  WSRP allows portals to display remotely-running portlets inside the portal pages without doing any additional programming.  This means that the portlets can run on one server or container and the portal itself can run on another. Portal and portlet communicates with each other using SOAP-based Web Services standard.  Due to WSRP portability, Java portal site can also communicate with .NET portlets as long as they communicate via WSRP and vice versa.

You can develop WSRP portlets using Oracle WebCenter framework, IBM portlet factory, Liferay portal, .NET Portlet Toolkit etc.



Why do you need WSRP? If Web services offer a mechanism to create platform-independent services, and JSR-168/268 defines a standard by which to develop portlets, why do you need WSRP? The answer is simple. While Web services give you the ability to reuse back-end services, WSRP lets you reuse the entire user interface!

Friday, February 18, 2011

Why do we need JMS?

What is JMS(Java Message Service)?

A specification (API)  that describes a common way for Java programs to create, send, receive and read distributed enterprise messages. Its basically meant for object communication in multithreaded & heterogeneous environment.

It enables
  • loosely coupled communication (not like RMI or CORBA)
  • Asynchronous messaging
  • Reliable delivery (a message is guaranteed to be delivered once and only once)





Best examples where we can use JMS are “Enterprise Chat Application” & “Stock Trading Application”.

All the major vendor (IBM, Oracle, Apache, Google etc) has given its implementation. Its also available as a add-on of application server like Oracle Weblogic Server, JBOSS etc.

Why do we need it?

It will be useful when you are writing some event based applications like Chat Server which needs a publish kind of event mechanism to send messages between the server to the clients who got connected with the server.

Its different from RMI, in JMS there is no need for the destination object to be available online while sending a message from the client to the server. But in RMI it is necessary. So we can use JMS in place of RMI where we need to have loosely-coupled mechanism.

Conclusion

JMS is the distributed enterprise messaging API. You can use these API in order to develop your own application or you can 3rd party implementation like IBM MQServies.  We will choose JMS if there is a requirement of enterprise messaging application that requires to send/receive huge number of messages in reliable environment.



Thursday, November 4, 2010

Struts2 Analysis

Recently i got the chance to work on struts2. Briefly, its a J2EE MVC web framework like struts-1, JSF, ADF etc. During development, I found following its pros and cons:-

Pros:
1. Excellent support for Spring, Freemarker, Tiles, AJAX, JQuery etc.
2. Very easy to understand as compared to Struts-1, JSF & ADF
3. Highly configurable & extendable framework
4. Builtin support for token generation,Internationalization etc
5. Good abstraction away from Servlet/JSP
6. Struts2 tags are simpler to use
7. Good builtin Validation framework
8. New version of MyEclipse 8.6 has builtin support for Struts2
9. Good management of properties files like global level, package level and action level

Cons:
1. Poor documentation.
2. Struts2 themes make the framework harder to understand and slower. In order to develop or update themes, someone must know Freemarker language.
3. Immature internationalization support.Tags not fully support of localization.
4. Interceptors are not flexbile enough as compared to Filter. As you can not define interceptor in web.xml alongwith parameters.
5. No builtin pagination and data grid support.
6. Problem in localization for display tag

Monday, June 7, 2010

End-to-end Weblogic Clustering steps with Apache Proxy Plug-in

End-to-end Weblogic Clustering steps with Apache Proxy Plug-in


Purpose


This tutorial will give you quick overview about how to create a new cluster using tow physical boxes and how to configure Apache Proxy Plug-in as a load balancer. It is assumed that person must have good knowledge of J2EE & Weblogic Server.

Topics


This tutorial covers the following topics:

1.      Overview

2.      System Requirements

3.      Creating a Cluster

4.      Monitoring the Cluster

5.      Load Balancing using Apache Web server & Proxy plug-in

6.      Create a clustered-enabled web-application for Weblogic Server

7.      Deployment on Clustered

8.      Best Practices

9.      Related Information

Overview


A WebLogic Server cluster consists of multiple WebLogic Server instances, running simultaneously and working together to provide increased scalability and reliability. A domain includes one or more WebLogic Server instances, which can be clustered, nonclustered, or a combination of clustered and nonclustered instances. A domain can include multiple clusters.

A cluster appears to clients as one WebLogic Server instance. The server instances that constitute a cluster can run on one machine or on different machines. You can increase a cluster’s capacity by adding server instances to the cluster on an existing machine, or by adding machines to the cluster to host the incremental server instances.

All server instances in a cluster use multicast or unicast to broadcast regular server heartbeat messages to other members of the cluster. Each heartbeat message contains data that uniquely identifies the server that sends the message. Servers broadcast their heartbeat messages at regular intervals. In turn, each server in a cluster monitors the multicast or unicast address to ensure that all peer servers’ heartbeat messages are being sent.

System Requirements


Make sure that your system environment meets the following requirements:

Software Requirements
  • Ms. Windows 20003
  • Oracle Weblogic Server 10.3
  • Apache Web Server 2.2

Minimum Hardware Requirements

Item Specification
Processor Type Intel Xeon
Processor Speed 2.4 GHz or higher
Number of Processor 1 or more (if required)
Memory 4 GB
Free Hard Disk Space 20 GB
Operating System MS. Windows 2003


Creating a Cluster


Perform the following steps:

1.      Install Weblogic Server in Box-A and Box-B in the same directory structure.

Box-A   Suppose IP Address is : 192.168.1.1
Box-B   Suppose IP Address is : 192.168.1.2

2.      Create a Domain (myDomain)  in Box-A then Start the AdminServer (suppose port is 7001 for Admin) of that newly created Domain

3.      Open Admin Console http://192.168.1.1:7001/console

4.       Create two Managed Servers MS3 and MS4 with following configurations.

MS3 Listen Port: 7003
MS3 Listen Address: 192.168.1.1

MS4 Listen Port: 7003
MS4 Listen Address: 192.168.1.2

5.      Create two machines (M1 and M2) with following node manager configuration and add MS3 to M1 and MS4 to M2.

M1
Nodemanager Listen Address: 192.168.1.1
Nodemanager ListenPort: 5556

M2
Nodemanager Listen Address: 192.168.1.2
Nodemanager ListenPort: 5556

6.       Now start NodeManager in Box-A and see in the admin console that its accessible from M1.

Home –>Summary of Machines –>Machine-A –>Monitoring
Make sure that the Nodemanager Status is “Reachable”.

Steps For Box-B (Second Managed Server Box)

7.      Paste the Domain from Box-A to Box-B in the Same Location where it is available in Box-A.

8.      Open the command prompt and set environment variables using setWLS.cmd.

9.      Enroll NodeManager of Box-A with myDomain created in Box-B  using following WLST command:-

nmEnroll('C:/bea/user_projects/domains/myDomain',
'C:/bea/wlserver_10.0/common/nodemanager')

10.            Start the NodeManager at Box-B and login to AdminConsole of Box-A and then check that the Machine-2 Nodemanager is showing “reachable”.

11.  Create a Cluster with following information:-

Field Value
Name myCluster
Messaging Mode Unicast
Clustered Address 192.168.1.1:7003, 192.168.1.2:7003


12.  Click myCluster. Click the Configuration > Servers tab.



Add MS3 and MS4 servers in myCluster and click Finish.

13.  Start the MS3 using following shell command:-

myDomain\bin>startManagedWebLogic.cmd MS3 192.168.1.1:7001 from Box-A

14.  Watch the server start up using the shell's standard output stream.  At some point, you should see it begin listening for cluster communication and begin waiting to synchronize with other servers in the cluster. Because the other servers have not started, there is nothing for it to synchronize with yet:

<Jun 3, 2010 5:41:36 AM CDT> <Notice> <Cluster> <BEA-000197> <Listening for announcements from cluster using unicast cluster messaging>

<Jun 3, 2010 5:41:36 AM CDT> <Notice> <Cluster> <BEA-000133> <Waiting to synchronize with other running members of Cluster_1.>

<Jun 3, 2010 5:42:06 AM CDT> <Notice> <Cluster> <BEA-000162> <Starting "async" replication service with remote cluster address "null">

15.  Repeat the previous steps to start the other managed servers from the Box-B. Once again, use the shell's standard output stream or the server log to confirm that the servers joined the cluster successfully:

myDomain\bin>startManagedWebLogic.cmd MS4 192.168.1.1:7001



<Jun 3, 2010 6:03:07 AM CDT> <Notice> <Cluster> <BEA-000197> <Listening for announcements from cluster using unicast cluster messaging>

<Jun 3, 2010 6:03:07 AM CDT> <Notice> <Cluster> <BEA-000133> <Waiting to synchronize with other running members of Cluster_1.>

<Jun 3, 2010 6:03:16 AM CDT> <Notice> <Cluster> <BEA-000142> <Trying to download cluster JNDI tree from server MS4.>

<Jun 3, 2010 6:03:16 AM CDT> <Notice> <Cluster> <BEA-000164> <Synchronized cluster JNDI tree from server MS3.>

Above information is showing that cluster has been created successfully.

Monitoring the Cluster


1.      Return to the administration console. Select Environment > Clusters from the Domain Structure panel. Then select your cluster.

2.      Click the Monitoring tab. You can see summary, health and Failover tabs. The Cluster—>Monitoring page displays how many Managed Servers are configured for the current cluster, and how many of the configured Managed Servers are currently running. For each Managed Server configured for the cluster, the monitoring table displays the current state of the server instance, and metrics about activity since the server instance was started.




Load Balancing using Apache Web server & Proxy plug-in


The Apache HTTP Server Plug-In allows requests to be proxied from an Apache HTTP Server to WebLogic Server. The plug-in will also serve as a load balancer for Weblogic Server.

Note: You can install apache server on Weblogic machine or separate machine. Assume Apache Web Server is running at http://192.168.1.3:80

The Apache plug-in is distributed as a shared object (.so) for windows.

1.    Copy the mod_wl_22.so (for Apache 2.2) from <Bea-Home>\server\plugin\win\32 to <Apache-Home>\modules\

2.    Add following lines in the httpd.config file for single clustered:-

LoadModule weblogic_module modules/mod_wl_22.so

<IfModule mod_weblogic.c>

WebLogicCluster 192.168.1.1:7003, 192.168.1.2:7003

Debug                    ON

WLLogFile             c:/tmp/global_proxy.log

WLTempDir             "c:/myTemp"

DebugConfigInfo       On

KeepAliveEnabled       ON

KeepAliveSecs         15

DynamicServerList     ON

</IfModule>

<Location /weblogic>

SetHandler weblogic-handler

Path-trim weblogic

</Location>

Note:-  Apache plug-in will treat 192.168.1.1:7003 as primary server. It mean first request will go to MS3 managed server.

3.    Restart Apache Server.

4.      Deploy the application on a cluster. For example your application context path is sessionDemo.

5.      Now, access the application using Apache Server like

http://192.168.1.3:80/weblogic/sessionDemo


Where 192.168.1.3:80 is the IP address and port of Apache Web Server.


6.     To verify the configuration of the proxy server & status of Weblogic Managed Server:-


http://192.168.1.3:80/weblogic/sessionDemo/session.jsp?__WebLogicBridgeConfig


Clustering Best Practices


  1. When creating the clustered WebLogic Server instances on a single machine, specify an unused localhost port such as 127.0.0.1 for the Listen Address. If you leave the Listen Address field blank, the server binds to all available IP addresses on the machine. If you specify "localhost" as the Listen Address, the server binds to all localhost addresses (127.0.0.x).
  2. When creating a new cluster, it is recommended that you use unicast for messaging within a cluster. For backward compatibility with previous versions, WebLogic Server you must use multicast for communications between clusters.
  3. Always specify an unused Multicast address and port number for production clusters. This ensures that only the cluster's messages are broadcast on the address/port combination.

4.      Do not install WebLogic Server on machines that have dynamically assigned IP addresses.

Related Information


  • Weblogic Clustering

http://download.oracle.com/docs/cd/E11035_01/wls100/cluster/setup.html
  • Weblogic Clustering

http://biemond.blogspot.com/2008/11/build-your-own-weblogic-103-cluster.html
  • Cluster unicast messaging mode

http://weblogic-server.blogspot.com/2010_02_01_archive.html
  • J2EE Clustering

http://www.theserverside.com/news/1364410/Under-the-Hood-of-J2EE-Clustering
  • Installing and Configuring the Apache HTTP Server Plug-In

http://download.oracle.com/docs/cd/E15051_01/wls/docs103//plugins/apache.html

Thursday, January 28, 2010

Quick Oracle Database 10G Patch Installation on Windows 2003 innon-clustered environment

This installation procedure will apply from any version of Oracle DB 10G to upgraded version of 10G in non-clustered or non-RAC environment.

1. Before installing, shutdown all database services from the control panel.

2. Run the db_patch/setup.exe file.

3. During installation, specify existing installed database home.

4. Select default in rest of the steps of the installation and complete the installation.

5. Start the listener and database services from the control panel. dbconsole service remain stop.

6. Run the Oracle Database Upgrade Assistant from Start --> Program Files --> Oracle_DB_10G_Home-->Configuration and Management Tools.

a. select the name of the Oracle Database that you want to update

b. On the Recompile invalid objects screen, select the Recompile the invalid objects at the end of upgrade option

c. If you have not taken the back up of the database earlier, on the Backup screen, select the I would like to take this tool to backup the database option. [Optional]

This patch installation will take almost 1 hour depends upon the processor.

For detailed instructions and troubleshooting, pls see