ReArchitecture in BizTalk Migration

10/26/2009

This rearchitecture approach is ideal in circumstances where the original implementation is sub-optimal (has performance issues or has been overtaken by new developments) or was developed in multiple layers laid on top over time of one another without an inherent design.

Even systems with well-defined architectures are prone to structural erosion. The relentless onslaught of changing requirements that any successful system attracts can gradually undermine its structure. Systems that were once tidy become overgrown as piecemeal growth gradually allows elements of the system to sprawl in an uncontrolled feature-creep. If such sprawl continues unabated, the structure of the system can become so badly compromised that it must be abandoned. The only way to sustain this system is by patches, and over time layers develop, until no shred of any original architecture or pattern remains.

Such systems are usually very difficult to maintain, document and perform poorly, making them good candidates for complete re-writes. In this case rearchitecture in a new system (BizTalk) from the ground up makes most sense as looking under the hood will confuse and provide no net benefit. There will also be many subtle, and not so subtle, differences between the old and new platforms and these make manual translation very difficult. A developer can quickly get led astray by the many subtle differences and become unproductive due to the overhead of constantly switching back and forth between old and new tools and platforms.

The newly designed system will accommodate new features, use the latest standards, and follow best practices for component reuse. The lessons from the previous implementation and hindsight will always be available, making the second generation solution a robust and optimized implementation.

Here are some tips for a rearchitecture approach

· Make use of accepted standards like HL7, HIPAA, RosettaNet, cXML, GS1, etc where applicable

· Loose coupling enabling other applications to be plugged in later

· Common components should be separated out into frameworks for reusability

· Avoid using custom connectors as these are difficult to develop and maintain

· Insist on automation of testing process to check for regression

· Run a performance lab and overload tests to make sure the application scales

· Ask for load balancing and fail over strategies for deployment

Posted in: Software Software Programming| Tags: Microsoft WCF B2B BizTalk BizTalk Server EAI flagship integration solutions Migrating Windows Communication Framework

Hot Posts

Latest posts

Tags

Others

Sponsors

asp.net interview questions