This is the second repost in my “Planning” series. I wrote this post over a year ago and I’ve used these techniques in many large and small integration projects with great success. Please feel free to add your comments on how you approach the planning process.
In most integration scenarios (as with any large project) the work can usually be broken down into smaller, more manageable pieces. Our new B2B integration requires only two basic workflows since the ERP systems involved are essentially the same. Each of these workflows can then be broken down into smaller steps which then lead us to the actual BizTalk development work required.
- Processing Purchase Orders from Glasgow to Houston and from Houston to Glasgow.
- Processing Invoices from Houston to Glasgow and from Glasgow to Houston.
Process Purchase Orders from Glasgow to Houston Workflow
- FTP New POs from Glasgow ERP system to Glasgow BizTalk Server – FTP Receive Adapter.
- Transform ERP system’s flat-file to internal XML format – Map on Receive Port.
- FTP from Glasgow BizTalk Server to Houston BizTalk Server – FTP Send Adapter.
- Email Order Confirmation from Houston BizTalk Server to Glasgow User – Orchestration, SMTP Send Adapter, Dynamic Send Port.
- Transform from internal XML format to Houston ERP system’s flat-file format – Map on Send Port.
- FTP from Houston BizTalk Server to Houston ERP system – FTP Send Adapter.
The first of these steps is to develop the workflow for processing outbound purchase orders from our Glasgow ERP system. I’m going to use a standard Message Broker Pattern for the outbound workflow since we may need to integrate with other suppliers in the future and this pattern gives me the most flexibility. I am also going to use BizTalk Server 2004’s Publish and Subscribe Architecture for the inbound workflow since I am passing an internal XML format between BizTalk Servers and don’t need to make this workflow generic.
Steps 1 – 3: Processing Outbound Purchase Orders from the Glasgow ERP System(Message Broker Pattern)
Steps 4 – 6: Processing Inbound Purchase Orders from Glasgow (Publish and Subscribe Architecture)
- Use design patterns wherever possible to allow for future growth and flexibility in your integration applications.
- Break your development work into manageable steps as shown above. You’ll find that most integration applications share many common tasks. These can be architected separately and reused in later applications.
- Plan Your Work and Work Your Plan! I always approach an integration project with the end in mind and then work backward to see what steps will be required to get it done.