Archive for August, 2009

Chatting from SOA Suite 11g – how BPEL processes can use the XMPP protocol to notify the world

Various scenarios may require sending email messages or other types of notifications to users as part of the process flow. For example, certain types of exceptions that cannot be handled automatically may require manual intervention. For example, a BPEL process can use the notification service to alert users by voice, IM, SMS, or email. 

In a previous article (http://technology.amis.nl/blog/6019/configure-soa-suite-11g-for-sending-email-notifications-with-google-mail) I described recently how the fairly new SOA Suite 11g can use GMail or other public Email servers to send notifications, for example from BPEL processes or the Human Workflow Service. The SOA Suite 11g works with the User Messaging Service (UMS) to perform that feat and the essence of said article is to configure the email driver in UMS to use GMail – or any other email server for that matter.

This article looks at one of the other communication channels available in UMS, and also available to BPEL processes: Instant Messaging or Chat. After configuring the UMS XMPP driver in the Enterprise Manager console, the Chat channel is available to any BPEL process. We will discuss how to configure – and with which configuration details for Jabber.org – and subsequently how to make use of that communication channel from a BPEL process.

Read the rest of this entry »

JDeveloper 10.1.3.5 released

The JDeveloper maintainance release 10.1.3.5 is now available at OTN; the ADF version is 10.1.3.43.06. One of the most noticable bugfixes is nr. 7482935, ERRORS SHOWN TWICE IN AF:MESSAGES TAG IN JDEV 10.1.3.4. With previous versions, an exception in the form page would result in two error messages :

Image

This is now :

Image

An updated OC4J is not yet available, but I expect it soon. However, you can succesfully deploy it to an 10.1.3.4 OC4J updated with the latest ADF libraries (tested on the standalone).

Configure SOA Suite 11g for sending email notifications with Google Mail

 

One of the ways of the SOA Suite 11g for communicating with the outside world – apart of course from web service calls and interaction via technology adapters – is through the new User Messaging Service (UMS), a facility installed in the SOA Domain during installation of the SOA Suite. The UMS enables two-way communication between users (real people) and deployed applications. The communication can be via various channels, including Email, Instant Messaging (IM or Chat), SMS and Voice. UMS is used from several components in Fusion Middleware, for example BPEL, Human Workflow, BAM and WebCenter and can also be used from custom developed applications.

This article describes how the User Messaging Service can be configured to use Google Mail as its mail server for sending and receiving emails and how we can make use of that facility from a simple BPEL process. Note that the steps described in this article apply to any public email server – Yahoo, Hotmail, Lycos and others – as well as your own email server.

Read the rest of this entry »

ADF DataBinding: Yet another thing it does for you.

Today I encountered something that I have seen frequently. While developing an ADF application developers tend to invoke methods on an application module directly, instead of invoking them via the bindings framework. You might get some unexpected results and some additional work too…

Correcting this behavior afterwards can be very annoying and time-consuming. In this blog, just to let developers know, I describe what you could do to prevent this error. Read the rest of this entry »

Making GlassFish v3 available using Apache2 and mod_jk

The upcoming release of JEE 6 means that the next release of GlassFish, version 3, still is under development. However, it is stable enough to try out many features of JEE 6 already. apart from support for JEE 6, the integration with mod_jk has significantly improved recently. Earlier this week I followed the steps in this blog of Amy Roh to make GlassFish v3 available on port 80 using Apache2 and mod_jk. The steps described here are for Debian Lenny, but may equally well be followed for other Linux distributions or Windows.

Read the rest of this entry »

Agile software development, the principles. Principle 10: Simplicity–the art of maximizing the amount of work not done–is essential

This is the tenth of 12 posts about the principles of agile software development. Purpose is to go back to the start of the agile manifesto (http://agilemanifesto.org/principles.html) and discuss the implementation of the 12 principles in real life software engineering. Goals of agility are to go deliver software of higher quality, faster, with a higher acceptance to end-users and able to follow the changing business requirements to strive for competitive advantage.

The question is: is this going to work in practice or is this only based on a nice marketing and sales story.
 
Principle 10: Simplicity–the art of maximizing the amount of work not done–is essential.
 
The KISS rule (Keep it stupid and simple) applies here. Simple things are easy to understand, and straightforward to implement. Simple things do not cost a lot of time (or money) to implement and are therefore also easy (painless) to revert.
 
The middle part of this principle “maximizing the amount of work not done” is harder. When implementing agility in an organization this is the cause of discussion. Maximizing the work not done implies that the agile method will skip some processes, code and steps that where necessary in the traditional way of delivering software. This is where agile is linked with Lean. Lean focuses on reducing waste and creating a lean process. Work not done (that was planned to do) with the same end-value, can be classified as waste. In a discussion about work not done, you ask the person asking the question to specify the added business value of the work relative to other tasks. When the added value is not clear this is probably waste. Here you have to discuss the added value of intensive review sessions, bureaucratic procedures, complex frameworks and other corporate rules we meet every day.