Home » Oracle Fusion Middleware
Show Most Recent Articles List Articles By Author

From the Cluster Topology page of Enterprise Manager Application Server Control, you get a hierarchical view of your OC4J Instances and their applications. You can click into each to undeploy, but sometimes you want to undeploy multiple applications (like multiple human tasks from your undeployed BPEL processes — since the BPEL Console undeploy does not actually undeploy the human tasks). Here are a list of steps that would allow you to undeploy multiple applications from oracle application server:

  1.  Login to oracle “Application Server Control”
  2.  Scroll to Groups tab
  3.  Select the proper “OC4J Instance”. The instance that contains you deployments.
  4.  Click on the “Applications” tab

This window allows you to start, stop, undeploy or redeploy mutliple applications.

Written by Kevin Landon Kevin Landon on Tuesday, February 5th, 2008

It seems that Oracle has seen a need for, and developed a product for the entry level business that doesn’t require a huge investment in hardware or software knowledge. This is Oracle APEX, or APplication EXpress. At first glance it seems to be a streamlined melding of other ORACLE products (I can see bits of Application Server and Portal in it) It requires much less knowledge of PL/SQL or ORACLE Architecture to build applications, which makes it ideal, doubly for getting people into using Oracle Products. The better part is it will work with any ORACLE Database install version after 9.2 without issue, including a little gem called XE.

Oracle Database Express Edition (currently version 10g) is a wonderful little setup. Designed for lower power systems, it is an excellent option for small scale operations, and totally in-house needs. It does not need the massive amounts of hardware resources of it’s larger brethren, yet still provides much of the power. It has it’s limitations however. Your Database can only get so big, and the server won’t use more than a certain amount of RAM or CPU time. I have done test installs on the same machine I used in my other Portal article ‘Under Powering Portal on purpose and winning’ with almost no slow downs at all. It also has a few other limits, which can be worked around quite easily to make the product more robust.

Best of all, APEX can run against a full 10g or 11g install of Database as well as XE, and you can upgrade rather nicely from XE to full DB if your needs demand it. The design of both of these products almost makes me think they are supposed to be Windows Installed (Windows 2000, Windows XP, and Server 2003 are all supported), and their installers run quite well. APEX needs a few SQL commands, but nothing too difficult. In my tests so far, I have only crashed the installer once. It also only takes a fraction of the time, a total install of XE and APEX taking around 70 minutes (including downloading the install files) compared to 3-8 hours for DB (10g) and Portal (post install file download)

As I test and use it more, I’ll see if it’s as good as it’s claimed, or if under the shell it’s obtuse and difficult to utilize. I look forward to pushing forward with this, and seeing what can be done, and whether it’s as flexible as it claims.

Written by Kevin Landon Kevin Landon on Wednesday, January 16th, 2008

Our friends at Oracle give us a nice list of requirements for their Application Server and Portal products, to help us define to our customers what is needed to run these mammoths of ability and power. But can you make it run on less? And if so, how much less?

NOTE - ORACLE does not condone or recommend any of the following practices. In a real production environment, I agree. This was done as a test to see if it could be done.

Oracle says that to run Application Server 10g you need a few things. For this post, we are on the Windows Server OS. It is put forth you need to be on at least SP1 of Server 2003, Have a minimum 300 MHz CPU (although they recommend a 450, and really recommend 2 GHz and up), and 1 GB of RAM, on an NTFS file system. There is of course the need for a Network interface, and some other ancillary items, but above are the core hardware specs, pulled from their installation documents.

If I said you could make it work in 640 MB of RAM, at 1.4 GHz of CPU on a desktop motherboard, you might say I’m crazy. Well it can be done, and has been done. The trick is to understand what Oracle needs to install, and how to give it that, or make it think it has it.

The OS itself needs to be as lean as it can get. If you don’t need it, don’t enable it. This goes for server roles, as well as secondary applications. Since Oracle installs Apache, you don’t even need to enable Web server functions. The less you have to install the better. The breakdown is below for how I made this work.

Your primary enemy is timeouts. They alone can bring an otherwise perfect concept to it’s knees. Also, you need to know what it is you really need installed. Obviously, to run Portal as well as OAS, you need the full Infrastructure with Identity Management installed, not much option there, and that usually will install without much issue. The trick is in Portal itself. Installing the Portal system gives you many options, and many packages they need to be deployed and setup, and as anyone who has done this knows, if it fails, it UN-deploys anything in process. Portal deployment is where most of the timeouts tend to occur in this build.

The fix? Once the infrastructure is in, and running (and for safety sake, a backup made) the timeouts need to be increased, doubling them usually works, in some cases tripling them is better. If there is a retry setting available, bump it up a notch or two. While it seems crazy, the object is to get it to install. Tweaking them back down can be done once it’s up and running. Also, look into limiting the number of connections, and the settings that affect, or are affected by those numbers. Also don’t shy from touching the settings that dictate how much RAM Oracle looks for and allocates itself at start-up. ORACLE says not to touch them for the record, but by reading the documentation carefully, for the purposes of NON-PRODUCTION systems, you have a little wiggle room. For the install referenced here, the Web Cache, J2EE, Portal and Wireless options were installed, Business intelligence was left out, as even with the increased timeouts, the system couldn’t handle the load.

Now yes, this does make your normal 90 minute install of OAS and Portal take upwards of 3-4 hours, but it will take. Of course, backup the whole system once it’s in, and then go back to tweaking the timeouts back down. Surprisingly, you can actually get the system to respond well to external requests, even though the console itself runs very slow. In my configuration, the external response time was only about 5 seconds (most people say the average net person is willing to wait 3 for a response) for most pages.

The end result is a basic install of OAS and Portal, on the same box, ready for dev work or process testing. Obviously, given the limited resources, you can’t have more than about 10 concurrent users or even then the tweaks stop working and the system grinds to a halt.

The system this was built on had this for hardware:

-Intel d850 desktop mainboard, 1.4 GHz Pentium CPU, 640 MB of RAMBUS PC800 RAM

- Linksys 10/100 PCI Network Card

- Matrox Millennium G550 AGP Video

- Maxtor 20 GB UDMA100 Drive (system/ pagefile)

- Maxtor 10 GB UDMA 66 Drive (apps/data)

- Mitsumi 52x CD-Rom

Configured with each hard drive as a Master on each IDE chain, with the CD-ROM on the Secondary Slave channel. No audio whatsoever. Windows bundled video driver for video, and Linksys installed network drivers. Primary hard drive dedicated to OS and a fixed size 2GB swap file. Diskeeper installed as only other program on OS. IIS Lockdown was run, and Frontpage extensions enabled. No server roles defined. Set to optimize network traffic. Secondary drive dedicated to Oracle applications and data storage (didn’t have a 3rd drive to use for that). CD-Rom disconnected once system install complete to get every last drop of I/O out of the controllers.

Oracle was configured with only 5 users (above the built in ones) at varying levels of access privileges. Portal was upgraded to 10.1.4 and a custom front-end page was built for the Portal system. No support was purchased from Oracle, so no effective DB tuning could be performed. After each major component was installed, a complete defragmenting was performed, and a backup made.

I don’t recommend this type of exercise for the faint of heart, but it was a fun challenge, and taught me a lot about how some of the internals work together in the Windows platform Oracle install to make it all happen.

Oracle BPA does a great job importing into BPEL, but here are a few items that need to be manually configured:

  • Process Payloads need to be copied, Assigns to set up parameters
  • Import from BPA to JDeveloper tool, the build.xml and build properties are often missing and need to be copied from other projects
  • Human Tasks need to have forms assigned
  • Embedded Java tasks cannot be round-tripped back into BPA, so they shouldn’t be used
Written by ashok.aggarwal ashok.aggarwal on Thursday, June 12th, 2008

Oracle has made some great strides with their BPM and SOA offerings. For M&S, combining process and technology has become even more exciting with Oracle’s tools. For the first time, Oracle has made it possible for our consultants to more easily bring together best of breed solutions (IDS Scheer’s ARIS and Oracle SOA) and leading industry standards (BPMN, BPEL, and BPEL4People) to our implementations, which typically involve some level of process management/improvement and technology automation (workflow and reporting).

Following is a quick image of how each person in an organization fits into our approach when combining process with technology using Oracle technologies:

bpa

Written by ashok.aggarwal ashok.aggarwal on Monday, May 19th, 2008

Oracle BPA Suite 10.1.3.4 is now available from Oracle and has some cool enhancements:

Oracle BPA 10.1.3.4 Download

We have been using BPA Suite since beta, but for those of you who don’t already know, Oracle BPA Suite provides tools for process modeling and simulation, with integration to Oracle SOA Suite (BPEL).

Note: At time of writing, the server components are NOT available for free download on the oracle.com site.

Written by ashok.aggarwal ashok.aggarwal on Saturday, May 3rd, 2008

This is a very, very common complaint I hear from developers, testers, and production support.

I find there are a couple reasons that this can happen:

1. The flow has faulted sometime after the wait activity, but never dehydrated again, so it appears to be “stuck” on the wait activity. Put in some more waits to force dehydration soon after your “problematic” wait to ensure the wait really isn’t your issue.

2. In 10.1.3, the default wait in JDev is set to 1 day; please, be sure to set your wait times properly.

3. The flow really is just waiting too long. Oracle advertises the wait time as a “minimum”. You may want to increase the number of threads you have running for your scheduler.

  • Stop your application server
  • Take a backup copy of the following file:
    \bpel\domains\[domain-name]\config\resources-quartz.properties
  • Change the resources-quartz.properties file:
    com.oracle.bpel.expirationAgent.threadCount is defaulted to 10. You can increase this to 50 or 100, or more depending on your load.
  • Restart the application server
Written by ashok.aggarwal ashok.aggarwal on Friday, May 2nd, 2008

Are you running out of disk space because your domain.log is growing too fast?

  1. Open BPEL_HOME/domains//config/log4j-config.xml
  2. Change the appender class from com.collaxa.cube.util.CXRollingFileAppender to org.apache.log4j.RollingFileAppender
  3. Add a new parameter:
    <param value="50MB" name="MaxFileSize" />
    

Here is an example of what the file should look like in the end:


<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender class="org.apache.log4j.RollingFileAppender" name="A1">
<param value="true" name="ImmediateFlush" />
<param value="false" name="Append" />
<param value="D:/soa/product/10.1.3.1/as_1/bpel/domains/default/logs/domain.log" name="File" />
<param value="50MB" name="MaxFileSize" />
<param value="10" name="MaxBackupIndex" />

Notes:

  • MaxFileSize will dictate max size for each log file while MaxBackupIndex will dictate the total number of log files that will accumulate (the above settings will yield a maximum of 550MB
  • Any new domain will get these values be default, so change their respective log4j-config.xml file
  • These changes require a BPEL restart
Written by ashok.aggarwal ashok.aggarwal on Monday, January 28th, 2008

Marc Kelderman wrote a helpful article on this topic:

http://orasoa.blogspot.com/2007/03/delete-bpel-instances.html

And one of the users there also notes:

Note there is a patch to 10.1.3.3 to purge old data (6372741). Its a fairly dumb one that deletes everything older than a given date. Trying to do something more elaborate we have noticed that if you use the script in this article as a basis then rows in xml_document table are not removed.

We will add more to this starting point soon.

Written by ashok.aggarwal ashok.aggarwal on Monday, January 21st, 2008

I don’t really like what Oracle did with BAM user/roles and authentication.

I think they took Microsoft tables and just slapped them into Oracle (having to put quotes around tables and columns). I assume this process will change in the upcoming releases, but here is a quick SQL statement you can use to get a look at your users and their roles as BAM understands them:

SELECT iu."SysIterName" username, iur."RoleName" userrole
FROM orabam."SysIterUser" iu, orabam."SysIterRoleUserMapping" iur
WHERE iur."UserID" = iu."SysIterID"
ORDER BY iu."SysIterName"

Written by ashok.aggarwal ashok.aggarwal on Saturday, January 12th, 2008

If you have used the email notification activity in Oracle BPEL (up through the latest version at the time of this writing, 10.1.3.3.1), you might have found that you always get an attachment for your email body, even if you don’t want one.  There is a solution:

Once in the scope of the email notification activity, look for a copy block like the following.  It typically contains ‘NotificationAttachment1.html’:

<copy>
<from expression=”string(’NotificationAttachment1.html’)”/>
<to variable=”varNotificationReq” part=”EmailPayload”

query=”/EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/ns1:BodyPart[1]/ns1:BodyPartName”/>
;
</copy>

You should remove this completely and voila - you’re email with show up in the body of the email. 

Note: you should still pick multipart message with 1 attachment (just unintuitive UI in JDeveloper for this).  So, if you pick 2 attachments, you will actually get 1 attachment.

Written by ashok.aggarwal ashok.aggarwal on Sunday, December 9th, 2007

If you have experienced issues when moving from Salesforce.com API version 10.0 to 11.1, you might want to take a look at your content headers and security setup.  Following is the error you might receive in Oracle BPEL:

<remoteFault xmlns="http://schemas.oracle.com/bpel/extension”>
<part name="summary">
<summary>
exception on JaxRpc invoke: HTTP transport error:
javax.xml.soap.SOAPException:
java.security.PrivilegedActionException:
oracle.j2ee.ws.saaj.ContentTypeException:
Not a valid SOAP Content-Type: text/html; charset=UTF-8
</summary>
</part>
</remoteFault>
Written by ashok.aggarwal ashok.aggarwal on Thursday, November 22nd, 2007

We have been working with BAM since the beginning.  The product is certainly “interesting” and has some cool auto-refresh capabilities that make for a nice demo to executives.  However, there are a few pieces to the overall reporting puzzle that, well, leave me a little puzzled…

  • No ability to write reports that query an RDBMS or even the BAM data objects — I hope you like simple query logic.
  • No ability to manipulate data in the BAM data objects: I just want to run an update statement people.
  • Filters that work in the normal browser window do not work when the report is placed in an IFRAME (which is their recommended approach for putting reports on another web site).
  • Only support for IE: c’mon, the days of enterprise software only supporting IE are over.
  • No documented calculation for INSTR: hmm…if you can’t use SQL, and you there is no [documented] way to implement an INSTR, I have a hard time saying this is ready for primetime.

Note: I hope I am wrong about a few of the above statements, but this is my current understanding based on what my consultants and developers have explained (and based on my cursory look over documentation and fiddling with BAM’s reports/data objects).  I’ll be happy to edit the post if someone can prove otherwise. 

Written by ashok.aggarwal ashok.aggarwal on Wednesday, November 14th, 2007

Oracle’s BPEL4People spec is starting to make some waves.  After having years of success with their proprietary Oracle Workflow product (which drove Oracle Applications processes and workflow), they are now injecting what they know works into the BPEL world.  We’ll keep you posted on BPEL4People updates as they happen.

Written by ashok.aggarwal ashok.aggarwal on Wednesday, October 31st, 2007

M&S Consulting has recently written a complete review of Oracle WebCenter.  This has been published in a few major trade journals and websites, but we have also attached it here.

M&S Consulting - Oracle WebCenter Review

WebCenter Components

Written by ashok.aggarwal ashok.aggarwal on Tuesday, October 30th, 2007

We have had scenarios where our wait blocks in our BPEL flows all start getting stuck.  Strange as it is, we have been able to resolve this by rebooting the SOA Suite.

Has anyone else had this happen to them?  Do you perhaps have other solutions?

Written by ashok.aggarwal ashok.aggarwal on Sunday, October 21st, 2007

I have seen a large number of Oracle Portal implementations, and even a fair number using Portal version 10.1.4. It amazes me how many do not take advantage of HTML Templates. These are one of the most powerful additions to the Oracle Portal product, and it is a shame if they are not used or not used the “right” way.

Implementors can give their users a customized look-and-feel that is truly flexible and powerful. We have done some incredible things with HTML Templates, and will be showcasing some of the capabilities this year at Oracle Open World in San Francisco. I hope to see you there and feel free to reach out if you are grappling with HTML Templates and how to use them on your Oracle Portal implementation.

Written by ashok.aggarwal ashok.aggarwal on Sunday, October 21st, 2007

Anyone running BPEL 10.1.3.1 should really consider ugrading to 10.1.3.3. There are many bug fixes and the upgrade itself is fairly easy to implement and test. We upgraded one of our clients and noticed less issues during development and maintenance. More info is to come here.

We had an issue where BAM stopped working after installing SOA Suite on a Windows 2003 Server (BAM only runs on Windows at the time of this writing). After trying to uninstall/reinstall many times ourselves, Oracle Support suggested that this was not a compatible configuration. We have done it before (in play environments), but this clearly can cause some issues that are not easy to resolve. So, in this case, we ended up splitting the installation to different machines and have been sleeping much better at night.

I wanted to note that our team received an error when managers logged into the Worklist Application on one of our implementations. There is very little information available for this online, but we were able to work with Oracle Support to get a patch. So, if you experience an error like the following, reach out to Oracle Support or even us. We’ll be happy to help.

Internal Error in Verification Service for user ADAM. getRoleBasedGroupActions.

If you need more information, please check with your administrator with the following exception-identifier:
“2007/09/28_10:43:42:782_ADAM”

Note: We had this error using BPEL 10.1.3.1, but we understand this could still exist in version 10.1.3.3. We were running on Red Hat Linux.

Written by ashok.aggarwal ashok.aggarwal on Friday, October 12th, 2007

If you haven’t already, go download JDeveloper 11g (at the time of writing, Technical Preview 2 is the current release). The Oracle JDeveloper team has been hard at work making this IDE really work as it becomes even more central to developing the next generation of Oracle products.

http://www.oracle.com/technology/products/jdev/11/index.html

I have been involved in the Fusion Middleware 11g beta program as well as participating in other ways as a member of the Advisory Board for Oracle Portal and Oracle SOA Suite. Although I can’t say much, I can tell you that there is some exciting new features coming for developers, administrators, and end-users.

Oracle Fusion Middleware 11g will prove to be a very large release that is both deep and broad. As more information becomes public (or I am authorized to share more), I will do so on this blog.

Until then, just get ready.

Written by ashok.aggarwal ashok.aggarwal on Monday, August 20th, 2007

Coming soon…this one will be fun!

WebCenter vs Portal