Friday Jan 09, 2009

Java CAPS Basics Book - Project Exports Archive

The Archive, __Book_20061221_1320_512_with_Env.zip, contains all (I think) projects featured in the book “Java CAPS Basics – Implementing Common EAI Patterns”, ISBN-13 978-0-13-713071-9, whether in Part I or in Part II (which is on the CD that accompanies the hardcopy book).

See Note at http://mediacast.sun.com/users/Michael.Czapski-Sun/media/JavaCAPSBasics_ProjectExports_Archive.pdf/details for additional details, including project hierarchy and prerequisite Java CAPS components.

Sunday Apr 06, 2008

Java CAPS 5.1 and Java CAPS 6 - Streaming Large FTP Transfers

Transferring large payloads, on the order of tens or hundreds of megabytes, between a FTP server and a local file system, in either direction, requires selection of appropriate features of the Batch FTP and Batch Local File eWays, and tuning certain timing parameters.


Default timing parameter values result in timeout exceptions when transferring large payloads.


The Batch FTP eWay and the Batch Local File eWas are typically used to receive the entire payload before writing it out. This results in attempts to allocate memory many time the size of the payload being transferred and, for large files, causes memory exhaustion and application server failures.


Discussion in the attached document points out which timing parameters need to be tuned to facilitate transfer of large payloads. It also presents sample Java code that uses facilities of the Batch FTP and Batch Local File for streaming payload between the FTP server and the local file systems without using excessive amount of memory.


The material covered in the document was prepared using Java CAPS projects developed and tested in Java CAPS 5.1.0, exported, imported into Java CAPS Release 6 and tested again. It is expected that the code will work in all versions of Java CAPS from 5.1.0 up.


Streaming Large FTP Transfers with CAPS 5.1 and 6.pdf


FTPtoLocalFileStreaming_5.1.0_project_export.zip


LocalFiletoFTPStreaming_JC6_project_export.zip

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

Warning

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.

Saturday Dec 29, 2007

Java CAPS 5.1.3 - JCD-based Programmatic log manipulation

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, the Sun SeeBeyond Integration Server uses the java.util.logging API for logging. Integration Server logging can be manipulated from the command line, using the isadmin tool, from a Web-based GUI and, also, programmatically.

This note discusses how IS logging can be manipulated programmatically using Java Collaboration Definitions. This note applies to the Sun SeeBeyond Integration Server included in Java CAPS 5.1.

JCD-based Programmatic Log Manipulation Note

Java CAPS 5.1.3 Project Export

Trigger Data Files

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.

Monday Nov 26, 2007

Java CAPS 5.1.3 Correlation Example 3 - ELS Static Counted and Timed Correlation

This example implements a part of the ELS functionality dealing with linking a number of related messages until all are collected or a time period elapses, whichever is the soone, a counted and timed correlation pattern, or an aggregator pattern with a timer.

Unlike the implementation from Example 2, on which it is heavily based, this implementation will correlate a varying number of messages, statically set at design time, or as many as it receives within a given time period expressed as a static duration. 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, over a statically configured time period. By obtaining the value of the business process attribute which controls the message count or which controls duration, from the environment or the initial message, one will change the static implementation into a dynamic counted and timed correlation solution.

CorrelationExample_03_CountedAndTimed.pdf discusses the solution and illustrates key points that vary between Example 2 and this example.

CountedAndTimes.zip is the Java CAPS 5.1.3 project export that implements the solutuin.

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.

CountedStatic.zip 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

CountedSimple.zip – Java CAPS 5.1.3 Project Export

Thursday Nov 08, 2007

Java CAPS 5.1.3 - Using JMS RequestReply() in synchronous messaging

By default Java CAPS uses the Java Message Service infrastructure as its underlying messaging layer. Occasionally there is a requirement or a temptation to develop synchronous service, for example invoked as web services or as HTTP Request/Response services, that invoke some back-end component over JMS. In request/response scenarios the response must be delivered by the component which received the request, a JCD or a BP. If the request is passed to the nback-end infrastructure through a JMS Queue or Topic there arises an issue of getting the response back to the same instance of the JCD or a BP that sent the original request. The attached extract, JMS RequestReply, from an early draft of the "Java CAPS Basics - Implementing Common EAI Patterns", discusses and illustrates how the JMS RequestReply() method of the JMS OTD can be used to implement this kind of functionality.

Friday Nov 02, 2007

Java CAPS 5.1.3 - Using Propertirs for Runtime Control - Note 3 - Loading Properties from a File

This note introduces the use of the Java Properties file, some locations where such a file can be put, a method to use a properties file residing in an arbitrary location without hardcoding the location, and the most basic method of access to the properties in the properties file.

Loading Properties from a File, discussion.

Loading Properties from a File, Java CAPS 5.1.3 project export

Monday Oct 29, 2007

Java CAPS 5.1.3 - Using Propertirs for Runtime Control - Note 2

This note walks through an example of configuring Java CAPS 5.1 through adding a custom property to system properties. Java collaboration developed in Note 1 is used to retrieve the value of the new property.

Note 2 discussion

Java CAPS 5.1.3 - Using Properties for Runtime Control - Note 1

Java CAPS 5.1 developer may need to determine a runtime value of one or more system properties to, perhaps, use its vale for runtime flow control. This is the first in a series of notes on the use of Java Properties for controlling runtime behaviour of Java CAPS solutions.

 

 

This note walks through an example of configuring Java CAPS 5.1 and developing, and exercising, a Java Collaboration Definition that dumps all system properties to a file and that accesses the values of two specific properties, by name, and dumping them to a file as well.

Note 1: Get system properties discussion

Note 1: UseOfProperties -> GetProperties 5.1.3 project export

Tuesday Oct 23, 2007

Java CAPS 5.1.3 Dynamic JMS Selectors

Java CAPS solutions can selectively retrieve messages from JMS Destinations using static selector expressions, configured in Connectivity Maps. This configuration is performed at design time and is static - to change a selector value requires that the solution is re-built and redeployed.

 This extract, from the "Java CAPS Basics ..." book, discusses and illustrates dynamic use of JMS Selectors in Java Collaboration definitions.

This extract, from the "Java CAPS Basics ..." book, discusses and illustrates the use of dynamic JMS Selectors to implement a correlation mechanism without the use of eInsight correlations.

Java CAPS 5.1.3 Data Streaming

Handling very large messages in a messaging solution may require memory resources many times greater than the size of the largest message to be handled. Frequently the architect has no choice but to consume or produce a very large message, a file containing a batch or related transactions, for example, or a large and complex XML message generated by, or intended for, an external application. Handling such messages poses special challenges.

Java CAPS can assist with Batch eWay support for data streaming when large messages are manifested as files in a file system.

If it is possible to break large messages up into components and process components individually, or collect components and assemble them into a large message. eTL, another of the products in the Java CAPS Suite, can assist in processing large volumes of data. Whilst ETL (Extract, Transfer and Load) is typically associated with one off batch extraction and load of data, Java CAPS’ eTL can be used both standalone and in-stream as part of a larger Java CAPS solution. In this in-stream mode it will be discussed as a possible means of streaming data between a flat file and database table or between database tables/views.

This extract from the soon–to-be-released book, "Java CAPS Basics – Implementing Common EAI Patterns", discusses the Java CAPS 5.1 Batch eWay streaming facilities, and presents and compares a number of data streaming implementations, including an eTL implementation.

Link to Java CAPS 5.1.3 Data Streaming  section of the manuscript.

Thursday Oct 18, 2007

Java CAPS 5.1.3 - WS-Security 1.0 (2004) Username Token Profile

As at release 5.1 Java CAPS supports WS-Security 1.0 (2004) Username Token Profile. Java CAPS eInsight- and Java Collaboration-exposed web services can be configured to require and validate Username/Password credentials before performing their programmed function. Java CAPS eInsight-based and Java Colaboration-based web service consumers can be configured to supply WS-Security 1.0 (2004) Username Token SOAP Header.

Java CAPS 5.1.3_Notes_Using_WS-Security_1.0_Username_Token_Profile.pdf discusses configuration of the Username Token, creation of users, configuration of access to service and testing secured services. It illustrates the discussion with a step-by-step example of implementing, securing and exercising a web service consumer and a web service implementation which use the Username Token infrastructure.

WSDLWSUserAuth.wsdl is the WSDL interface specification document for a service developed in the example.

XSDWSUserAuthString.xsd is the XML Schema Document defining the data structure used as input and output of the example service.

FieldNotes_WSUsernameTokenProjectExports.zip is the Java CAPS 5.1.3 project export of the projects discussed in the document.


About

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.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today