Sunday, April 27, 2008

2008-04-27 Sunday

Berkman Center for Internet & Society at Harvard Law School
Clay Shirky: Here Comes Everybody: The Power of Organizing Without Organizations

Secret Pre-Release Details On Windows XP Service Pack 3

Interview with Donald Knuth
"Andrew Binstock and Donald Knuth converse on the success of open source, the problem with multicore architecture, the disappointing lack of interest in literate programming, the menace of reusable code, and that urban legend about winning a programming contest with a single compilation"


"...Can you give some examples that are currently in vogue, which developers shouldn’t adopt simply because they’re currently popular or because that’s the way they’re currently done?..."

"...let me just say that almost everything I’ve ever heard associated with the term "extreme programming" sounds like exactly the wrong way to go...with one exception. The exception is the idea of working in teams and reading each other’s code. That idea is crucial, and it might even mask out all the terrible aspects of extreme programming that alarm me."

"I also must confess to a strong bias against the fashion for reusable code. To me, "re-editable code" is much, much better than an untouchable black box or toolkit. I could go on and on about this. If you’re totally convinced that reusable code is wonderful, I probably won’t be able to sway you anyway, but you’ll never convince me that reusable code isn’t mostly a menace."


JOHN DVORAK: The Microsoft mesh mess: Companies are confusing software with delivery mechanism
Microsoft Corp.'s constant dabbling and toying with the idea that shrink-wrapped software, its bread and butter, is dead will lead to eventual ruin. Microsoft is a software company, the most successful in the world, and it acts like a cow that must incessantly nibble the "better" grass outside the fence.

Now the Redmond giant has been suckered into believing that software as a service is the wave of the future. The logic of this conclusion is simple: Since it's all everyone is talking about, must be true.





JAXB 2.1.6
Java Architecture for XML Binding (JAXB)

Java TM Architecture for XML Binding readme

Java Architecture for XML Binding (JAXB) FAQs

JAXB 2.0 Runtime Library javadoc

Unofficial JAXB Guide

Forum: Metro and JAXB

JAXB RI Architecture Document

Java EE 5 Tutorial: Chapter 17: Binding between XML Schema and Java Classes


Last week I established a process within a client SOA project to generate Java classes based on XSD schemas for our Enterprise Archtiecture SOA infrastructure project.

  • I integrated the Ant task for the xjc compiler from the JAXB 2.1.6 Reference implementation and compiled the Java classes


  • I also added an ant task to the build.xml to build a Jar file to simplify later reuse by our Continuous Integration Build process (Hudson) when other sub-projects / components within the system get their builds kicked-off based on Subversion check-ins.


  • I also added a check-out to the build.xml for the main core architecture framework - so that it will retrieve the Jar of the message classes generated from the XSDs.


  • Very clean and Simple.

    We are using JDK 1.5.x for the majority of the client development effort (due to some vendor library/application integration dependencies). However, in my own development lab, I am using JDK 1.6.

    And that is what brings me to this posting tonight:

    Problems using JAX-WS 2.1 and JAXB 2.1 with JDK 6?

    Thread: LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader

    7.1. Migrating JAXB 2.0 applications to JavaSE 6


    Basically, you can simply do the following:

    7.1.2. Using JAXB 2.1 with JavaSE 6
    JavaSE 6 comes with JAXB 2.0 API in rt.jar. Therefore, using JAXB 2.1 with JavaSE 6 requires one to override a portion of rt.jar with the new API. There are several ways to do this:

    Place the 2.1 jaxb-api.jar into $JRE_HOME/lib/endorsed. This essentially makes your JRE to "JRE 6 + JAXB 2.1". This won't affect any other applications that use this JRE, and it's easy. On the other hand, in various scenarios you may not be able to alter the JRE.




    Spring Batch
    I've made some good progress in my efforts to develop a deeper understanding of the Spring Batch framework - I have been working with the 1.0 FINAL release. Within the next 2-3 weeks I will write-up a Spring Batch - Beginner How-To and post it online.




    Enterprise Architect 7.1 build 829
    Tonight I downloaded and installed the latest build/release of Sparx Systems Enterprise Architect. I introduced this tool to my current client - and we have had a generally very positive experience.

    I first used EA back in 2004 while leading the design and development of a commercial Anti-Money Laundering product (using VERY early releases of various Java Server Faces component libraries and tools).

    I highly recommend it - especially as a central repository mechanism for all design artifacts, requirements, user acceptance tests, data models, use cases, class models, etc. (The corporate edition offers a database repository feature).

    Sunday, April 20, 2008

    2008-04-20 Saturday

    AT&T: Internet to hit full capacity by 2010

    Hackontest is a 24 hour programming competition between teams of three open source software projects. The event takes place at OpenExpo on September 24/25, 2008 in Zurich, Switzerland.

    Saturday, April 12, 2008

    2008-04-12 Saturday

    Try to get the best of your Statically Typed Language

    Spring Web Services 1.5 Released


    I'm working on a Service Oriented Architecture (SOA) / Enterprise Service Bus (ESB) effort for a client - and have begun evaluating the Spring Batch framework:


    JavaOne 2007: Taking Java™ Technology to New Frontiers: Enterprise Batch Processing With Spring Batch

    November 2007: Spring Batch Overview

    Spring Batch Home Page

    Spring Batch Source Code (Subversion repository)

    Spring Batch Forum

    Spring Batch Jira Page

    Spring Batch Mailing List



    In doing some research on this topic, I came across the following links that may be of interest to others that are working on similiar efforts:

    Creating Flat File schemas using the BizTalk Server 2006 Flat File Schema Wizard

    Informatica – Handling Variable Length Files Using XML

    Generating XML Instances from Flat Files, A schema-based approach

    Processing XML with Java (2001,2002 era, but an interesting reference)
    Chapter 4. Converting Flat Files to XML


    Flat File Conversion Tools from Altova
    MapForce® 2008 enables you to integrate flat file data with other common data formats, with support for mapping flat files to and from any combination of XML, database, EDI, and Web services data. You simply drag connecting lines to map between corresponding elements in your flat files and the other data format(s) you’re integrating. Then, MapForce executes the transformation so you can view and save the result. Or, to automate the conversion, MapForce® 2008 generates Java, C++, or C# program code to transform data from the source(s) to conform to the target data model.


    Convert a flat file to XML (DOM)

    Change-proof Your Flat-file Processing with XML

    Unidex XML Convert

    DataDirect XML Converters™
    Flat File to XML Conversion Using Java or .NET: Custom XML Converters

    Stylus Studio®
    "Stylus Studio® 2008 XML Enterprise Suite is an advanced XML Integrated Development Environment (XML IDE) consisting of hundreds of powerful XML tools in one all-inclusive suite, and high-performance Java & .NET components for deploying data integration applications. Stylus Studio® 2008 adds powerful new features, again pushing the innovation envelope that helped establish Stylus Studio® as the premier XML IDE. Stylus Studio®'s best-in-class features for working with XML, XQuery, XML Pipeline, XSLT, XSL:FO, EDI, XML Schema/DTD, XPath, XML & Databases, XHTML, XML mapping, XML publishing, Web services set a new benchmark for XML productivity."


    XML Xdoc - data conversion utility

    XTech 2006: “Building Web 2.0” — 16-19 May 2006, Amsterdam, The Netherlands
    Markup for Flat-XML Processing

    Processing Legacy File Formats with XML and the DOM

    Babel Blaster (release 0 ???)
    Babel Blaster performs a variety of EAI and eCommerce file conversion tasks. It is designed to be used with business applications or eCommerce data exchanges in which at least one legacy system does not natively support XML. Babel Blaster supports the following types of conversions:

  • Comma separated values (CSV) - XML

  • Flat File - XML

  • Electronic Data Interchange (EDI) - XML

  • XML - XML (using XSLT stylesheets and an XSLT utility)


  • Flat file transformation

    Converting Flat Files to XML (2002)

    Jeni's XSLT Pages
    (Jeni Tennison Consulting Ltd)

    XSLT Cookbook



    2005, David Chappell: Understanding BizTalk Server 2006

    BizTalk Overview

    Explaining the BizTalk Architecture to your Grandma

    Writing Custom BizTalk Functoids

    Agile Business Intelligence Community Blog
    SQL Server Integration Server (SSIS): Adding Headers and Footers to Flat Files

    JRower is a tool for loading database tables from flat files. You supply a XML file describing the fields in the file and their mapping to the database table columns. The data file can be a text file in CSV, delimited, fixed length, or Excel format.

    Processing EDI Documents into XML with Python

    Thursday, April 10, 2008

    2008-04-10 Thursday

    JRuby 1.1 released with major performance improvements

    Google 'simplifies web development' with AppEngine

    Interview: Dan Diephouse on Atom, AtomPub, REST and Web Services

    .NET Framework Versions: Marketing vs. Reality

    Key Takeaway Points and Lessons Learned from QCon London 2008

    IBM's Smart SOA Vision Explained at Impact

    12 Things You Should Know About REST Web Services and WOA

    1. REST posits an interconnected information ecosystem, not an isolated set of point Web services.
    2. A focus on Design for Consumption instead of Design for Integration.
    3. REST security is egalitarian and is as secure as the Web itself.
    4. Service interaction directly by the client is a first class citizen in WOA.
    5. Service contracts are simpler and suppler in a REST model.
    6. REST strongly complements traditional SOA, if you must have it.
    7. REST and WOA enable and do not violate the principles of service-orientation.
    8. We have reached a possibly final state of deconstruction between data and function.
    9. REST drives WOA but WOA extends beyond REST.
    10. REST is deeply infused into the fabric of the Web today.
    11. REST enables an inversion of control that drives adoption and integration.
    12. REST and WOA can handle systems of arbitrary complexity and size.



    What is the Role of a Manager in an Agile Organization?

    SLOCCount
    a set of tools for counting physical Source Lines of Code (SLOC) in a large number of languages of a potentially large set of programs