Posts tagged weblogic
Sharing session state between JEE web applications through WebLogic session descriptor of sharing-enabled
Jan 18th
Session state in Java Web application is associated with a single (user) browser session on the one hand and typically with a specific web application on the other (server side) hand. Session state is created and maintained in the context of a usually a single web application. However…
We ran into a situation where our web application was assuming gigantic proportions. To complex to quickly deploy or even easily build, compile and test. On closer inspection, it was quickly revealed that the application really consisted of a number of relatively independent modules – say one for each of the options in the main menu and one for the entry point – main menu, login, manage user preferences etc. From a functional point of view, the big web app monster was by and large a collection of almost individual web applications. Almost because a substantial number of navigations took place between pages in these modules. And some context data – including credentials – should be passed on these navigations. The application was developed with such information stored in the session scope – as all modules always have access to a (shared) session scope, it was thought.
We got to the point where for many reasons we would like the big fat web application to be split in one web application per module. This would allow much easier development, administration, release management etc. However, we could not resolve this issue of shared session state that should be maintained across the web applications-per-module.
We contemplated moving this shared session state to a memory grid – but the impact on the existing application would be quite substantial (although an interesting challenge: introduce a new scope for managed beans (superapplication, cross-application or application-cluster) and create an EL resolver that knows where to find beans referred to with expressions like #{super-application.bean.property}; find a way for all applications in the applicationcluster to identify a user session in the same way to ensure the bean instance associated with the current session in the current application is retrieved).
An easier solution presented itself – after briefly conferring with Mike Lehmann of Oracle’s Application Server team – in the form of WebLogic Server’s session sharing capabilities.
The Future of Forms is ….. Forms (and some friends) (UKOUG, 2011 – with Grant Ronald)
Dec 11th
Slides for the presentation I did with Grant Ronald during UKOUG 2011, last week in Birmingham. The abstract for this presentation: “Many organizations run enterprise Oracle Forms applications created in the 90s. They now wonder about the future of their application.This session tells how modernization of the application landscape could take place, using a mix of the latest version of Forms and other technologies like SOA, ADF and perhaps APEX.
Forms 11g integration and extension points are discussed and demonstrated. Forms applications serving internal, professional user groups today are typically by and large suitable for continued use. Modernization of these applications therefore typically focuses on integration – with a SOA environment and Event infrastructure and with new user interfaces and Portals – and to some extent to enhancing user experience and functionality of the application.
This session shows how Forms 11g – part of Fusion Middleware and running on WebLogic Server – can be integrated in a modern Service Oriented Architecture and how it can be embedded in Web 2.0 Portals and Applications. The audience will see how Forms can quite easily get a face-lift – to bring it on par UI wise with other modern applications. The session will also discuss when other technologies such as ADF or APEX might come into mix.”
Timeouts in Oracle SOA Suite 11g
Nov 18th
Some time ago… at a Oracle SOA 11g project, we had to call an external webservice which took 1 to 5 minutes to respond. The composite calling this webservice was called by another composite from a BPEL process. As you might guess, we got an timeout resulting in faulted instances.
Increasing the timeout time wasn’t as easy as I expected, because it’s not one timeout setting that had to be increased, but a total of five timeout settings! To document this for myself in case I run into it again and to help others with the same problem I’ve written it down in this blogpost.
Read the rest of this entry »
Oracle Tuxedo… A renewed acquaintance
Oct 27th
Years ago, when I worked as an Application Support Analyst for a big triple-A Bank, I got acquainted with the BEA product stack.
One of those products was BEA Tuxedo, at that time at the release of 6. I worked at a settlements project, and Tuxedo was used for as distributed transaction processing, to process settlements an clearing messageg from the bank to an international Clearing an Settlements Project, called CLS. It used the SWIFT network to connect; CLS was an international and timezone independent settlements and clearance platform to overcome timezone and bankrupt issues, and prevent a domino effect when an important bank in the chain becomes bankrupt.
Tuxedo is a transaction processing system or transaction-oriented middleware, or enterprise application server for a variety of systems and programming languages.
Tuxedo was designed for high availability and to provide scalable applications to support a lot transactions per second on commonly available distributed systems. It was developed and designed by AT&T if that required online transaction processing (OLTP) capabilities.
Tuxedo is a message routing and queuing system. Requests are sent to named services and Tuxedo uses memory based inter-process communication facilities to queue the requests to servers. The requester is unaware of where the server that actually processes the request is located or how it is implemented. In fact, Tuxedo was already implementing the SOA, in the early days before even the concept of SOA was familiair to any one.
Oracle acquired it in 2008, along with all other products from the BEA stack. I was really curious how Oracle would position this product, but during Oracle OpenWorld 2011 it became clear to me.
Oracle Tuxedo 12c will be part of the new Exabus stack, a component embedded in the Exalogic solution Oracle launched some earlier.
In this picture, you can see the position of the Exabus stack and in particular Tuxedo:
Some explorations around Java Stored Procedures in the Oracle Database
Oct 22nd
While working on the challenge to publish a message to a JMS Queue in a remote WebLogic Server from within the Oracle Database – using a Java Stored Procedure – I came across a few things that I would like to record for future reference. Note that unfortunately I have not [yet?] succeeded in making that JMS publication work.
The things I would like to record here are:
- using JDeveloper to developer and load Java Classes and create PL/SQL Wrappers for them
- using the loadjava command line utility to load (the classes in) JAR files into the database
- using the ojvmjava command line utility to try out the classes that have been loaded into the Oracle database directly (which allows us to get access to the console output and the stacktraces when exceptions occur)
If anyone has pointers for my main challenge: publishing a message onto a WebLogic Queue, I would be most interested because even with a lot of help from a lot of (virtual, cyber if not imaginary) friends I have not been able to pull it off. In fact, at this point I am not even able to initialize a JNDI context in a Java Stored Procedure (JSP) through a connection with a remote WLS server.
Increase the session timeout of Oracle BPM Worklist app
Oct 18th
The Oracle BPM Worklist app is a part of the Oracle SOA Suite. Working with the Worklist app is very annoying, because the default timeout is very short (seconds!). So after getting a cup of coffee or reading a mail you have to login again.
Solving this problem seems quite easy by increasing the session timeout in your (generated) ADF human task or in the worklist app in the weblogic console, but it all doesn’t work.
The solution for this annoying issue is quite easy, once you know where and how. Here is the trick. Read the rest of this entry »
WebLogic 11g start and stop automation
Sep 27th
There are many ways of starting and stopping your Oracle WebLogic 11g environments, You can stop your Admin and Managed Server Instances through the Adminsitration console, use the the start and stop scripts shipped with the Oracle WebLogic software and domain creation, or use a tool like WLST to manipulate your entire environment.
In this blog I will use the different kinds of techniques to stop and start your Oracle WebLogic Server environment, even in case of a physical host reboot (planned or unplanned)
For this I used the common UNIX shell scripting in combination with WLST
Powering the Cloud with Oracle WebLogic
Jun 29th
I am presenting later today on the Oracle Fusion Middleware Forum (Spoorwegmuseum, Utrecht). The topic of today’s presentation is cloud computing – especially Platform as a Service – and how WebLogic provides the Platform in the cloud.
My presentation can be seen on SlideShare:
And downloaded here: http://technology.amis.nl/blog/articles/articles-written-in-2011.
How to call a webservice directly from Java (without webservice library)
Jun 29th
In this blog I will show you how you can call a webservice programmatically in Java without using a webservice library like JAX-WS or Apache Axis. Normally you would use of course a webservice library, but in some cases this can be useful and quick; for example when you have problems generating a client proxy with a webservice library or if you only need some small specific parts of the SOAP response XML tree. It shows that a SOAP call is just XML over HTTP, from a plain piece of Java code. Then, I will show you an example how you can use this and make your own servlet webservice-tester like a simple SoapUI in JDeveloper 11.1.1.3.



