Extending .NET Applications with BizTalk Server


BizTalk Server is a flexible solution for exchanging documents and defining structured business processes. Although these services work well alone and between trading partners , they also make great add-on services to enterprise applications. Enterprise applications that need to have business processes defined outside of the application can benefit from the rich process definition environment that BizTalk Server offers. Conversely, you can write custom .NET code to add new functionality to any BizTalk Server schedule. This enables BizTalk Server solutions to benefit from reusable application services that are implemented within an enterprise application. Figure 6-3 illustrates how an application can externalize business processes into a BizTalk Server schedule. This schedule can also include any number of components that implement .NET code written in any of the supported Common Language Runtime (CLR) languages.

click to expand
Figure 6-3: The relationships between C# applications and BizTalk Server

Externalizing Business Processes to BizTalk Server

There is good reason to externalize business processes from the application into an external engine, such as BizTalk Server. In many cases, business processes change on a regular basis. If these processes are hard-coded into the application, then every change requires you to rebuild the application. You could also accomplish externalization with other technologies, such as XML and XSL Transformations (XSLT). Changes made to an external file would be loaded and parsed by the application when it starts. The only problem with this approach is that XSLT comes with a steep learning curve for the application user . This is where BizTalk Server comes into play. Internally, the logic is maintained in XML format according to BizTalk Server's XLANG specification. Externally, the business user sees a Visio-like user interface and interacts with business process steps in the form of a block diagram.

Exposing Developed .NET Services to BizTalk Server

Just as an enterprise application can leverage BizTalk Server as an externalized business process engine, a modular application can include multiple components that can be packaged for use by a BizTalk Server schedule. One example of this is the e-mail service created in Chapter 5, "Integrating Mail Services." The e-mail service created for the IssueTracker application can be wrapped and used within an Orchestration schedule. You implement this integration between BizTalk Server and .NET Framework components with Application Integration Components (AICs).

Developing Application Integration Components

AICs are extensions to the BizTalk Server solution that implement custom logic. You can include these components within a process implementation diagram or directly bind them to a messaging port to process a document. Because BizTalk Server does not include built-in support for the .NET CLR or managed code, AICs must be implemented as COM+ components. Code written in C# inherits from ServicedComponent and implements a specific BizTalk Server integration interface method. These components are registered and bound to a destination messaging port in BizTalk Server. The "Creating the AIC Project and Class" section later in this chapter walks through the details of creating an AIC.




Developing. NET Enterprise Applications
Developing .NET Enterprise Applications
ISBN: 1590590465
EAN: 2147483647
Year: 2005
Pages: 119

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net