Exposing E-Business Suite Worklist, Roles and Responsibilities within Web Center.
Exposing EBS functionality within WebCenter is something everyone says is possible, but few have real implementation experience. Recently I had the requirement to expose the EBS worklist, Roles and responsibilities and favorites within WebCenter. In this post I am going to run through the different ways to expose EBS within a WebCenter environment, one size does not fit all.
Before divulging into detail, I wanted to list the ways one can integrate EBS into WebCenter.
- Consuming EBS portlets in WebCenter (WSRP)
- Creation of a custom ADF application, connecting to EBS database, webservices API's or Oracle Service Bus..
Each of the solutions above have advantages and disadvantages, no option is the best. You must take a close look at the requirements and make an educated decision on which implementation approach is best for you.
Consuming EBS Portlets in WebCenter:
Oracle E-Business Suite Release 12 comes with a small number of prebuilt portlets that can be used with Oracle WebCenter. Applications Navigator, Favorites, and Worklist. At first I thought this was the best solution as the OOTB portlets are the exact portlets I needed to expose within WebCenter. In order for this solution to work, I implemented SSO using OAM and configured EBS and WebCenter accordingly. Here is a good white paper link on configuring EBS, OAM, WebCenter and SSO. This is a MAJOR task for most organizations and might steer the majority away from this method.
Luckily, I had access to all the required Oracle products and able to configure SSO accordingly. After configuring SSO I exposed the portlets as instructed in the documentation mentioned above, easy enough…
The problem with this method is you are limited with modifying the end user experience and cannot leveraging the new ADF features. In my example, I wanted the portlets to match the WebCenter portal CSS rules. It ended up being difficult to change the OOTB EBS portlets to match the internal UI.Iowa was not familiar with the ebsportlets generator and had no desire to decompile EBS source code. Additionally one needs to be familiar with the EBS application administration.
Verdict: I decided against this method. Use this method if you own all the Oracle products and sticking with a default Oracle UI and no Oracle Customizations.
Creation of a custom ADF application, connecting to EBS database.
After having discussions with an EBS DBA, we came to the conclusion the needed information for EBS worklist, roles and responsibilities and favorites existed in various EBS tables. Creation of a custom ADF application was now a valuable option. Within 2 days a great POC was running showing a table of worklist items within WebCenter. When a user clicked on an item, a new window opened and they were redirected to the correct EBS worklist page.
<here is a screen shot>
Because this is an ADF application, we created this as an ADF taskflow and uploaded it right to the WebCenter Spaces environment. (see one of my previous posts). We had complete control over the UI in this model and expanded the worklist to included many of the ADF features. This included sorting, filtering, dynamic refresh.
I imagine this solution would not work for all scenarios, converting EBS modules to ADF scares the crap out of me. However, in my example this was an excellent solution.
How to Add Custom TaskFlows to WebCenter 11.1.1.4
In the 11.1.1.4 release of WebCenter I had initial difficulties setting up a new ADF taskflow within webcenter. I followed the Oracle whitepapers (here) to the tea and still unable to correctly view taskflows within WebCenter. This article will dive into the details and show you the tricks that are not in the documentation or white papers.
To start off, follow the Oracle white paper above to deploy the Oracle provided customization projects to your environment. Verfiy that you can see the Oracle customizations within your environment. I typlically checked the resource catalog for the ListOfPages taskflow. Once you have the default customizations running, read below:
- Open your copy of SampleWebCenterSpacesExtensions.jws in JDeveloper.
- Create a new Project, Typically you will create a ADF ViewController project. You can accept all the defaults
- Within this project create a simple ADF taskflow named “HelloWebCenter”.
- Right click your newly created project and select “Project Properties”
- Under the “Deployment Section” Create a new Deployment.
- *IMPORTANT* The “Archive Type” must be - “ADF Library Jar file”. If not, your taskflows will not appear within webcenter.
- Click Ok to create the deployment profile.
- After you click “Ok” a JAR Deployment Profile screen will appear, click “JAR Options” from the left tab.
- On the right side of the screen note the name of the jar file to be created.
- Click Ok and exit the deployment screen
- Right click your project folder and build the project JAR using the newly created deployment profile.
- *IMPORTANT* Before you add your new JAR file to the existing WebCenterSpacesSharedLibExtension project backup the current web.xml file. This file is located here WebCenterSharedLibraryExtensionProject\Web Content\WEB-INF\web.xml.
- Include the project JAR file in the WebCenter Spaces shared library:
- Right-click WebCenterSharedLibraryExtensionProject > Project Properties
- Select Libraries & Classpath.
- Select Add JAR/Directory to add your project JAR.
- Browse to the location of the new projects JAR file and click ok.
- Notice that your new project is listed in the list of JAR’s
- Click Ok
- Open up the WebCenterSharedLibraryExtensionProject\Web Content\WEB-INF\web.xml file. Ensure adding the new project did not change any of the values in this file. (It typically does, which will cause WebCenter to crash)
- Build and deploy the project using the typical methods described in the white paper identified above.
- Once deployed to your webcenter managed server, open webcenter and edit your resource catalog. Your taskflow will appear in the available taskflows.
How to setup windows with putty and xming
Over the last few weeks I have been working extensively in a HP-UX environment. Wow, what I have forgotten! One of my initial troubles was correctly configuring my windows desktop to run a xwindows environment. Oracle WebCenter/UCM/SES and WebTier have nice GUI installation tools for unix environments but with HP-UX additional setup are required. I decided to configure my host environment using XMing and putty.
Based on the links above you can download XMing and Putty. Accept the defaults for the XMing installation, it’s a straight forward installation and putty is an exe that requires no installation.
After xming is installed, you need to configure xming correctly. To configure Xmgin Click Start -> Run -> Programs -> Xming -> XLaunch.
1. Pick your preferred display profile, I selected multiple windows and click next.
2. On the next page, select “Start No Client” We just want to run Xming for now click next.
3. The parameter settings page is important. Ensure the “No Access Control” checkbox is selected. Also select “Clipboard” for the integrated clipboard.
4. Save this configuration for the next time you want to load Xming, Clicking finish will start the Xming application. (You can see the X icon in your taskbar)
5. When Xming is running, open up a putty session, we need to configure putty before we can connect. From the putty configuration panel change the following option:
Connection -> SSH -> Auth -> Check the “Allow Agent Forwarding Checkbox”
Connection -> SSH -> X11 -> Check the “Enable X11 Forwarding”
6. Add your server options, save the profile and connect to the HP-UX environment.
7. After logging into the HP environment type in xclock, if a window appears with XCLOCK then you are golden! Run your Oracle GUI installer. If not, (in my case) we need to set an environment variable. Run the following command from your putty window where the client IP Address is the IP of the computer running Xming.
export DISPLAY=<client IP Address>:0.0
8. After running this command, now try xclock again. Now your GUI window should appear..