Theres not much point in writing efficient code that robustly supports an ineffective or irrelevant business process. The most crucial opportunity for improvement in developer tools, paradoxically, may therefore be in areas that most directly serve the nondeveloper participants in project teams whose members will increasingly come from many specialties. Not surprisingly, proprietary and standard approaches are going head-to-head.
Development toolmakers have promised for decades that theyd bring application development closer to the nonprogrammer. Sometimes, an application platform even holds still long enough to let a paint-by-numbers tool get delivered in working form—only to become an instant relic when something fundamentally different comes along, as green-screen applications have given way to GUI thick-client applications that have yielded in turn to thin Web applications.
Tools such as UML (Unified Modeling Language) have helped bridge the gap in a more resilient way. UML provides a notation that nondevelopers can understand, but its also expressive enough for developers to take all the way to a finished product . But as is often the case, this is a mature industry-standard solution that had better check its rear-view mirror: Having taken a while to get going, Microsoft Corp. is quickly coming up to speed with its own platform-synergetic approach, WWF (Windows Workflow Foundation).
Competition for leadership in improving team performance—not only between WWF and UML but among any number of other contenders—comes at just the time that its needed to complement rising interest in SOAs (service-oriented architectures) for enterprise application portfolios. Its the essence of an SOA that it should encourage the definition of processes in collaboration with domain experts. SOAs also should ease the maintenance and refinement of the services performing those processes, in modular fashion, thanks to minimal implementation coupling. Both of these goals are fostered by better ways of connecting the process expert with the software developer and of visualizing the overall flows and behaviors of the system.
Microsofts Visual Studio .Net set a high early standard of developers ease in adopting this approach at the level of code details and network mechanics. The next generation of tools, however, should do more than merely make it possible for process definers to sit closer to the code that carries out their intentions. These tools must put the structure and function of application modules into a form that makes them understandable and accessible to nonprogrammers, and they must also make solid connections between those representations and the code that actually does the job.
UML, defined and maintained by the nonprofit OMG (Object Management Group) industry consortium, can express fairly high-level workflows and lower-level implementation details. We have noted and applauded in eWEEK Labs reviews the growing two-way integration of UML diagramming and Java coding tools in products such as Borland Software Corp.s JBuilder, Oracle Corp.s JDeveloper and Sun Microsystems Inc.s Java Studio Enterprise. All those exemplars will find themselves challenged, however, by what looks to us like a vigorous, enthusiastic reaction of developers to the forthcoming WWF technology (now available in beta) shown by Microsoft at its Professional Developers Conference in Los Angeles last month.
Attendees at that conference saw a business transaction model being instrumented with breakpoints, in the same manner as conventional debugging of executable code. On animating that process and reaching that breakpoint, the presenter readily drilled down into the code that was running at that point. The integration between the worlds of process description and code implementation was as seamless as one could imagine, although eWEEK Labs would be the first to note that a rehearsed demonstration scenario is far from a proof of the general case.
Crucially, Microsoft has stated that WWF will be a core technology rather than merely a new feature of the Visual Studio development environment. The underlying interfaces, the company has said, will be accessible to other custom tools that a third party might choose to construct or for hosting in another application. This blurs the boundaries between programmers and other members of an enterprise systems design and development team, in much the same way as Microsofts introduction of powerful scripting capabilities into its mainstream productivity applications.
We should note that blurred boundaries often turn out to be mixed blessings. Microsofts own examples of its WWF model of modular Activities include the notion of a module that sends an e-mail from a workflow. Yes, this kind of thing has outstanding potential to turn isolated applications into integrated, network-based supply chain management environments, but it also has considerable potential for mischief—as the community has learned to its sorrow from promiscuous scriptability of Microsoft applications such as Word and Outlook.
That said, we also look forward to seeing what project and systems teams—the evolutionary successors to mere development teams—will do with WWFs ability to modify workflows dynamically at run-time. We applaud Microsofts emphasis on incorporating human actions as well as automated actions into workflow definitions.
Microsoft is not alone in its efforts to address this aspect of improving the development process, with established process-oriented toolmakers such as Swedens Telelogic AB promising theyll have important improvements to share in coming months.
In the process, we can hope that process speed bumps of mismatched data and poorly defined decision-making rules will become more visible to organizations, and that more of ITs potential will be realized more quickly in real-world situations.
Technology Editor Peter Coffee can be reached at [email protected].