FREE hit counter and Internet traffic statistics from

Thursday, November 06, 2003

SAF Day - 1

Good keynotes from Pat Helland and Bill Gates yesterday on day 1. There are a couple hundred folks at the event and I thought Gates (and Eric Rudder) was very candid in answering questions for almost an hour. I was particularly interested in Gate's comments on the investment they've made in India for outsourced development (3 large firms). Also talked with other attendees from large ISVs that have also outsourced portions of their development to India and other places.

Helland's talk was called "Metropolis - Part 1" where he made an analogy between the evolution of cities (and associated commerce) and the evolution of IT. Within this major analogy he made 8 other analogies to individual pieces of the physical infrastructure in the evolution of citieis to pieces within IT. These included:

  • Applications as cities. Started independent. B2b is still limited. Both are big complex evolving environments

  • Applications as factories. Like factories in the late 1800s apps are mostly independent. Useful interconnection is difficult. Tomorrow there will be rich interconnectedness. App independence is essential to get work done but interconnection has advantages in order to leverage the work of others

  • Railroads as Communcation. Movement of commodities on the railroads led to the expansion of retail. Money is in the browsing, mps, chat, images, email. Will lead to the bandwidth necessary for interconnectedness. End result is that organizations that can handle structured data will prosper

  • Manufacturing and standardization. Early 1800s = hand crafted goods, late 1800s de facto standards per industry. Standard data structures have their basis in a Web services foundation. Need horizontal and vertical standards as well. Lead to increased compatibility

  • Manufactured Assemblies and Virtual Enterprises. Requires detailed standardization and produces high value goods. Virtual enterprises rely on business function outsourcing (Logistics, HR, benefits). Leads to better quality and price. Requires standards. Allows companies to do what they do well

  • Retail and distribution as bandwidth. People coming to the stores versus bringing standardized goods to stores. Created department stores (Walmart). Mail order was driven by standardization. Today in IT we have Swivel-chair integration, Fax and pray integration, and Alt-tab integration. Tomorrow we'll have Data and operation standards, Need interchangeability, Allows pre-allocation of resources, Makes biz process efficient, Business process will grow to drive the applications as standardization grows and so Apps become commodities

  • Urban infrastructure and dealing with legacy apps. Requires retrofitting buildings. IT infrastructure issues: How do you federate identity, security, naming, directory? Retrofit will happen and web services offer hope in this regard. Who pays for this?

  • City Governance and IT Governance. Vision, planning, strategy, funding. Issues with IT governance: Who makes decisions? What are priorities? Metrics

  • Pat's assessment is that IT is currently at 1880! This is the case since Business process a gleam in our eye, Virtual enterprises getting going, and Communication and browsing well established.

    Pat then went through some practical advice for implementing services today (in the pre WS-* world). Some of his most interesting points were in regards to the need for creating a conversation ID, message ID, version ID, and sequence numbers inside your messages. In that way services can ensure once only processing of messages and processing messages in the appropriate order. Another point he made is that messages should be timestamped for validity (perhaps for infinity). The service should then log requests (before sending the response) and responses so it can replay responses if the same request comes in again. This ensures idempotence or the ability to handle a message arriving multiple times. It also improves performance by essentially caching the message in the database (storage is cheap). He also recommended not implementing distributed transactions in business services and to model each message as an atomic transaction. Reference data should also be versioned and immutable so messages can reference a particular version of the reference data. When designing a business service from existing apps you need to look for idempotent sequences of messages and define a message interface (XSD schema) for each sequence.

    At the end Pat sang a couple songs about messaging, very funny! Had a nice reception at the hotel afterwards and received a signed copy of Simon Guest's new book on J2EE interoperability with .NET.

    No comments: