Colorado Software Summit 2005
Coyote Gulch has been banished to management at this late stage of his career. As such there is little time to satisfy the inner geek, pounding code, configuring applications and watching customers use the software he's written. Each fall he ventures up to Keystone for the Colorado Software Summit to hang out with a few movers and shakers and thought leaders in the Java and XML world.
If we could identify an overriding theme for this year's summit it would be "loosely coupled" and "POJOs" (plain old Java objects). Of course the BigCos were well represented, especially IBM, but there is a move away from BigCo technology to something simpler, code that is testable, and code shot through with industry standards rather than the "de facto" lockin provided by the vendors.
One of the very cool features of the Colorado Software Summit is the absence of vendor sponsors. You're not beaten down by vendor pitches in the technical sessions. Another is the Summit community self-organizing the Q&A and BOFs each evening. Many of the presenters and attendees have returned year after year and know each other and their craft well.
When you are putting together your budget for next year's conferences and training please give the Colorado Software Summit consideration. You'll be so tired out and full of new ideas about your software by the end of the week you'll know it was dough well spent.
Coyote Gulch says "see you next year" to his new friends from Turkey, Canada, Poland, Norway, Sweden, Mexico, Salt Lake, Virginia, Detroit, Denver, Boulder, Ohio, Wisconsin, Texas and England.
John Soyring started off the week with an update on the state of the software industry from his point of view. He emphasized two characteristics of successful people, their knowledge and network. The Summit helps in both areas.
IBM sees business working to streamline or optimize processes, seeking to increase worker productivity and improve customer service. The top IT priorities are application integration, building business intelligence, data warehousing and security.
Mr. Soyring acknowledges that IT is witnessing the emergent rule by standards, virtualization, Open Source and the increasing trend of commoditization of software. Indeed, some industries are already standardizing business processes.
Mr. Soyring listed several differences between SOA (Services Oriented Architecture) and the integration methods of the past, standards, organizational commitment, degree of focus, connections and level of reuse. He listed BPEL (Business Process Execution Language) as and area of tremendous opportunity. It will be used to model both business processes and the interactions of humans with the system. Organizations should be able to plot KPIs (Key Performance Indicators) from BPEL.
Coyote Gulch's first session was Matt Raible's talk about the Spring Framework. He introduced Spring by repeating the Grady Booch rule of thumb to "program to interfaces." Spring enables much easier testing by it's use of POJOs. One of the best parts of the Spring framework is the support offered to many of the web frameworks around.
Next up was Michael Keith explaining what is coming in EJB 3.0. Developers can expect the new spec to simplify developer programming model, simplify the client programming model, reduce the learning curve for new development and reduce the number of artifacts. In addition EJB 3.0 will introduce the concept of configuration by exception to the spec while preserving backward compatibility. The idea of dependency injection, having the container deal with dependencies, is also new to the spec. This will be accomplished using either XML or annotations. It'll be a new world of POJO entities.
Tom Bender finished out Coyote Gulch's afternoon with his session ESB - An Introduction to an Enterprise Work flow Framework. An ESB is lightweight, loosely coupled, event driven, highly distributed construct enabling selective deployment, abstract endpoints, intelligent routing, data transformation, reliable messaging and a multi-protocol message bus, according to Mr. Bender. It enables a better faster lighter Java. It adopts XML as the language of integration. It allows the organization to think and plan in terms of SOA, manage object state consistently, separate processing logic from message routing rules, propagate ESB based on business cases and employ incremental adoption.
Tuesday started out with a big bang for the Ol' Coyote. What could be better than a session on Tricks and Tips for Making Your XML Application Go Faster? Neil Graham pointed out that since XML can be an important part of the performance profile of an application, the developer needs to pay attention to the different parsing paradigms. He went on to describe SAX, DOM and pull-parsing and listed a few rules of thumb for choosing a parsing strategy.
Next up was part 1 and part 2 of Web Services Advanced Topics: Beyond SOAP, WSDL, and UDDI from Kelvin Lawrence. He went into the WS-I standards. The talk included WS-Security, WS-Reliable Messaging, WS-Transactions, WS-Addressing, WS-Management and BPEL. One attendee broached the subject of intellectual property, notably software patents, permeating the WS-I chain and the worries the Open Source community has around this issue. Mr. Lawrence avoided starting a political discussion by observing that, "Everyone has done the right thing," in developing the spec(s).
One of Coyote Gulch's favorite presenters from the past, Noel Bergman, finished out Tuesday with an Introduction to Portlet programming with JSR-168. Noel highlighted the characteristics of a Portal, aggregation and personalization. He reminded us that developers do not own the markup in a portlet and that portlets != servlets.
Wednesday morning we started out at Apache Geronimo for Developers from Bruce Snyder. The goal of this Apache Software Foundation project is to develop a high-performance J2EE application server unencumbered by the GPL. Mr. Snyder went through some of the configuration options for the server along with showing the startup and configuration files.
We continued on to hear Valerie Pressley discuss Developing a Connector Using Java Connector Architecture. She described the usual required interfaces to write and configuration options (container managed security anyone?).
Next up was Mule - A Detailed Look at an Enterprise Service Bus from Tom Bender. He focused on the Open Source project Mule an implementation of an ESB. He described the Mule, "UMO Component." All objects are transformed into UMO components during the life-cycle of the interaction.
AJAX was the last topic for the day. The speaker, Paul Fremantle's topic was The AJAX Architecture and Scripting Services with E4X. AJAX allows the developer to refresh part of page using XMLHTTPRequest without a complete roundtrip to the server. It's the technology used in Google Maps. Mr. Fremantle also introduced the E4X (ECMAScript for XML) scripting language. Browser support is lacking (notably IE) so the use of the extension will be limited. It's great now for server side stuff. The demo sort of looked like the old dBase command line as Mr. Fremantle typed in XML and queried it from the command line as well.
Thursday morning started out with Simon Phipp's annual keynote. Simon is the Chief Open Source Officer for Sun Microsystems. As such he gets to evangelize to the world and to his employer on the topic.
He set the stage for his talk by touring a bit of history, mentioning the artifacts that were part and parcel for a traveller in 1994 (traveller's checks, cash, airline tickets). He went on to state that he carries a credit card for cash now along with a GSM phone that works almost anywhere on the planet and no airline tickets. He also mentioned the "massively connected world" we now live in.
Mr. Phipps developed his talk by asking the question, "If we were massively connected then:
"Security would no longer concern only boundaries - only your digital identity.
"Software would have nowhere and everywhere to run.
"Software pricing would no longer track ephemera - value based pricing instead of i.e. CPUs.
"Markets would become conversations or narrative engagement - better to hear from engineers rather than managers.
"Close-room development would be inefficient - Open Source is improving quality, is written by a community and is not about the dough but is a way of developing software in a connected world."
Phipps went on to say that Open Source leverages the network effect. It can only charge for the difference between the commons and your innovation. Chattel becomes a commodity.
Simon categorizes Open Source licenses in 3 ways, unrestricted (BSD style - Apache v.2.x), file-based (Mozilla style - CDDL v.1.x) and project-based style (FSF style - GPL v.2.x). BSD style licenses offer the most freedom for the most people but do not protect the commons. FSF style licenses promote constant growth of the commons but limit freedom for develops to use their own innovation however they want. Mozilla style licenses balance both freedoms, commons and individual freedom.
Mr. Phipps warns that Open Source is not enough to guarantee freedom for developers. We need open standards also. For Simon: Open Standards + Open Source == Freedom.
Off to Dan Bergh Johnsson's presentation on Real Life Automated Tests - A Case Study. Mr. Bergh introduced automated testing in the context of writing the tests after his company was called in to fix code that had been deployed into production. He mentioned that JUnits are not not enough but they're a great start. He talked about Cactus, HTTPUnit and DBUnit.
Next we attended Apache Axis2 - The New Generation of Open Source Web Services from Paul Fremantle. The new spec will add WS-Addressing, WS-Reliable Messaging and improve composability, performance and ease of use. The cool thing for the Ol' Coyote is REST support. AXIS2 will wrap REST calls in a SOAP envelope for developers, shielding them from the complexity of the SOAP spec.
The last session of the day was Asynchronous Web Services: The Link from JAX-RPC to BPEL from Jon Maron. He pretty much ran through an Oracle demo of building and deploying asynchronous web sevices with JBuilder. He added a nice demo of Oracle's BPEL tools.
Friday's session was Comparing Java Web Frameworks: JSF, Struts, Spring, Tapestry and WebWork from Matt Raible. There was a ton of information in the session and Matt showed code examples for each framework. Bottom line, he would choose Webwork or Tapestry along with Spring if given a choice by the PHBs
8:35:43 AM
|