On monday my schedule was fully loaded with sessions, so I decided to take my laptop with me and make some notes during the presentations. Something that I had noticed many people in the audience did on sunday. Since I made the effort of writing it down anyway, I decided to create a blogpost in the 1,5 hour I had at the end of the day.
1100-1200 – Hands-on Introduction to Security Policy, OSB and OWSM (30921)
Very good hands-on session handling a use-case where the Oracle Service Bus was positioned between the service consumer and a BPEL process. For security requirements OWSM policies for SAML and UserName Tokens needed to be configured by the audience. The room in the Marriott hotel was setup with a large amount of laptops running a virtual Oracle Enterprise Linux environment setup with SOA Suite 11g. The session was actually “sold out” and all seats where indeed taken which again shows how popular the topics OSB and OWSM are.
The lab contained 2 sections, one for a REST proxy service and one handling a SOAP proxy service. Both of them calling the same business service. What I really liked about this session was the right amount of details the audience would need to do in the small amount of time. This session was a perfect example how the focus was kept on OWSM & OSB where the pre-set environment already contained the necessary configuration (like for instance the XSLT transformations for the transformation).
1230-1330 – CEP and BAM Best Practices (30900)
Another interesting hands-on lab covering the CEP and BAM products. The session was not as crowded as the OSB/OWSM lab, but still the room was filled up quite nicely. Personally I’m really interested in the concept of CEP, but don’t have much experience with the Oracle product so I was ready to learn some best practices.
The lab contained a case based upon credit card transactions where events were triggered, handled by CEP and displayed with Oracle BAM. The PDF document with the course contained some best-practices which was good. The downside of the lab (in my modest opinion) was mainly the amount of tasks to perform. First steps was playing around with the delivered project and after that extending the configuration of both BAM and CEP. I’m afraid most of the attendees weren’t able to finish the whole lab when the hour was passed. Due to the timing I felt I was not able to spend enough time on checking the adapters, channels, etc configuration that were already implemented in the delivered CEP project.
However the CEP product is very cool, so it’s certainly on my shortlist to check out further again when I’m back home.
1400-1500 – Deployment Patterns for Oracle Fusion Middleware 11g (08709)
Most of this presentation I already seen when Jacco did it for the AMIS OOW preview event a few weeks ago back in the Netherlands. But together with Simon a dynamic and lively session was guaranteed. So me and Rob decided to check the session out as good roomies would do. Both presenters allowed a lot of questions from the audience and created a lively and open atmosphere with occasional some laughter. The session covered some best practices like domain setup, virtualization, virtual ip, loadbalancers. nodemanager setup, etc.
1530-1630 – Oracle AIA: Evolving Approach for Innovating Business (15648)
Tim first explains the AIA integration solution based upon best practices from the past 5 years. Then the different components and the coverage of these components within the Oracle based SOA implementation.
Scott then explains the challenge his company had a few years ago. Multiple heavy customized JD Edwards environment where different integration tools were used for mostly real-time transaction. Nowadays their middleware solution is based upon SOA Suite 11g and AIA 11g. As someone in the audience noticed they did not implement the OSB or any other enterprise service bus for decoupling their application services. Scott then continuous about UML models, design approaches & very theoretical information.
For me the session was a small disappointment since I was hoping to get some more technical insight of how the implementation was done. The focus however was more on theory. Nonetheless it was interesting to hear how the client was happy with the standardization the AIA product brought him.
At the end Tim gave some hints about the Oracle vision and roadmap for AIA Foundation pack. And about the upcoming release 12c where much effort was spent in doing a better job in easy installation.
1830-1915 – Oracle WebLogic JMS Support: Architecture/Performance/Tuning Essential (31800)
Very,very good session which I visited together with Simon. The story was technical which I obviously liked. Or as the presenter stated: I’ll skip the fuzzy part and get down to it.
The presenter explained the classic trade-off between performance vs reliability. JMS is often mainly judged on performance, people are sensitive about this.
Persistent messages are more time expensive then non-persistent.
Expensive: Local disk -> safest disk -> remote disk -> database
Weblogic JMS holds messages in memory. System works best if consumers are faster then producers. Otherwise memory footprint grows and you get yourself hunting garbage collectors.
Tuning thresholds (bytes/message) and flow control (max/min/interval/steps) on connection factories, all to slow down producers. When destination exceeds threshold, it is considered Armed.
Tuning Message paging:
In normal operation all messages are kept in memory. With backlog you will run out of memory. Tune message paging by setting message buffer size (default is 1/3 of max heap size with min of 512 which is mostly safe, but tune it). Message paging enables message bodies to be dropped from memory. Only headers are retained.
Prevent out-of-memory and define maximum for number-of-messages or size. Configured at JMSServer level or for individual / group of destination. Quota reached, then message can not be produced
Old messages dropped or moved to error queue. Error on same server, no memory saved. Usually used for non-persistent messaging.
Different Weblogic client jars:
Protocol can make the difference, best is t3
– wlfullclient = enables all
– wlthint3client = small footprint, support most features
only use IIOP client if you need IIOP: wljmsclient / wlsafclient / wlclient
Minimize round trips:
sender: batch data send into fewer messages + one-way send
receiver: pipeline and prefetching + acknowledge modes + combined messages from send operation.
After this a real life example was given. The situation stated a client using an IBM test tool (I forgot the name) which fired huge amounts of messages to a JMS server. This was done to check the performance of different products, one of them being Weblogic JMS.
The issue was that out-of-the-box Weblogic JMS could handle 35k msg/sec. Which was not as good as the competitors. Now the requirement of the client was that no tuning was allowed, just configuration. So the presenter showed how enabling the above settings improved the performance of Weblogic JMS up till 115k msg/sec. But even better, creating a predictable environment which was even better