Thursday, January 31, 2008

2008-01-31 Thursday

At 3am this morning, I sent a revised chapter outline for the book I'm in negotiations to write - and my editor in the U.K. responded by 7am with a "Go" approval.

Sunday, January 27, 2008

2008-01-28 Monday

Presentation: "AOP in the Enterprise", by Adrian Colyer, Interface21

PNW SOA Commons
Last week I submitted a new project request to be hosted at SourceForge.net - which I have named: PNW SOA Commons.

[I had to abbreviate the PNW (Pacific Northwest) due to a field limitation for the name of the project]


The project is also known by pnwsoacommons

I chose the Apache License V2.0 - but that's with no particular strong feeling one way or the other. The purpose of the project is to provide a repository for collecting and organizing artifacts that will help other development teams implement SOA adoption for easily / rapidly into their organizations.

Peter Schooff and I have recently had a short exchange via comments on his blog Twenty-Four Seven Security (see Why is SOA Security So Difficult?) - and I am looking forward to his future blog entry that might provide some very interesting experiential data points for other SOA Architects to ponder...


Peter,

An interesting post.

On a related topic, would you mind sharing with your readers some specific details of technology / vendor products that have allowed you to successfully implement SOA Governance - and what level of automation was provided by the selected tools? Or what you were left to implement via manual procedures?

Thanks,

Kelvin Meeks

Posted by: Kelvin Meeks at January 17, 2008 04:19 PM

Excellent idea, Kelvin...stay tuned and I'll try to get to it next week.

Posted by: Peter at January 18, 2008 01:12 PM

2008-01-27 Sunday

Mark Proctor was very kind to post a link on the Drools blog to my Code Camp V3.0 presentation - but I need to clarify something, and so I sent him the following email:


Mark,

Just a clarification on your blog post:
http://blog.athico.com/2008/01/drools-success-stories-seattle-code.html

I was quoting the Drools blog:
http://blog.athico.com/search?q=success+stories

not my success story :)

My experience giving the presentation was helpful in teaching me humility - there is so much that I still have to learn about Drools - and the need to develop a deeper understanding of the core, examples, etc.


I also was very fortunate to get some meaningful feedback on my presentation via a blog comment left by woolfel:


I saw your presentation on drools blog and thought I drop a note. I also left a comment on mark's blog entry. On slide 52-53 of the presentation, it makes statements that could be misinterpreted and could lead users to think RETE scales linearly with respect to ruleset size. I hope that wasn't your intent, since that is completely wrong.

What affects scalability is the RETE topology. The number of rules often do not have any affect on performance. It depends on the actual rule and how many nodes it potentially involves. I have several dozen entries on my blog explaining it in detail.

I've had debates with many people in the past about this common misunderstanding. I've seen JRule and Blaze consultants with 3-5 years of experience make these incorrect claims and give RETE a bad name.

If you want an invite to my blog and learn exactly what affects RETE performance, send me an email (snipped). In case you're wondering, I'm the author of Jamocha and I contributed code to drools which was ported by mark to drools 3.


Jamocha.org (an open source rule engine)


To which I replied via email and comment:


Thanks for your help in clarifying my understanding of the performance impact of ruleset size.

I believe the most recent update of the presentation may have renumbered the slides you referenced (perhaps slide 58-60 are now the ones you meant?)

Certainly I am still learning about Drools, so I appreciate your feedback.

Kelvin

Saturday, January 26, 2008

2008-01-26 Saturday

Today I am presenting at Seattle Code Camp V3.0 in Redmond, at 1:45-3pm (Introduction to Drools).


5pm update
Well the presentation is done.

I would say that 75% of it went well, 25% was a bit rough.

Let me explain...

About two weeks ago I decided that offering to do a presentation on Drools at the Seattle Code Camp V3.0 (a free event, by the way) - would be a low-risk, potentially high-return on effort invested, and an overall good opportunity to accomplish a few things:

  • Help communicate the incredible potential use of the Open Source Drools Rule Engine to other developers

  • Practice my speaking and presentation skills;

  • Force myself to learn a new (and interesting) technology;

  • Practice my research and rapid-learning skills;

  • Stretch me out of my comfort zone;

  • Add to my value as a consultant;

  • Help me master a technology that I think will be useful for a current client engagement;

  • Give back to my local developer community;

  • Add some new professional networking contacts;

  • Create a new asset for my consulting practice (82 page slide-deck);

  • Add another professional speaking engagement to my resume.


  • On the plus side, I believe that I accomplished all of those objectives.

    Now, what about that 25% that went rough?

    Climbing the mountain of learning a new technical skill is going to involve spending time working through a lot of coding examples...and my compressed timeframe for developing expertise with Drools simply ran the clock out on available time. There were some very good questions asked by the attendees - and some of those questions have helped me identify gaps in my knowledge which I can now work on backfilling.

    A 320 GB external USB hard drive was given away as the main door prize to one lucky attendee.

    At the end of the presentation, I'm fairly certain everyone learned something new about Drools that they didn't know before - and that's what it was all about anyway.

    You can download my presentation here

    Sunday, January 20, 2008

    2008-01-20 Sunday

    Ted Neward (Neward & Associates)will be presenting at Seattle Code Camp 3.0 in Redmond this coming weekend (Jan. 26, 27). He is a fantastic speaker, a brilliant technologist, and gives a great performance as a speaker. If you are in town, it is worth spending part of your weekend going just to hear him talk.

    Today I installed the latest Apache Maven release (2.0.8) and the Maven Integration for Eclipse plugin: M2Eclipse (Tycho)
    (Eclipse update site: http://m2eclipse.codehaus.org/update/)

    Some recent research on Drools:

    JBoss Rules with custom DSL

    Give Your Business Logic a Framework with Drools

    Using Drools in Your Enterprise Java Application

    Building Enterprise Services with Drools Rule Engine

    JBos s Drools – Viva Le Drools - Bus ines s Logic Platform Declarative Behavioural Modelling, by Mark Proctor

    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:

    hartmannsoftware.com: 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

    MessageQ.com

    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).


  • BizTalkBlogs.com

    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.

    Saturday, January 12, 2008

    2008-01-11 Saturday

    I've registered to offer to give a talk on JBoss Drools at the 2008 Seattle Code Camp, January 26-27, 2008, at DigiPen Institute of Technology in Redmond, WA.

    Sunday, January 06, 2008

    2008-01-06 Sunday

    Tom Barrett, Sun Microssystems: Building Service-Oriented Architectures with Java Technology (December 5 - 6, 2007, Portland & Seattle)

    SOA Consortium Insights blog

    Eclipse reeling in Swordfish as SOA framework
    Based on technology from German logistics company Deutsche Post, Swordfish features an SOA runtime platform that leverages three popular projects: Service Component Architecture (SCA), Java Business Integration (JBI), and Open Services Gateway initiative (OSGi). SCA provides a common programming model and assembly description format while JBI serves as a common messaging model. OSGi, which is the basis of the Eclipse runtime platform, provides common deployment and runtime component models in Swordfish.

    The Swordfish architecture uses OSGi to implement JBI and SCA.
    (...)
    "[Enterprise IT directors] should be very excited because this is up and running [for] more than six years in the largest logistics company in the world, and it is a very proven, mature technology," said Deutscher.
    (...)
    The version 1.0 production release of Swordfish is scheduled for the third quarter of this year.


    Apache Wicket 1.3, an open source component-based Web framework to make Java web development easier.

    Unified I/O 4.0 is a high performance open source Java I/O library

    Wednesday, January 02, 2008

    2008-01-02 Wednesday

    Clemens Vasters' presentation on "Layers, Tiers, Services"

    Apricot Project

    Apricot is a joint effort between Crystal Space and Blender to create a fully open game with professional quality. All data and code will be published and can be used in other projects (Creative Commons license).

    Tuesday, January 01, 2008

    2008-01-01 Tuesday

    I frequently check freshmeat.net to monitor developments of various Open Source projects. A few items in the last few days that caught my attention for follow-up research:

  • XML writer class

  • phpDateTime class

  • Date::Calc

  • GeoOxygene

  • Wykokbi


  • John C. Dvorak: Vista Death Watch
    Sad times for Microsoft when a writer such as Dvorak calls attention to the following:

    "All the cool and promised features of the original vision of Longhorn were gutted simply because it was beyond Microsoft’s capability to implement those features."