Tuesday, May 13, 2008

Orchestration


This is a sample of BizTalk Orchestration which receives a request from a receive port on a receive location, constructs it and passes it on to the send port for sending it to a web service. This web service is exposed from a remote application and we are making its use in our application.

Once the request is sent to the webservice with the message from the send port, web service replies with a response which we again capture at a receive port in the orchestration, and then we can handle it the way we want.

Thursday, April 24, 2008

XML in Stored Procedures

In the last post we discussed a case study which stated that in BizTalk XML is the communication language.

Here I would like to add, how to use XML in the Stored Procedures? With the intruduction of SQL Server 2005, Microsotf added support for XML. Now an XML document can be passed in the stored procedure and then we can do extract the data from the XML document after getting its Handle. In the same manner Stored Procedures can now return XML.

When we wanted the order generated to be passed to the orchestration in BizTalk, we wanted that to be in XML format, and to get that in the XML format we have to write the stored procedure in such a manner that it would return XML document to us.

FOR XML Clause:
Now, when you write a 'Select' statement in a stored procedure you can use 'FOR XML' clause to generate the XML of the recordset returned from the select query.
e.g.
SELECT fieldname1, fieldname2 FROM tablename FOR XML AUTO

The XML returned from the stored procedure can now be recieved at a recieve location where the SQL Adapter is configured in the BizTalk Orchestration. Once the receive location gets the XML document it is passed to the Receive PORT.

For further information on SQL usage in Stored Procedures, please visit the links available.

In the next post I would post a image of an Orchestration created for a real word application and would describe every component of it.

Tuesday, April 15, 2008

Case Study Contd...

Use of Biztalk in the Central Order Generation System:
In the central order generation system, the order gets generated and must be served to the subscribing systems. These subscribing systems could be of any platform with any ERP, e.g. SAP, etc. There has to be a platform independent way to transfer the messages to the systems and receive acknowledgement as well. Here comes the role of BizTalk.

In our case we have out the entire order generation logic in the stored procedure which create an order from the database and return the Order in a well formed XML format. Many people still wonder why XML?, the answer to it is that XML is the only data type rather format which has been supported by almost every system/platform existing today. Once we get an XML Order we need to expose a web service which could when called could serve this order to the subscribing system.

Think of the days when were doing this coding our way through, how much do we think we would have spent on creating an application which would take the order from the SQL Stored Procedure, apply some business logic in it, get the transactions going, create some statistical report based on it and eventually exposing it as a web service. BizTalk makes this just a game of configuring various components provided in it.

Create an Orchestration with a SQL Adapter configured to receive data from the SQL Stored Procedure, use some transformation shapes to transform the message, use pipelines and maps to decide the flow, and in the end create a SOAP adapter for receiving the request and serving the Order. BizTalk has inbuilt support for transaction which could be long running and atomic and several other features.

Management can use BAM provided by Biztalk and see the orders moving through the system. Developers have got the BizTalk Administration console to configure Orchestrations and ports and location to receive. BizTalk reduces the development time considerably and lets the solution developers focus on "What to do?" rather than thinking "How to do?".


In the next post we would discuss about Use of XML in Stored Procedures and consuming the result of stored procedures in BizTalk Orchestration and eventually exposing that as a web service.

Tuesday, April 8, 2008

Case study – Central Order Generation System.

We would discuss a scenario where a pallet manufacturing company would rent its pallet to different businesses and would eventually bill the businesses depending on the number of pallets they are holding on to.

For ease of use let us use names for companies:-
Pallet Manufacturing Company – CompPallet
Soft Drink Manufacturer – CompSoftDrink
Retail Store – CompRetail

We would discuss two other technologies used here which would be RFID and SSL.

CompPallet produces pallet and labels them with RFID (Radio Frequency Identification) tags for easier and smoother tracking. CompSoftDrink is a user of pallets and CompRetail as well uses pallets for various purposes.

Because CompPallet is renting pallets to both the companies and both the companies are also involved in a business between them as CompSoftDrink is supplying soft drinks to CompRetail for selling in the market, they all need to keep track of how many pallets they are holding on to at a particular time so that they can account for them properly, secondly CompPallet also needs to know which company is holding on to how many number of pallets so that it can bill them properly.

To get this working in coordination and without any hassle there has to be system which could keep a track of everything and can provide strategic reports to all the 3 companies involved.
The central order generation system provides a solution; it generates orders with Order Header and sends it across to the 2 companies, these companies fill these orders with details from their WMS (Warehouse Management Systems), details here would be the Pallet Ids which they are holding on to and which can scanned using RFID scanner as they were labeled at the time of the manufacturing and send the order back to the central system.

Central system provides a web based portal where the clients can login and see strategic reports. These reports tell the exact location of the pallets and help all the businesses involved in monitoring their supply chain.

Next post would be about how we can use BizTalk Server in creating and maintaining this central order generation system.

Saturday, April 5, 2008

Central Order Generation System for SCM



The central order generation system is responsible for generating an order which would be sent to Business 'A' which would compelet this order in return and would send back the completed order to the central server.


The order sent by the central server contains header information like Order#, OrderDate, etc and its status, initially it can be set to 'new' as the receiver recieves it in the incomplete new order to complete. Once the order reaches the server at Business 'A', it completes the order by filling in the details of the items to track and sends it back to the central server. Now, the central server generates a report for the Business which actually produced that item, and that Company or business can view where are the items produced by them right now, which company is holding on to them.

Use of BizTalk:

BizTalk can be used to develop a solution which would take orders generated from the SQL Stored Procedures using SQL Adapter and would transform them to an XML message. Many more business rules can be applied by creating orchestrations. Finally, that orchestration can be exposed as a web service to the clients for serving new orders.

This web service can be conventional asp.net 2.0 service (asmx) or can be a WCF service in case of biztalk server 2006 R2 which has a support for .net 3.0.

Usefulness of BizTalk to the businesses:

Biztalk provides BAM Portal, its Business Activity monitoring portal, the managers need not go in the technical details of the process, they will have a web based ready made portal to their disposal for taking startagic decisions.

Other technologies :
Other technologies which can be used here could be SSL. SSL or https can be used to make the transmission more robust and secure. That means the web services exposed from BizTalk server would be hosted over https not conventional http.
We would discuss a case study on this tomorrow. Your commnets are most welcome.

Friday, April 4, 2008

Topics in the days to come...

From tomorrow, We will discuss the details of all the components of a Supply Chain Management Solutions taking one component every day, we would discuss a real world case of SCM solution implementation. We will start from:-

  • Central Order Generating System functionality.
  • Uses of BizTalk in it.
  • Usefulness of BizTalk services to the Business.
  • Other technologies that work in conjunction with BizTalk.

I invite you all to share your knowledge and experience through this blog.

RFID with BizTalk

Wednesday, April 2, 2008

Components of Supply Chain Management Solutions

Supply Chain Management Solutions mainly have the following comoponents:-

  • Central Order Generation System
  • Robust Routing System
  • Business Component Systems - For Message transformations & Business Activity Monitoring
  • User Interface Systems - For user input or gathering input through sensors.
  • Acknowledgement System - For acknowledging every message sent accross various systems.

Wednesday, March 26, 2008

What is Supply Chain Management?

In the previous post we discussed about BizTalk being used in Supply Chain Management Solutions, but people who haven't got any exposure to supply chain management domain may be wondering what exactly we are dealing with here. Lets have a small heads up on SCM.

Supply Chain Management

We are living in a world where businesses are interdependent and every business is seeking one or more commodity or service from another. Now, lets take a scenario where Business 'A' is manufacturing 'containers' and they need to keep track of the containers which get out of their depot, Businees 'B' manufacturing a soft drink is using those containers from Business 'A'. Now, the containers filled with Soft Drink cans are being sent to Business 'C' say 'WalMart' which would eventually sell the soft drinks. Now, if there can be central system which could track where a particular container is for all the 3 business starting from the moment when the container left the Depot and came back to it for cleaning or for any other purpose after completing the cycle through Business 'B' and Business 'C'. That system can be called as a Supply Chain Management system, which could keep a track of a supply in the entire chain for all the Businesses involved.

Friday, March 21, 2008

Integral part of Supply Chain Management Solutions

Over the years developing Supply Chain Management solution has been a challenge for the programmers around the globe, middlewares like "SeeBeyond" did help a bit but was not as robust and flexible as BizTalk, in addition it was quite hard to configure "SeeBeyond". Because other middlewares were developed in non-microsoft technologies, they added to the pain. Then came BizTalk Server which was around for quite a while but didn't get popular before version 2006 R2 came into the market. Version 2006 R2 had support for .net 3.0, adding support for WCF - Windows communication. Not developers have the flexibility that instead of exposing their web services as conventional asmx services they could opt for WCF Services. All and all we have more power in hands,we can apply our brains in thinking "what to do?" rather "how to do?" .. keep Bizzing ...!

Monday, March 17, 2008

What Is BizTalk Server 2006 R2?


Related Links
Introducing BizTalk Server 2006 R2
Related Sites
Visual Studio 2005
SQL Server 2005
Common Engineering Roadmap


With the introduction of BizTalk Server in 2000, Microsoft sparked a revolution in the integration industry proving that integration and process automation technology didn’t have to be prohibitively expensive or hard to use. Today, over 7,000 organizations rely on BizTalk Server to integrate systems and automate processes across global supply chains. With the introduction of the fifth full version, BizTalk Server 2006 R2 builds upon the Business Process Management and SOA/ESB capabilities in prior releases to help organizations extend core process management technologies even further with new capabilities like native support for Electronic Data Interchange (EDI), AS2 and RFID, and close alignment with the upcoming releases of 2007 Microsoft Office system and Windows Vista, including key .NET Framework technologies such as Windows Workflow Foundation and Windows Communication Foundation.
BizTalk Server 2006 R2 puts real-time, end to end supply chain management within reach of every customer, spanning systems, people and processes, both within and across organizational boundaries. BizTalk Server 2006 R2 empowers customers to make informed business decisions with real-time data from geographically dispersed, yet integrated systems – putting you one step ahead of the competition. All this coupled with the confidence of an enterprise class infrastructure, regardless of your company size. Your Business, Connected.

Saturday, March 15, 2008

Download BizTalk Server 2006 R2 Trial Version
Learn about the new enhanced capabilities of the next version of BizTalk Server including, Service Oriented Architecture and Web Services, Business Process Management, and Business to Business Integration (integrated support for EDI and comprehensive RFID platform infrastructure).

With the introduction of the fifth full version, BizTalk Server 2006 R2 builds upon the Business Process Management and SOA/ESB capabilities in prior releases to help organizations extend core process management technologies even further with new capabilities like native support for Electronic Data Interchange (EDI), AS2 and RFID and close alignment with the releases of 2007 Microsoft Office system and Windows Vista, including key .NET Framework technologies such as Windows Workflow Foundation and Windows Communication Foundation.