Friday Jul 25, 2008

Java CAPS 6, JCA, Note 4 - Streaming FTP Inbound

As at now there does not seem to be a way to stream FTP payloads to the local file system, or stream local files to FTP servers in the JBI environment. This kind of functionality may or may not appear in the OpenESB project, perhaps in conjunctions with the FTP BC or the File BC or both. In the meantime, a Java CAPS 6 developer can use the JCA Adapters-based solution to stream payloads of arbitrary size between FTP servers and local file systems in either direction.

This Note walks through the implementation of a Batch FTP JCA solution, which is triggered by a JMS Message, and performs a streaming FTP transfer of an arbitrarily large payload between a remote FTP server and the local file system. This Note re-implements the inbound part of the “Java CAPS 5.1 and Java CAPS 6 - Streaming Large FTP Transfers” Note available at
It should be easy enough to re-implement the outbound part of that Note using the material in this Note.

The complete Note is available in 04JCAStreamingFTPIn.pdf.

Friday Jul 11, 2008

Java CAPS 6, Using JCA, Note 1, JCA-based JMS Consumer

In addition to doing it the hard way, which is something a developer could always do and frequently did, Java CAPS 6 gives a developer 4 ways in which to receive messages from a JMS Destination. Two of these will be familiar to the Java CAPS 5.x developer and involve a JMS-triggered JCD and a JMS-triggered eInsight BP. Of the two additional ways in Java CAPS 6, one involves the use of the JBI infrastructure through the JMS Binding Component (JMS BC) and one involves the use of the just introduced evolution of the 5.x eWays variously referred to as Global RARs or Java 1.5 EE JCA adapters.

This discussion revolves around the JCA adapter use and points out, appearances notwithstanding, how easy it will be for a JCD developer to develop JCD-equivalent ‘collaborations’ using JCA adapters in Java CAPS 6.

Note that OpenESB does not provide this functionality and that this functionality has nothing whatever to do with the JBI.

Credits go to Frank Kieviet and others who proposed and oversaw the evolution of the eWays into JCAs and Dao Tien Tran whose JCA tutorial helped me get started.

Here is the document that discusses the topic: 05JCA-basedJMSConsummer.pdf

Thursday May 15, 2008

Java CAPS 5.1, Implementing WS-Security 1.0 (2004) with JAX-RPC

A couple of years ago I worked out how to supplement WS-Security infrastructure in Java CAPS 5.1.1 with additional services that WS-Security 1.0 (2004) supports, namely SOAP Message Security, X.509 Certificate Token Profile and Timestamp Token Profile. Together these provide Java CAPS solutions with XML Digital Signatures, XML Encryption, Sun Access Manager-mediated Username-based authentication and Timestamp support.

The attached document is 1 and a half years old. It makes statements about Username Token support in Java CAPS 5.1.1 being broken. Java CAPS 5.1.3 supports Username Token just fine so these statements are no longer true. Java CAPS 5.1.3 U2 adds a mechanism for hooking SOAP envelope handlers into the Java CAPS Web Services framework so what I did and described in the document can now be done differently – perhaps better and more transparently. I have not tried.

This material is provided on request on “all care but no responsibility” basis. Sun Java CAPS Support will not support this and neither will I. JAC-RPC from WSDP 2.0, which is at the heart of the implementation, is deprecated and has long since been replaced by WSIT/JAC-WS/Tango. Still, here it is if anyone is interested.

JCAPS with JWSDP 2.0, Implementing WS-Security_1.1_JCAPS5.1.1.pdf” – discussion paper

Supporting materials are over 40Mb so I can’t post them to the blog. If anyone is interested says so.

Well, someone said so. The archive,, is posted. Please understand that this is "all care and no responsibility" material. I don't have the time to spend working through issues with individual people. It all worked at the time I put it together and on occasions since. It ought to work for you as well :-)

Friday Jan 11, 2008

Java CAPS 5.1.3 - Sun SeeBeyond IS - Logging to additonal destinations

By default, the Sun SeeBeyond Integration Server domain uses a single log to log all events, whether arising out of execution of the Integration Server or arising out of execution of Java CAPS solutions deployed to it. This log is named server.log and is kept in the <JavaVACPInstallRoot>/logicalhost/is/domains/<domainroot>/logs directory.

This note discusses how the Integration Server can be configured to deliver all or selected events to an additional log handler and how XML-formatted event information can be obtained. This note also presents some ideas on multiple logging destinations and notification.

Here is the Note itself: Java CAPS 51 - logging to additional destinations.pdf


The writing of this note, and the underlying development and configuration work, were prompted by repeated questions about logging in Java CAPS, in particular how it could be made to behave like it used to in the non-J2EE versions of the SeeBeyond EAI products. For these readers who are still waiting for the answer they like – there will be no such answer coming. It is not possible to configure logging for ‘your interface’ separately from logging for all other ‘interfaces’ since there is no notion of ‘your interface’ as a separate component in Java CAPS. There is no way to collect logging information pertaining to a specific project or deployment in such a way that all relevant information is collected, no information is lost and no information on unrelated components is included.

Thursday Dec 27, 2007

Java CAPS 5.1.3 - Sun SeeBeyond IS - Note 1 - Logging management with isadmin

In Java CAPS 5.1 the Sun SeeBeyond Integration Server is a modified version of the Sun Application Server 8.0 Platform Edition. As such a number of things that can be done with that application server can be done with the Sun SeeBeyond Integration Server. Most notably, it can be managed at runtime using the isadmin tool much the same way as the Sun Application Server 8.0 PE can be managed using the asadmin tool.

This note discusses how the isadmin tool can be used to manage runtime logging of the Sun SeeBeyond Integration Server. This note applies to the Sun SeeBeyond Integration Server included in Java CAPS 5.1.

Sunday Nov 25, 2007

Java CAPS 5.1.3 Correlation Example 2 - ELS Static Counted

This example implements a part of the ELS functionality dealing with linking a number of related messages, a counted correlation pattern, or an aggregator pattern.

Unlike the simple implementation from Example 1, this implementation will correlate a varying number of messages, statically set at design time. Thus the same implementation can be used to correlate 2, 3, 10 or 30 messages, by modifying the value of a single business process attribute. By obtaining the value of the business process attribute, which controls the message count, from the environment or the initial message, one will change the static implementation into a dynamic counted correlation solution.

CorrelationExample_02_StaticCounted.pdf discusses the example and addresses key points in its implementation. is a Java CAPS 5.1.3 project export that implements the correlation in this example.

Java CAPS 5.1.3 Correlation Example 1 - ELS Counted Messages

Correlations are probably the single least understood area of eInsight functionality. The example discussed in the attached document implements one of the “Event Linking and Sequencing” patterns, present in e\*Gate 4.5 and eGate SRE, that is alleged to have been lost in ICAN and Java CAPS. In as much as implementing ELS in eInsight 5.1 using correlation requires some development, rather then just configuration, one could argue that it was lost. In as much as implementing ELS in eInsight 5.1 is possible and relatively simple, one could also argue the opposite.


The example discussed in the document, and illustrated with the Java CAPS 5.1.3 project export, implements a part of the ELS functionality dealing with linking a specific number of related messages, a counted correlation pattern, or an aggregator pattern.


CorrelationExamples_01_SimpleCountedTwo.doc – writeup – Java CAPS 5.1.3 Project Export


In this Blog I post abstracts of articles / writeups / notes on various aspects of Java CAPS and SOA Suite including solutions, discussions and screencasts. The links to the referenced material are included in the bodies of the abstracts.


« July 2016