Setting Your Sail for 2007

E.F. Schumacher, a well-known British economist, once wrote: "I cannot predict the wind but I can have my sail ready". With that thought in mind here are ten predictions and hopes to help get your sails ready for 2007:

1. The WS-BPEL 2.0 specification will finally be approved as an OASIS standard. Adoption of WS-BPEL will initially be slow, driven by customer demand. BPEL will evolve beyond a “check box requirement” if people begin using it as a foundation for defining process profiles (conceptually similar to how people use WS-Security today). An updated mapping from BPMN to WS-BPEL will also be published.

2. The convergence of BPM and Web 2.0 begins. BPM is about improving performance by optimizing key processes. Web 2.0 is about capturing the wisdom of crowds (or as O’Reilly puts it, the architecture of participation). The convergence of BPM and Web 2.0 enables collaborative development and tagging of sub-processes, establishing a “process folksonomy” where the best processes can evolve organically. Collaboration can occur over simple but highly scalable pub/sub mechanisms (like Atom or SSE). Lightweight tools will enable users to model or reuse sub-processes using a broad set of metadata. While this is an exciting opportunity, there are several technical and non-technical issues that must be addressed before this convergence becomes a reality.

3. Improvements in SOA management and governance. Tools, frameworks and platforms will emerge that better enable:

4. Workflow isn’t confined to the datacenter anymore. Lightweight, extensible frameworks like Windows Workflow Foundation (WF) enable workflow in places where it may not have been previously considered.

5. Better UI Experiences. Declarative user interfaces will enable rich user experiences that can be easily modified or extended with simple mechanisms like XSLT. Familiar business applications like Office provide the user interface to back-end line-of-business systems. The line between AJAX-based UIs and rich desktop UIs will blur, enabling users to enjoy both connected and occasionally-connected experiences. Tools and guidance will make building, testing and deploying these composite UI experiences much easier.

6. A new category of architecture emerges - Software + Services. It is hard these days to find an Architectural concept that is not somehow tied to services. The line between web services, SaaS and traditional applications will blur to the point where the location, contract and hosting of a service are less important than the capabilities exposed by the service.

7. JSON without AJAX. We’ll start to see more people using JSON to address the XML bloat problem outside of simple AJAX-based applications. The downside is that this may result in more tightly-coupled applications.

8. Events and states instead of EDI-style messaging. Lightweight frameworks will empower developers to starting thinking about solutions in terms of event notifications instead of simple message passing from point A to point B. Hierarchical state machines enable state synchronization across complex, federated processes.

9. We stop talking about SOA and “just do it”. Sometimes we spend more time arguing about IT trends than actually using them. In 2007 the tools and specifications we need for enterprise-strength, loosely-coupled solutions have finally arrived – it’s time to roll up our sleeves and get to work.

10. IT finally admits that there is no silver bullet. Every year I hope to see this happen and every year my hopes are crushed by buzz-word of the minute hype machines. Hey I can dream, can’t I?

In 2007: I'd like to see the business side approaching IT to learn from SOA and how to work with service level agreements, contracts and policies. I'd also see programmers start thinking in a process oriented (service orhcestration) mindset instead of an object/data oriented way. Finally, it would be nice if more SOA projects started working from a top-down approach and forgets about service management (for a moment) to focus more on the business/human processes instead.