July 2004 - Posts

BizTalk docs are updated
Sat, Jul 24 2004 8:04 AM
The updated docs can be found here.
by Carlo Poli | with no comments
Filed under:
Patterns & Practices on Enterprise Architecture and Integration
Wed, Jul 21 2004 9:28 AM

The patterns & practices site of Microsoft recently has gotten more structure and content through two main publications.

The first publication is the Enterprise Architectural guide that serves as a high level overview of all available patterns & practices with their relations. If you need some insight in the patterns & practices that are available this is the guide you need (also available as 22 page PDF download).

The second publication is the Integration Patterns guide that describes about 30 patterns in the Integration space, talking about different kinds of Integration, Brokers, Message buses, Publish/Subscribe, etc. Four of those patterns directly target BizTalk Server 2004. This guide is available online or as 406! page PDF download.

Together with the already existing guide for Enterprise Solution Patterns and Data Patterns a lot of good guidance is available to design and build great applications.

by Carlo Poli | with no comments
Filed under:
Windows Server System Reference Architecture
Fri, Jul 16 2004 9:56 AM

Microsoft has published a couple of new documents to the Windows Server System Reference Architecture (WSSRA)

This Reference Architecture is targeted at Infrastructure Architects and thus deals about things like storage, security, network services, etc. Things that most developers and software architects aren't really interested in, but I think they should at least now about it's existance and understand the choices to be made there.

Some knowledge base humour
Wed, Jul 14 2004 11:54 AM

Via Laurence Timms blog I came across this post about funny Microsoft KB articles on tjlau's blog. Read the comments too, there's more humour there.

Diner with two ex-collegues, talking about application architecture
Wed, Jul 14 2004 9:26 AM

Yesterday, I enjoyed a great diner (a seafood plate for three) with Maarten Sikkema and Serge van den Oever from Macaw on the beach of Scheveningen in lovely weather. It was great talking to them, sharing idea's. We ended up having a good discussion about object orientation, layering, service orientation and pragmatic approaches, which kept me thinking while driving home and a great deal of today.

One thing that came to mind was a meeting that the three of us were in with Macaw's Application Services department. The problem they faced with a lot of their applications was that if they fixed a bug in one place, something else would break somewhere else. A lot of times, this wasn't noticed, leading to unhappy customers. Their proposed solution was simple, just build every page (it was about web apps at that point) to do what it needs to do and stop building all those layers in the apps and throw away all those generic components (a bit exagarated of course).

Now, I do think that is not exactly what they meant, complex pages would require a lot of code, which is unmaintainable too, specificly if some state management or event management is involved, but I do understand their point. And before I'm flamed with comments, I know that ideally an application should be fully tested before rolled out and that if some change breaks something somewhere else there is something wrong with an application design, but this is reality and the people building and maintaining those apps are well-educated professionals. So, I think they have a good point, apps need to be simpler.

It's my believe that in a lot of cases, architects choose an architectural approach before they faced the problem. Or put differently, they know the architecture and fit the problem to it, instead of fitting the architecture to the problem. The choice they make is largely influenced by the hype of that moment. A lot of architects that start new projects these days will know they will be using Services, without even looking into the problem at hand. A year ago they would all introduce a process layer, a business layer and a data layer, even for the simplest application. And of course, the data layer needed to be generated, using some object to relational mapping tool (sounds familiar?). One of the main problems with following hypes is that architects and developers are both pretty new to subject, making them step into a lot of all possible pitfall around.

Don't get me wrong, I do think that every technology mentioned before has had a great positive effect on application architecture and development. But there is no generic architecture, there is only architectural best practices. I heard it a couple of times on the Tech-Ed, David Chappell said it for sure and I think Juwal Lowy did too. In the end, the customer wants to earn more money, and they can only do that if a solution supports a business opportunity, a business will never directly earn more money through a great architecture. I think that every solution needs another design and potentially could need another technology. That would mean that an Enterprise Architecture should support a large deal of flexibility. Standardizing on application technology (e.g. .NET) and application architecture (e.g. 3-tier) does not fit in that vision, instead it would complicate that. It's here where I think Service Orientation kicks in. Service Orientation allows Enterprise Architects to set guidelines that makes sure interoperability and information exchange needs are met, without requiring Apps to choose a specific technology or architecture.

Does that mean that your next webapp needs to be fully service oriented? Depends, if it's an discussion board, most likely not, if it's an trading partner portal, you should at least consider it.

O, and I do think I'm one of those hype-following architects/developers, I'm actually anxiously waiting to do a project involving Service Orientation, but I promise I will try to practice what I preach ;-).

Changing my blogs name and a little bit of focus
Wed, Jul 14 2004 9:21 AM

It struck me during the Tech-Ed that the .NET Enterprise Servers are no longer called .NET Enterprise Servers. Instead, they are now part of the much broader set of servers called the Windows Server System. So, CaPo's .NET and Enterprise Servers adventures was no longer appropiate. Added to that, that I haven't done much on SharePoint and anything on Commerce Server and Content Management Server, it came apparent to me that I needed a new name that describes the focus of what I really do today.

It has become CaPo's Integration adventures, because three things really keep me busy today, that somehow are all related to integration. They are, in no particular order, BizTalk 2004, Service Orientation and EAI.

Tech-Ed Thursday
Thu, Jul 1 2004 9:58 PM

While every Tech-Ed-er is partying, I'm here blogging. I had to bring my last greetings to a dear friends father this evening. It made me very sad.

My Tech-Ed day today was way better then I initially expected. I saw a great session from Scott Woodgate on Advanced BizTalk Orchestration. Boy, is there a lot of stuff possible, that we just don't know of yet. He showed batching examples, parallel processing examples and other stuff that was way more advanced then I would have imagined possible. Great stuff. I hope the samples he showed and documentation on it will become available publicly soon.

Then there was this panel session with David Chappell, Clemens Vasters, Juwal Lowy and two others on myths in the industry. They did cover some great subjects there, like “VB.NET en C# are essentially the same languages“, “You should always use Web Services everywhere“ and other. And before that session, I did see Clemens Vasters presentation on Proseware, a demo implementation of a Service Oriented application. Great stuff, he gave great guidance on how you can really implement such an application and between the lines mentoined all the pitfalls and problems you will face while doing that. Proseware is officially Microsoft property and Microsoft is now evaluating whether they should publish Proseware as a sample. I hope they will because we need this guidance.

That made three great sessions in a row this afternoon and a lot to think about while driving home. My Tech-Ed has already succeeded and I have another day left.

Martijn Hoogendoorn - Another BizTalk Blogger
Thu, Jul 1 2004 8:15 AM

After yesterdays Black-Belt BizTalk Performance session, I discussed some of the topics with Martijn Hoogendoorn, an ex-college of mine. He came up with some great tips, after which I suggested he should start blogging too. So he did. And he has already put up some of the tips we discussed.

Martijn's blog can be found here.

One tip we got from the performance session -> Always try to map messages in a port if possible. The reason for this is that an incoming message only gets persisted after it went completely through the port (including the map), and then a reference to it is sent around through the orchestration. If it isn't changed, it isn't persisted again. If you map in an orchestration, the message gets persisted twice.

by Carlo Poli | with no comments
Filed under: