Author Archive for Steve

Microsoft SOA & Bus. Process Conference 2006: Day 1

The Microsoft SOA and Business Process conference is a chance for IT professionals and other interested parties to become informed about Microsoft technologies and strategies surrounding business process management, workflow and data/application integration. The conference is being held from October 3rd to 6th at the Microsoft Conference Centre in Redmond and, this year, the special emphasis is that nebulous space called Service Oriented Architecture (SOA). I’ll probably say more about this later but, like others, I’m really not enamored with the SOA “buzziness” that is taking the technology world by storm. At a high level, SOA seems to be a grossly over-hyped re-branding of best practices that have been around for a long time. Yes, there are new concepts and patterns embedded in the SOA muck but the ill-defined and inconsistently defined SOA space is occupying a lot of brain power that is probably best spent on the development and re-emphasis of pragmatic best practices for driving organizational connectedness.

The first day kicked off with back-to-back keynote presentations. David Chappelle was the first keynote speaker whose talk was entitled SOA, BPM, and Microsoft: A Pragmatic View. David has a superb ability to capture and entertain the audience while delivering insightful content. He is one of those people that you come across who becomes registered on your “internal” list of those who are exceptional at a certain discipline. Mr. Chappelle, of course, is registered on the “Learn to Speak and Present like These Guys” list.

Here are some highlights from David’s talk:

  • SOA is a loosely defined vision.
  • Think of SOA as attempting to establish the equivalent of a TCP/IP for applications.
  • SOA is missing an essential element: there is no WS specification to provide interoperable queued messaging.
  • SCA (Service Component Architecture) is a WCF-style specification in the works by IBM, BEA and others.
  • Reuse of business objects has failed; achieving reuse of business services will be very hard. I definitely agree with this view. One of the reasons for the failure is lack of investment in facilitating reuse (i.e. insufficient investment in providing the appropriate documentation, in packaging and distributing the software libraries, in communicating the object libraries).
  • SOAP is not enough; need to create the necessary SOA infrastructure.
  • Focus should be on the broader notion of SOA infrastructure as opposed to ESB-style definitions.

The second keynote, Real World SOA, was presented by John deVadoss, Director of Architecture Strategy at Microsoft. An overriding sales focus diminished the effectiveness of this keynote. Video case studies videos of “real world SOA” success stories did little to convey a compelling SOA message. Also, he simply regurgitated the same old technology release information that we’ve been hearing for well over a year now (i.e. WinFx, .NET 3.0, BizTalk 2006). Some highlights from John’s talk:

  • He is seeing customers doing SOA for SOA’s sake. Well, this is very common problem with all technologies.
  • It is important to plan for frequent deliverables that emphasize “time-to-value”. This is just another way of saying the SOA projects should adopt agile development concepts, specifically incremental and iterative practices.
  • SOA “recipe”: expose, compose, consume.
  • A question from the audience asked if there was a story around monitoring and managing the services. The long-term answer will involve Microsoft System Center Manager.

Following lunch came the first sessions of the day. Since I enjoy hearing David Chappelle speak (and the other sessions weren’t very compelling) I decided to attend the two back-to-back business focused presentations by David. His first afternoon session was entitled Profiting from Process: Building a Business with BizTalk Server and he did an excellent job, as usual, of presenting on the topic. Here are some highlights:

  • He said that the session was focused on businesses that do not currently have an a major integration practice. However, in the end, there was still much content and lots of audience discussion that was useful for even experience integration shops.
  • CIO surveys consistently show that integration requirements are one of their top 10 priorities.
  • Typical sales cycles range from 3 to 9 months; expect a “long” sales cycle. One comment on this topic was that some companies, like Wal-Mart, require consultancies to complete the sale with them in a “short” time frame.
  • There was a comment from a Australian Microsoft employee who said that partners are not investing enough in pre-sales.
  • Someone else commented that clients who have invested in having vendors train their staff have seen the staff leave to take employment elsewhere which leads to the client re-engaging with the vendor to fulfill their integration requirements.
  • An excellent point was made by Jim Boyer who said that distinguishing between “proof” and “proof of concept” was very important when deciding how to demonstrate the viability of BizTalk to solve integration problems.
  • There was a great discussion on how to acquire the skill sets necessary to develop BizTalk solutions. David’s view was that you need to start with good .NET developers. Some felt that it was best to take people like analysts and train then to develop BizTalk solutions. This is an important area that probably does not receive nearly as much attention as is needed to ensure success with BizTalk.
  • Jame Healy raised the issue that it was far too easy for partners to achieve the BPI competency (something like having a couple of MCP/MCSD people on staff and execution of 2 BizTalk projects). Within the next 12 months achieving the BPI competency will become significantly more difficult.

The next session presented by David Chappelle was called Selling BizTalk Engagements. Once again, David’s talk was entertaining but I didn’t really get much out of this talk as there was much overlap from the previous session on building a business with BizTalk Server.

Technorati Logo , , ,

Roberto’s HL7 Working Group Update

Roberto Ruggeri has posted an excellent update on his activity at the HL7 Plenary and Working Group Meeting. He provides a good overview of the 3 different health groups that form the Connecting for Health consortium and how their architectures differ from a clinical data aggregation perspective. He also discusses work around pinning down HL7 messaging standards and the difficulty in adopting HL7 3 for infrastructure components due to the significant investments in HL7 2.X.

The other difficulty he mentions is related to the lack of guidance on how to transform between 3.0 and 2.X. This area is something that is key to helping vendors and organizations adopt and integrate HL7 3.0 into environments heavily populated with HL7 2.X solutions. Developing solid guidance and, ideally, “accelerators”, that provide “kick-start” transformations between 3.0 and 2.X will be needed to ease the migration to, and integration with, HL7 3.0 environments. Assuming 2.X messages are being processed in BizTalk as XML using the BizTalk HL7 Accelerator, how does one establish “kick-start” transformations to map HL7 3.0 messages to 2.X and vice versa? This is an area I am planning to investigate. It may not be that straight forward as highlighted by the whitepaper “Navigating the pitfalls: Implementing HL7 version 3” which states:

Don’t assume v2 - v3 mapping can be done at the integration layer
If your application already supports HL7 v2: HL7 v2-v3 migration by means of a mapping is problematic. The main problem is not the mapping itself (although HL7 v3 is much more detailed than HL7 v2), but the behaviour of the application. This is mainly a business flow issue. The dynamic behaviour and trigger events in V2 and V3 are sufficiently different, that your application behaviour will need to map on to them differently. If your application has to support both HL7 v3 as well as HL7 v2: create a new communication module for the HL7 v3 messages/documents, and use it in parallel to the HL7 v2 communication module.

Technorati Logo , ,

The Marriage of BizTalk and Team Foundation Server

Eric Lee has posted an interesting article describing how to implement a Kanban-style Team Foundation Server (TFS) workflow using BizTalk Server.  Integrating TFS with workflow products like BizTalk and Windows Workflow Foundation could provide significant value in helping to streamline the tracking and execution of development projects.

Technorati Logo , , , ,

Why Add Tags to my Posts?

Started thinking about adding tags to my posts and asked myself the question: Why should I add tags to my posts?  A quick search turned up this post which provides some good answers and also provides reasons why one would want to do online tagging (social bookmarking). Marshall, your site is in need of protection from comment spammers.

Technorati Logo ,

HL7 3.0 XML Message Receipt Handling

I first started thinking about the handling of HL7 3.0 XML messages when I got involved with a GotDotNet open community project to design and build an HL7 Library. This project has since gone dormant but I’ve still been thinking about this area. What is the best approach to processing HL7 3.0 XML messages at the time of receipt? Is there a need for an HL7 3.0 object model that deserializes from and serializes to XML? Of course, answers to these questions will be derived from establishing use case scenarios that reflect the business requirements for messaging and workflow. I will soon be brainstorming use case scenarios with others, including my colleague Simon Chester who is our Healthcare Industry Architect and who has a deep knowledge of solutions architecture and enterprise application integration for the healthcare industry.

Simon has posted his thoughts on an HL7 3.0 object model which reflects our recent conversations on this subject of an HL7 3.0 object model. Since then I’ve been in more discussions about how to process the receipt of HL7 3.0 messages and the need for object model deserialization. One interesting idea that came up was to use SQL Server 2005 to persist HL7 3 messages and then use SQL Server Notification Services to notify subscribers. I recently learned that SQL Server 2005 provides the capability to “register” schema collections and then create typed “xml” columns. These typed “xml” columns then provide XML instance validation during persistence and allow indexing on the elements within the XML document. The great thing about having indices on the XML elements for typed “xml” columns, is that it facilitates efficient query operations against a column’s XML document content. You no longer have to pick those elements you want represented as separate indexed columns. Other possible advantages to using SQL Server 2005 for HL7 3.0 XML message persistence include: logging and tracking of all message content without the need to implement separate logging and tracking functionality (may address some/all of Infoway’s requirements for HIAL-level log management services), using SQL Server Notification Services to publish HL7 3.0 message content to subscribers in a more purposed and “simplistic” form, the abstraction of HL7 3.0 message structures away from the core business logic and workflow.

Technorati Logo , , , ,

The Ironic Birth of Waterfall

Did you know that the birth of the waterfall software development methodology is a thing of irony?  I was working on a presentation on agile software development when I looked deeper into the history of the waterfall methodology. Dr. Winston Royce first developed the waterfall methodology in 1970 in a paper entitled “Managing the Development of Large Software Systems“. In his paper he first introduces the waterfall approach and then states that it is ”...risky and invites failure“. Royce then proceeded to propose an iterative model as an improvement on his initial waterfall suggestions. Ironically, despite Royce’s own criticisms of a waterfall approach, the industry chose to adopt waterfall, and ignore his superior iterative methodology. You can read more details here.

Technorati Logo , , ,

Proprietary Software is not Anti-Social

According to David Sugar (author of the GNU Bayonne telephony platform):

“Some choose to believe they have a right to develop software with the help of and knowledge found in the world at large, and yet deny that same right to others … As such, I personally see the question of proprietary software as anti-social …”
http://www.ddj.com/191800299

I could not disagree more. If proprietary software is anti-social then does that not make all other proprietary products anti-social? What makes a software product, borne of creativity, innovation, and intellect, different from other products derived from the same efforts?  Haven’t most products invented and constructed by mankind been borne of “knowledge found in the world at large”?

What’s your view?

Technorati Logo , ,

HL7 Insight Beta 1.1 Released

Beta 1.1 of HL7 Insight has been released with the following new cosmetic features:

  • Added ability to change the font size and the font type (fixed width only).
  • Now supports word wrap; can be toggled on or off.
  • Added ability to change the message display colors, including: background color, HL7 encoding character colors, field text color, and segment ID color.
  • When started will restore the HL7 Insight window to the previous position and size.

You can download HL7 Insight Beta 1.1 here.  Going forward, I will also place HL7 Insight releases on a separate “HL7 Insight” web page.

Technorati Logo , , ,

Rural Sourcing - An Alternative to Outsourcing

Many people in the IT industry have seen the rapid growth of outsourcing as a threat. Reactions cover a wide gamut of feelings but for IT professionals whose roles are subject to outsourcing, fear and anger seem to be the prevailing sentiments; fear of job loss and anger at companies/management for outsourcing. Emotion aside, the viability of the outsourcing business model is typically analyzed from a cost savings perspective. The cost analysis has matured since the arrival of outsourcing and now takes into account many of the “hidden” factors which eroded or eliminated the value of outsourcing. Still, with maturity does not come ease; outsourcing is not something you dabble in and requires a well crafted, long-term strategy to realize savings. Ok, I’m a little off track.

From an economic standpoint, there is a strong argument for outsourcing. A couple of excerpts from Daniel W. Drezner’s article “The Outsourcing Bogeyman” provide compelling evidence in support of the economic benefits:

Catherine Mann of the Institute for International Economics conservatively estimates that the globalization of IT production has boosted U.S. GDP by $230 billion over the past seven years; the globalization of IT services should lead to a similar increase. As the price of IT services declines, sectors that have yet to exploit them to their fullest — such as construction and health care — will begin to do so, thus lowering their cost of production and improving the quality of their output.

and

McKinsey Global Institute has estimated that for every dollar spent on outsourcing to India, the United States reaps between $1.12 and $1.14 in benefits. Thanks to outsourcing, U.S. firms save money and become more profitable, benefiting shareholders and increasing returns on investment. Foreign facilities boost demand for U.S. products, such as computers and telecommunications equipment, necessary for their outsourced function. And U.S. labor can be reallocated to more competitive, better-paying jobs; for example, although 70,000 computer programmers lost their jobs between 1999 and 2003, more than 115,000 computer software engineers found higher-paying jobs during that same period. Outsourcing thus enhances the competitiveness of the U.S. service sector (which accounts for 30 percent of the total value of U.S. exports). Contrary to the belief that the United States is importing massive amounts of services from low-wage countries, in 2002 it ran a $64.8 billion surplus in services.

My understanding of the benefits of outsourcing has improved but I am still concerned that the impact is not without ill effects. What ill effects? I’ll leave that discussion for another time but for now I’ll just say that the impact of globalization and the increasing pace with which we need to adapt to globalization (e.g. outsourcing) may not be best for a balanced society.

Is there an alternative to outsourcing that can yield cost savings while supporting regional economic development? Possibly, and its called rural sourcing. Rural sourcing is defined as follows:

“Sending work to service providers in domestic locations where salaries and operating expenses are lower (such as the Midwest for the United States). An alternative for companies that want to avoid the negative aspects of offshoring.”
http://www.sourcingmag.com/dictionary/Rural_sourcing-158.htm

Ever since I heard about rural sourcing I have been enticed by the business model. On the surface, the cost savings may not appear competitive when contrasted to outsourcing, but when all the “hidden” outsourcing costs are factored in, rural sourcing may provide a serious offering. Will rural sourcing stop outsourcing? No. Can rural sourcing help revitalize regional areas that are in need of an economic boost? Can rural sourcing help retain high-skilled workers while allowing companies to save on labor costs? Yes, according to a rural sourcing company called, not surprisingly, Rural Sourcing Inc. Rural Sourcing claims to offer “…low-cost, high quality information technology services at 30%-50% cost saving while supporting Regional Economic Development“.

Technorati Logo , , , ,

Zero Feature Release - The First Iteration

I was recently in a meeting to discuss and help refine my company’s solutions approach when I mentioned the importance of having a “zero feature release” (ZFR). Some people in the meeting were not familiar with the meaning of a ZFR. I went on to explain that a ZFR is essentially the release of the project’s first iteration that includes all components of the project’s architecture and infrastructure (or as many as possible), but “no features”. Why is this so important? Because highlighting and addressing architectural issues early, is significantly easier than addressing them during later release stages. Leaving core architectural pieces to later release stages can dramatically increase project risk in terms of time, quality, and costs.

A couple of quotes from Kent Beck’s book Extreme Programming Explained highlight the focus of the first iteration:

…the first iteration must be a functioning skeleton of the system as a whole… For the first iteration, pick a set of simple, basic stories that you expect will force you to create the whole architecture. Then narrow your horizon and implement the stories in the simplest way that can possibly work. At the end of this exercise you will have your architecture.
(Beck 113)

The first iteration puts the architecture in place. Pick stories for the first iteration that will force you to create ‘the whole system,’ even if it is in skeletal form.
(Beck 134)

Deployment and configuration issues (like architectural issues) must also be identified as early as possible. Too often, deployment and configuration issues arise later in the project lifecycle creating project delays, increasing costs, and risking the quality of the deliverable. Therefore, in addition to an architectural focus, a zero feature release must also be focused on validating the deployment and configuration of the system.

Technorati Logo , , , , ,