Sunday, January 13, 2008

2008-01-13 Sunday

I'm looking at integrating a heterogenous environment of a legacy mainframe CICS environment, Windows Server 2003, and Redhat Linux running in an Integrated Facility for Linux (IFL) on some mainframe hardware to leverage appoximately 240 Mips that are currently unused).

Web Services will form the core of the integration strategy - based on a Service Oriented Architecture.

To provide guaranteed message delivery, I'm looking at possibly leveraging one or more of the following:

  • Microsoft Message Queue (MSMQ 3.0) for the Window environment;

  • Apache ActiveMQ (currently 5.0) [or IONA Message Broker] - for the IFL environment;

  • and potentially IBM WebSphere MQ for the CICS environment.

  • One possible tool to leverage to help flatten the learning curve for the .NET developers on the team: Apache NMS project, the .Net Messaging API.

    This of course creates quite a challenge for the day-to-day operational management of the message queue infrastructure.

    One possible monitoring solution that came up during some research is Hyperic HQ: The Complete Systems Management

    Another candidate for monitoring the JMS infrastructure: HermesJMS
    HermesJMS is an extensible console that helps you interact with JMS providers making it easy to browse or seach queues and topics, copy messages around and delete them. It fully integrates with JNDI letting you discover administered objects stored, create JMS sessions from the connection factories and use any destinations found. Many providers include a plugin that uses the native API to do non-JMS things like getting queue depths (and other statistics) or finding queue and topic names.

    To add to the complexity stew, we have Microsoft BizTalk 2006 R2 selected as a core component of the solution architecture, as well as IONA Artix 5.1.

    In doing some research on the message queue integration topic, I've come across the following web resources that could be useful to others: JMS Tutorial - Part-2

    Java System Application Server 9.1 Update 1 >> The Java EE 5 Tutorial >> Services >> 31. The Java Message Service API

    Glassfish - Sun Java System Application Server Platform Edition 9.0 Developer's Guide - Chapter 17 - Using the Java Message Service

    Integrating ActiveMQ with JBoss

    James Strachan's blog

    ijtc 2007 presentation by James Strachan: Easy Enterprise Integration Patterns with Apache Camel, ActiveMQ and ServiceMix

    ijtc 2007 presentation by James Strachan: Enterprise Messaging with Apache ActiveMQ

    The ServerSide Interop Mini-Guide

    The SAIC Web Service Interoperability Initiative

    MSDN blogs: All About Interop

    The Messaging Way : MSMQ & JMS

    JMS Adapters for .NET & BizTalk

    JNBridge JMS Adapter for BizTalk Server - (km: but at their quoted price of $$9,950 seems excessive).

    BizTalk Utilities
    (tutorials) currently includes six different adapters including Databases, Messaging, SAP, SOA Accelerator, XMS and a Legacy Adapter. They work with all Microsoft BizTalk Server versions (2006, 2004, 2002) and editions (Enterprise, Standard and Partner). (km: pricing is MUCH more reasonble between $500-$4,000).

    J-Integra® Interoperability Solutions
  • J-Integra® Interoperability Product Suite currently consists of: J-Integra® for COM (Java/COM), J-Integra® for Exchange (Java/Exchange), J-Integra® Espresso (Java/CORBA/.NET), and J-Integra® for .NET (Java/.NET).


    BEA BizTalk examples...

    MSDN: Enterprise Interoperability: .NET and J2EE (January 2004)

    MSDN: Microsoft .NET and Java/J2EE Interoperability

    Microsoft .NET and J2EE
    Application Interoperability (January 2004)

    MSDN: Web Services Interoperability

    Some of the new team members working with me on a client SOA project are responsible for the Enterprise Messaging and Ontology efforts - these articles on DevX SOA Showcase could be helpful to them:

    Making Sense of all these Crazy Web Service Standards

    Understanding Web Services specifications, Part 1: SOAP

    The ultimate mashup -- Web services and the semantic Web, Part 1: Use and combine Web services Explore mashup concepts and build

    The ultimate mashup -- Web services and the semantic Web, Part 2: Manage a mashup data cache

    The ultimate mashup -- Web services and the semantic Web, Part 3: Understand RDF and RDFs

    The ultimate mashup -- Web services and the semantic Web, Part 4: Create an ontology

    I will need to begin writing some admin scripts to manage some of the operational aspects of the Enterprise Architecture / SOA that I'm buliding, and my plan is to first look at Groovy as a tool to help with those tasks:

    Groovy Cookbook Examples

    Groovy and JMX

    For future reference, I found a Python Mini-Learning Guide on the The ServerSide Interoperability Blog.

    From the May 2007 Enterprise Open Source Magazine: Ten Open Source Solutions Your Enterprise Should Be Using

    A nice summary of Web services stacks – Windows Communication Foundation (WCF) by Dino Chiesa (October 2007)

    JAX-RS: REST, the Java Way presentation by Stefan Tilkov.

    No comments: