Deploying Oracle Endeca Portlets in WebLogic
We're long overdue for a "public service" post dedicated to sharing best practices around how Ranzal does certain things during one of our implementation cycles. Past installments have covered installation pitfalls, temporal analysis and the Endeca Extensions for Oracle EBS.
In this post, we're sharing our internal playbook (adapted from our internal Wiki) for deploying custom portlets (such as our Advanced Visualization Framework or our Smart Tagger) inside of an Oracle Endeca Studio instance on WebLogic.
The documentation is pretty light in this area so consider this our attempt to fill in the blanks for anyone looking to deploy their own portlets (or ours!) in a WebLogic environment. More after the jump...
Setting The Stage
A few key pre-requisites for installing:
- Make sure that WebLogic is running.
- Find the Studio home location where the Weblogic domain is configured.
- Make sure that the post-installation tasks of creating the deploy and weblogic-deploy folders were performed
- If the folders were not created, create them and restart WebLogic.
- Locate and backup the .ear file that is currently deployed
- Unzip the ear file to an easily accessible location, hereby referred to as the Unzip Home.
Copying, Configuring and Re-Zipping
- Copy your portlet .war file (ex: branchbird-visualization-portlet-3.1.XXX.war) to the deploy folder underneath Studio home (Ex: C:OracleMiddleware31user_projectsdomainsendeca_studio_domaineidstudiodeploy)
- Wait a few seconds for the file to be processed or watch the log file for a message indicating success.
- Observe that a new .war file has been created in the weblogic-deploy folder inside of Studio home (Ex: C:OracleMiddleware31user_projectsdomainsendeca_studio_domaineidstudioweblogic-deploy). Note that the name of the file may have changed slightly.
- Copy this new .war file into the Unzip Home (where the .ear file was unzipped in step 6 of the previous section).
- In the Unzip Home, edit the application.xml file inside of the META-INF folder to include the new portlet.
- Re-zip the Unzip Home directory into a .ear file using your favorite zipping tool. On Linux, the following should work from the root of the Unzip Home: jar -cvf <original_ear_name>.ear .
Don't forget the final "."
- Replace the original .ear file with the newly created one and restart Web Logic.
- Once Studio has started again, you can validate that the component is working correctly by checking the "Add Component" dialog for the new Portlet...
...or in the WebLogic console under "Deployments".
And that's it! It's a seriously involved task, especially relative to the "drop in and go" deployment model on Tomcat but it's an essential one for traditional "Red Stack" customers that tend to always deploy when possible on WebLogic.
Let us know if this was helpful and if you'd like to see us do more of these (topics wanted!).