Wednesday, May 28, 2008

2008-05-28 Wednesday

I'm working on designing a light-weight batch processing framework for a SOA project - after encountering too much frustration trying to work with the Spring Batch 1.0.1 release. The complete absence of the dependency jar files in release 1.0.1 was the last straw.

As part of the filter processing for files in an inbound application directory - I'm leveraging Java's builtin Regex features: Introduction to the Java.util.regex Object Model


Windows Communication Foundation: Application Deployment Scenarios

JavaOne: Cliff Click on a Scalable Non-Blocking Coding Style

ActiveMQ 5.1 Supports JMS Destination Monitoring and MSMQ Bridge

Is the Web "Good Enough" for Web Services?

Scalability Best Practices: Lessons from eBay

Saturday, May 17, 2008

2008-05-16 Saturday

This week I've been busy developing some integration glue and application interfaces between a client's legacy financial applications and Primavera's Project Manager 6.1 Integration API.

Part of the core integration framework I'm building includes a custom logging abstraction layer so that we can achieve the following with one simple log method call:

  • Write a log message to a Public MSMQ queue on the local server - for a given component - which will later be collected by a "sweeper" component and published to a central logging database. This enables the organization to monitor and analyze log messages for all our SOA services across the enterprise.


  • Write a copy of the log message to the service's local server file system - for redundancy - in the event the MSMQ service is halted or unavailable.


  • Finally, write a copy of all FATAL and ERROR severity log message to the Windows NT Application Event Log


  • To accomplish all of that, I am using the Apache Commons Logging library (which in turn defaults to Apache's log4j library), as well as the the CodePlex JavaMsmq library to enable writing to MSMQ from within a Java program.




    Some areas of research that I'm interested in these days includes:

    GNU CLISP is an ANSI Common Lisp implementation with an interpreter, compiler, debugger, object system (CLOS, MOP), sockets, fast bignums, and foreign language interface which runs on most UNIXes and Win32.

    GNU Smalltalk is a free implementation of the Smalltalk-80 language.

    Erlang is a small concurrent functional programming language developed by Ericsson. It is being used by Ericsson as a systems programming language for large concurrent fault-tolerant distributed systems.
    Getting started
    Erlang Reference Manual
    Erlang Eclipse pluging: erlide

    Thursday, May 15, 2008

    2008-05-15 Thursday

    Microsoft Tech-Ed 2008, Orlando, Florida
    - Developers, June 3-6, 2008
    - IT Professionals, June 10-13, 2008

    Friday, May 09, 2008

    2008-05-09 Friday

    I recently uploaded a zip file to the CodePlex.com MsmqJava patch area to share a refactored version of the code base - into an Eclipse Project that I created - and which uses an Ant-1.7 build.xml file to do the compiles for the C#, C++, and Java code.