Display more Siebel Open UI Portlets in the web page using iframe.
12. 4. 2017
With the Open UI Technology comes also brand new feature which allows to propagate and publish Siebel Applet or View to another web application via iframe . This blog is not discussing the details how to construct an url or what to configure on the siebel side in order to make portlet work. These information can be found for example here :
https://docs.oracle.com/cd/E63029_01/books/ConfigOpenUI/customizing_external_apps002.htm#i1505550
During implementation of portal which was consuming Siebel portlets we found one limitation. It was not possible to display more siebel portlets in the same web page. For us this was show stopper because we had a requirement to consume several siebel portlets in the same page. It was even required to display up to 5 siebel portlets.
Even in the mentioned product documantation is written :
Limitations
The following list outlines limitations when displaying data from Siebel Open UI in external applications:
- Siebel supports only one portlet in a valid Siebel session. Consuming more than one portlet that is targeted to the same Siebel session is not supported
- Opening Siebel Open UI in multiple browser tabs that share the same Siebel session ID is not supported.
Oracle support confirmed this is a product limitation and gave us following sources :
Open Multiple Siebel Sessions Using Within I-Frame (using IE) (Doc ID 2071175.1)
There was possibility to clone the object manager for portlets in order to achieve more resources and parallel sessions. This is not feasible as we needed even 5 or more parallel sessions.
CCW Team found following solution for this limitation :
Lets have some example url for Siebel portlet applet :
<iframe src="https://vp-w.umobi.mobicorp.test/fins_deu/start.swe?SWECmd=GetApplet&SWEApplet=Contact+List+Applet&IsPortlet=1&SWESM=Edit+List&KeepAlive=1&PtId=Mobiliar_B2E>
<p>Your browser does not support iframes.</p>
</iframe>
We have seen that every session has session cookies based on virtual path which references Siebel AOM : /fins_deu/. Our idea is to create parallel virtual paths in the webserver configuration which will reference the same physical webserver directory, in this case This way we get virtual path /fins_deu1/, /fins_deu2/…/fins_deuN/ pointing to
/app/siebel/swse/public/deu
This can be achieved by modifying httpd.conf of the OHS webserver :
/app/siebel/web/OHS/instances/instance1/config/OHS/ohs1/httpd.conf :
#PoC B2E Martin Piekov 09.03.2017
Alias /fins_deu1 /app/siebel/swse/public/deu
Alias /fins_deu2 /app/siebel/swse/public/deu
Alias /fins_deu3 /app/siebel/swse/public/deu
Alias /fins_deu4 /app/siebel/swse/public/deu
Alias /fins_deu5 /app/siebel/swse/public/deu
and to modify the SWSE config
in /app/siebel/swse/bin/eapps.cfg
[/fins_deu1]
ProtectedVirtualDirectory=/fins_deu1
..
ConnectString = siebel.TCPIP.None.None://VirtualServer/ENT_MOBI_0c1/FINSObjMgr_deu
WebPublicRootDir = /app/siebel/swse/public/deu
...
[/fins_deux]
.......
After restarting the webserver we were able to put several portlets into single web page. :
1 portlet with the url :
<iframe id="iframe11" style="width:300px;height:245px;" src="https://vp-w.umobi.mobicorp.test/fins_deu1/start.swe?SWECmd=GetApplet&SWEApplet=MOBI+PoC+B2E+Contact+Oppty+Tile+Applet&IsPortlet=1&SWESM=Edit+List&KeepAlive=1&PtId=Mobiliar_B2E&BCField0=MOBI+Business+Number+Display&BCFieldValue0=0005606" frameBorder="0"></iframe>
And second portlet :
<iframe id="iframe11" style="width:300px;height:245px;" src="https://vp-w.umobi.mobicorp.test/fins_deu2/start.swe?SWECmd=GetApplet&SWEApplet=Contact+List+Applet&IsPortlet=1&SWESM=Edit+List&KeepAlive=1&PtId=Mobiliar_B2E&BCField0=Id&BCFieldValue0=cccc" frameBorder="0"></iframe>
The result can look like following screenshot. The Siebel Portlets in this case expose custom Opportunity Tile Applet strongly customized with css to the portal theme :
Back to Blog