BizTalk Integration Patterns

Using BizTalk Integration Patterns to Streamline the Business Processes

Published on : Mar 24, 2023

Category : BizTalk Server

Senthil Kumar

Author

Enterprise Application Integration (EAI) is the platform to share data across applications. The source application has the data in one format in another hand, the target application requires the data in another format. It is complex in day-to-day operations to convert the messages to different formats in larger enterprises. In the earlier days, the manual work of copying data across the applications leads to data inconsistency and time consumption.

This challenge evolves into EAI which helps disparate systems to communicate better to avoid the integration challenges.

It can streamline the business process of transforming messages from multiple sources.

  • Internal applications
  • Trading partners

Goals of the Application Integration

  • Application Integration is uniting the databases that can smoothen the processing of business data.
  • Removing redundant data can reduce mistakes and liability.
  • The workflow integration can improve the productivity with automation of regular routines.

Enterprise Integration provides solutions for the smooth functioning of on-premises and cloud services. In the current Integration scenarios, most of the leading players are in cloud-based solutions.

      • Dell (Boomi)
      • SAP
      • TIBCO
      • BizTalk Server and Azure
      • AWS

Microsoft BizTalk Server is an on-premises tool that integrates multiple applications in the BizTalk environment. Starting from BizTalk Server 2016 supports the Azure integration (Hybrid).

What is the Integration Pattern?

The Integration solutions must address the core challenges in the application integration space.

      • Networks are unreliable.
      • The message transformation is very slow.
      • Two applications are in different contexts.
      • Change is inevitable.

The Patterns are determined based on the solution achieved with the message processing scenarios. Integration patterns are classified into different forms based on behaviors of message processing.

Integration Patterns

Message Construction

An enterprise has several applications and communication is established through a Message Channel that connects them.

Transformation of the message is intended to send a command specifying a function or method on the receiver (Subscriber) that the sender (Publisher) wishes to invoke the message.

Command Message:

An application must invoke the message transform using the command.

BizTalk Integration Patterns

Messaging is asynchronous, it is being invoked by a procedure. It could be a local procedure call into a message.

Document Message

Use a Document Message to reliably transfer a data structure between the applications. Whereas a Command Message tells the receiver to invoke certain behavior. The Document Message just passes data and lets the receiver decide what, if anything, to do with the data. The data is a single unit of data, a single object or data structure that may decompose into smaller units.

Event Message

The event message is used for messaging with event notifications.

Request-Reply

In the Request-Reply pattern, Requestor can send a request message and wait for a reply message. Whereas the publisher receives the request and responds with a reply message.

Return Address

The request message requires a return Address process the message cannot simply send the reply message on any channel. In this case, it must be reliable on the channel that the requestor excepts the reply on.

A Correlation Identifier is used to match the Request and Reply that indicates which request message this reply is for.

Message Sequence: A large set of data may need to be broken into message-size chunks and sent the data as a message sequence. It then marks each message with the sequence of identification fields.

Message Routing

Message Routing is used to decouple a message source from the destination of the message. The Message Router patterns can combine multiple routers to solve complex integration challenges. The categorization of the Routing patterns is as follows.

• The simple routers are variants of the Message Router and route messages from one inbound channel to one or more outbound channels.

• The composed routers combine multiple simple routers to create more complex message flows.

• The Architectural Patterns will describe the architectural styles based on Message Routers.

Message Transformation

Message Transformation is a proven pattern to transform messages in different formats. The schemas vary from application to application. Mapping the schemas and transforming them to the targeted application’s expected entity. The format of the messages is transformed and can convert from non-standard format to XML.

Implementing Integration Patterns with BizTalk

Microsoft’s BizTalk Server is more than just an integration solution. It provides an end-to-end business process integration and management platform. This platform helps businesses to develop different kinds of solutions.

      • Business Process Management (BPM)
      • Enterprise Application Integration (EAI)
      • Enterprise Service Bus (ESB)
      • Service Oriented Architecture (SOA)
      • High Availability and Scalability (HAS).

The BizTalk patterns which are involved in designing and building the necessary BizTalk artifacts, such as schemas, maps, pipelines, orchestrations, and adapters. Here is a general overview of the implementation steps for some of the commonly used BizTalk patterns:

Publish/Subscribe Pattern

The heart of the BizTalk Server is Message Box Queries, it processes the message from the publisher (Receive Port) and transforms it to subscribers (Orchestrations/Send Ports).

      • Define the topic(s) and subscriber(s) for the messages.
      • Create a schema for the message(s) to be published and subscribed.
      • Create a publish orchestration to publish the message(s) to the topic(s).
      • Create a subscribe orchestration for each subscriber to receive the message(s) from the topic(s).

BizTalk Integration Patterns

Request/Reply Pattern

      • Define the service(s) and client(s) for the request and response messages.
      • Create a schema for the request and response messages.
      • Create a request orchestration to send the request message and wait for the response message.
      • Create a response orchestration to receive the request message and send the response message.

Message Routing Pattern

      • Define the routing criteria for the message(s).
      • Create a schema for the messages to be routed.
      • Create a content-based routing (CBR) orchestration to route the message(s) based on the content of the messages.
      • Create a context-based routing (COBR) orchestration to route the message(s) based on the context of the message.

Message Transformation Pattern

      • Define the source and target schemas for the message transformation.
      • Create a map to transform the message from the source schema to the target schema.

Message Enrichment Pattern

      • Define the rules and external sources for the message enrichment.
      • Create a business rules policy to enrich the message with additional information.

Batch Processing Pattern

      • Define the batch size and processing logic for the batch processing.
      • Create a batch orchestration to process the messages in batches.

Adapters Pattern

      • Choose the right adapters for external systems and applications.
      • Configure the adapters to connect to the external system and application.

Solving Integration Problems using the Patterns

The Integration patterns can help to solve the various integration problems that enterprises would face. It can reduce the challenges when connecting disparate systems or applications. Here are some examples of how integration patterns can be used to solve specific integration problems:

Data Transformation

A data transformation pattern is used to transform data from one format to another. It’s achieved with help of mapping tools such as the BizTalk Mapper or XSLT transformations.

System Scalability

For the large volume of data, a batch processing pattern can be used to process data in batches to improve the system’s scalability. This can help reduce the system load to prevent performance issues.

System-to-System Communication

The applications which communicate using different protocols or transport mechanisms can use adapter patterns to provide a standard interface to connect the systems. This can be accomplished using pre-built adapters such as FTP, HTTP or SOAP adapters.

Workflow Management

In complex integration, patterns such as the orchestrations pattern can be used to manage the workflow. Orchestrations can help to manage the flow of messages between systems and enforce business rules to ensure data consistency.

Message Routing

The Message Routing pattern is used to manage the complex message routing based on message content, integration patterns such as the content-based routing (CBR) pattern can be used to route the messages based on their content. CBR can help to route the messages to the right system based on the type of data.

System Interoperability

The different messaging standards are used in message transformation patterns to transform messages from one standard to another. This can help to ensure that messages are compatible with the receiving system’s messaging standard.

Conclusion

These implementation steps may vary depending on the specific BizTalk pattern and the business requirements of the integration solution. Following best practices and guidelines for designing and building BizTalk artifacts is important to ensure the integration solution is scalable, maintainable, and reliable. Why not give BizTalk360 a try?

Happy Integration!