Agile BizTalk Development

Link. July 17, 2006. Comments [0]. Posted in: Architecture | BizTalk | Development
Greg Young started an interesting discussion about Unit Testing BizTalk solutions; some good things to consider are brought on. In general, I agree with Greg that testing BizTalk solutions isn't always easy, in particular because of dependencies and because of the level at which BizTalk solutions are created (it is certainly a higher abstraction level than regular C# code, for example). That, and the fact that the BizTalk engines are fairly complex constructs, make it harder to test pieces of your solution in isolation, though it is by no means impossible.

One point I wanted to take back from the discussion is Greg's comment that testing Schemas isn't much of a problem and you're probably going to get those on integration testing. That is true if you're dealing with simple schemas, but if you're creating complex Flat File schemas and doing things like debatching and a few of the other advanced things that BizTalk schemas support, then being able to test your schemas in isolation in a repeatable, automated fashion is a real blessing. Whether you want to call this unit testing or not is open for debate, I'm sure, but it is a good thing none the less.

At a higher level, Greg does bring a pretty significant question about whether it is possible to do Agile development when using BizTalk. I'd sat it is certainly harder than in other disciplines and with other tools, but not necessarily because of the tool itself. One of the real issues here is the fact that Application Integration (particularly on big projects) requires a somewhat larger investent in Architecture up-front, because of the complexity of the issues involved and sometimes because integration projects are composed of three or more providers (i.e. different companies) collaborating with the customer to implement the required solution. This does require that you have a more significant shared understanding of the problem at hand up-front and that some key issues are covered right from the start.

Notice I'm not advocating a waterfall model, I'm just saying that some serious understanding needs to be done at the start to ensure everyone is working towards the same goal. There are many ways you can this done, without bringing the whole project to a stop while the entire requirement analysis is done. For example, this initial phase is a great time to prototype  parts of the solution, create initial versions of shared schemas, and explore potential solutions to some of the issues the project has.

On some of the integration projects I've worked on doing this has been a key to the success of the project, even allowing us to work after that in a far more agile fashion while minimizing dependencies and even allowing us to complete the BizTalk part of the solution well in advanced to other parts of the whole integration project.

I'm looking forward to exploring if some of the Agile Architecture ideas can be used to make this initial part of the project more dynamic, as well.




Comments are closed.

Syndicate

About

Tomas Restrepo is a software developer located in Colombia, South America. His interests include .NET, Connected Systems, PowerShell and lately dynamic programming languages. More...

tomasrestrepo @ twitter My Flickr photostream My saved links on delicious My Technorati Profile

email: tomas@winterdom.com
msn: tomasr@passport.com

View my profile on LinkedIn

MVP logo

Ads


Categories

Statistics

Total Posts: 1035
This Year: 105
This Month: 4
This Week: 2
Comments: 802

Archive

Other

Copyright © 2002-2008, Tomas Restrepo.

Powered by: newtelligence dasBlog 2.1.8139.823

Sign In