SOA: The Process Development ParadigmLeaving software development's dysfunctional legacy behind, service-oriented architecture (SOA) is gathering momentum as the paradigm for developing process management applications. Using Microsoft's BizTalk Server 2004 as an example, here's a look at how SOA works
by Ira Fuchs Automating business processes is a collaborative activity that takes place between line-of-business professionals and programmers. Because each discipline has its own language and development issues, a communication and procedural divide always exists between their respective perceptions of development objectives. Consequently, software development is characterized by recursive revision cycles and ambiguity due to a methodology that requires interpreting and translating the intent of a specification into a highly abstract procedural format that ultimately can be executed. Although development notation systems such as unified modeling language (UML) have allowed business analysts to document the functional specifications and "use cases" of a process using a structured methodology that incorporates some nominal semantic characteristics, programmers still have to interpret this documentation and translate its intent into a completely different language and format. Programming languages today remain syntactic, abbreviated, and procedural, as opposed to semantic, verbose, and declarative. This is a legacy from the time when extremely limited resources constrained computers. To make them work optimally (or at all), programs had to be highly succinct to the point where a program written in Assembly language could only be understood by the programmer who wrote it and by the computer to which it was targeted. Today, raw computing power is in abundance, but the legacy of resource conservation has had a permanent effect on the evolutionary direction of programming languages. Their structure remains bound to a computing machine implementation model. As such, they are not very good for describing meaning and function; that is, the semantic representation of complex entities and events. As a result, these entities and events have to be modeled first according to a distinct methodology. In conventional development this methodology is the design and specification process, done primarily by line-of-business knowledge workers and business analysts. Programmers then must translate the modeling results into implementation code. The result is a complex, two-step process that depends heavily on interpretation skills. Interpreting and translating the specifications of complex processes into procedural code is further complicated because the code's behavior is frequently more complex and unpredictable than that of the processes that were modeled. Ultimately, resolution of the limitations and inefficiencies of this development approach will only come through a better methodology that describes the meaning and function of information, presents the implementation methods semantically and declaratively, and creates the ability to generate an executable application directly from a descriptive model. SOA: Paradigm ShiftRecently, SOA development paradigm has emerged to focus on radically improving the efficiencies of creating, modifying, extending, and repurposing solutions for enterprise application integration, process automation, and trading partner interchanges. SOA redefines the concept of an application from being an opaque procedural implementation mechanism to that of an orchestrated sequence of messaging, transformation, routing, and processing events. With SOA, XML technologies allow applications to declare and expose both the message contents and the functional components that operate on the messages. XML-based development and deployment platforms that facilitate the SOA paradigm are highly compelling because they simultaneously reduce development and life-cycle overhead substantially and enable an unprecedented extensibility and reusability of components and entire applications. Business process management platforms based on the SOA paradigm facilitate the creation and execution of highly transparent and modular process-oriented applications and workflows that also conform to the typical IT departments' rigorous operational performance standards. The following attributes characterize process-oriented applications developed and executed within such an environment:
Microsoft's BizTalk Server 2004 is one of a number of platforms available today that employs the SOA paradigm. In this article, I will reference it solely to illustrate the features and benefits of an SOA development environment. Microsoft has integrated BizTalk Server with Visual Studio.Net to create a combined development and run-time environment. I will examine Orchestration Designer, the primary development module of BizTalk Server, and several supporting components to highlight SOA characteristics.
|
Most Popular This Week
IE Weekly Newsletter
Subscribe to the newsletter
|
|
|











