« February 2007 | Main | July 2007 »

May 2007 Archives

May 4, 2007

Monster.com uses Oracle Fusion Middleware (ESB,BPEL etc)

Just heard about this "monster" reference from Oracle. Monster.com are using Oracle SOA and ESB specifically. A webcast from Monster can be seen at
http://www.oracle.com/pls/ebn/live_viewer.main?p_shows_id=5052528

In short Monster have used Oracle ESB & BPEL to create an order to invoice composite application linking to Siebal and Oracle Financials.


May 10, 2007

Portal Portal and Portal!

Wow, been an interesting month for me. I've just finished helping a partner of ours detail a large portal for a large customer of theirs, of particular interest was the topic of

  • Integration with Stellent
  • Accessibility

Integration with Content Management Systems


Here the customer already uses a content management system and doesn't want to use the built in Oracle Portal CM. This is fine!, although Oracle portal already has a CM built in , its not in the same vein as a product like Stellent which they use. Using content management systems with oracle portal is quite easy mainly due to standards in how one develops portlets (See JSR 168 & WSRP) and there is a white paper on otn describing Portals and CMS (See here)

In the past if you wanted to integrate with a 3rd party CM you would have to use the Oracle Portal proprietary Java Portlet Development Kit (JPDK), since then standards like JSR 168 & WSRP have appeared and if possible I'd use them instead. However it doesn't mean JPDK is dead, I recently heard that JSR168 doesn't support AJAX  style portlets (i.e. with call backs), and our's has. 

Now an easy way around this is to make the call backs go directly the provider not via the portal engine.. (see here)

back to Stellent and Oracle Portal...

Stellent does support JSR168/WSRP however currently these portlets are not supported/certified on Oracle Portal. Now in practice they'll probably work however since we've acquired Stellent we've been working on certifiying these portlets and enhancing them.  From my internal contacts at Oracle I've been told that the Stellent Portlets (JSR168 compliant) will be certified against Oracle Portal
10.1.4 soon.....

The plan is to release and support them with the 10GR3 release of
Oracle UCM , although the portlets would probably work against Stellent 7.5 but they aren't supported (beware!)

Accessability


Accessibility is all about allowing access to your website via products like JAWS,Dragon etc (These things read the website to you etc).. To validate your website you need to make sure you code the html in a clean and descriptive way. e.g. whenever you have images make sure there is an "alt" text to allow JAWS to read something out..

During my hunt for an accessible website I find , perfection is hard to find. There are tools out there like (http://webxact.watchfire.com/) which check your websites for "accessibility compliance with WACG standards etc, but the results can be misleading..

For example look at http://sacs.kennesaw.edu , its a really good example of an accessible website however even it brings out a couple of warnings/errors. If you read carefully however you'll realise that most of the errors aren't issues..

For example, Oracle Portal uses a hidden frame to do its partial page rendering, this can upset some "accessibility" testers, however if the frame is hidden, the user cant see it, doesn't know its there and JAWS simply ignores it..

Another example is when you use "blank - images" to space your website out nicely, many accessibility checkers flag them too, simply because they don't have "names"...

Anyway, I'm by no means an expert on this but it has been an interesting ride..


Finally check these videos out, they show examples of how to access portal websites using accessible means


Enjoy

May 23, 2007

Multiple JVMs & Multiple OC4J Instance

I've recently seen an email on  our internal mail list which was entitled

"Multiple JVMs vs Multiple Instances"

The author of the original email was testing performance differences between multiple jvms on a single container vs multiple containers...  He noticed (quite correctly in my view) that the performance is virtually identical..

So whats the difference, well in my view one of the responses nailed it down, smack down style..

Multiple JVMs:
The processes share the same configuration for the entire container (not
just for the JVM parameters).
Same applications, same container configuration etc.
This is a great way of scaling symmetrically to better utilize the CPUs and
still only having to manage one container.


Multiple OC4Js:
You can individually control all of the container configurations, have
different applications deployed etc. You can use this strategy in
combination with multiple JVMs to scale while at the same time having a
heterogeneous environment wrt. nr. of applications deployed, container
configurations etc.

So it really falls down into a how do you want to deploy your oc4j application.

Now that reminds me of a different question I often get, its
"How many JVMs shall I have for my application?"

Now in the past the JVM had some limitations and if you had a large number of connections it was very very wise to have lots of jvms.. Nowadays the JVM has grown up and is quite a mature beast.. I remember for example 3 years ago I was working with a Israeli Consulting company and they were boasting that they had 2500 concurrent users running on a single jvm. Quite a large number it sounded but not so large when you dug a bit and discovered that the actualy pages/second wasnt huge (10's from memory) and that the clients were all effectively stateless.....

So back to the original question, lets assume I have an application with say 100 users, how many JVMs, well different people have different ideas, you really need to test it, but my rule of thumb to start with is :

- Minimum of two JVMs , this is to cope with JVM process failure
and then add 1.2 per available extra CPU in your box, then round it up/down depending on how you feel....

So a 4 CPU box would have  2+(round(3*1.2)) =  5 

Now different CPUs/Operating systems/applications work differently so you always need to load test it and see what works best in your environment.

Thankfully in Oracle Application Server Control its really easy to change the number of JVMs for a OC4J instance, simply navigate to the OC4J Instance / Server properties and then you'll see at the top of the page "JVM processes"

Checkout this blog entry

Also dont forget the documentation!!!

Oracle Application Server 10.1.3.1 Performance Guide


and

Oracle Application Server OC4J Config. & Admin Guide



Enjoy

About May 2007

This page contains all entries posted to Angelo Santagata's Blog in May 2007. They are listed from oldest to newest.

February 2007 is the previous archive.

July 2007 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type and Oracle