OK. Here's my take on the web services architecture thing. All a web service (ws) really is, is a class that happens to be exposed to the web. Ideally, in my opinion, the ws should just wrap an existing class. So, ws X would wrap (and expose) class X. My reasoning behind this is because of 2 primary factors: performance and reusability. Performance - if ws X is the sole provider of functionality X then another class on the same machine will have to take the performance hit of calling a ws (marshalling, HTTP, address resolution, etc...). Reusability - follows on from previous point. Also, I view a ws to be a requirement of a class and not necessary a point of functionality itself. The thing to remember is that a ws is just a class. So, if your class/ws is too large, then chances are that it hasn't been factorised properly. One school of thought (Bruce Eckell, I think) is to design your class on a small flash card. The premise being that if you require more physical space on the card to jot down member and attribute names then you should use another card/class. I think this is a pretty nice idea! Thanks, Bruce. An idea would be to remove the concept of web services from your initial design and rather give a special attribute to the classes that need to be exposed to the web/intranet. This can later be enhanced into a decorator class of soughts. Your idea of having ASP.NET as your front end that consumes web services is a valid design. What would the reason be to expose web services though? If your reason is to expose a subset of functionality for other apps to use, then cool. The architecture I'm working on at the moment uses ASP.NET pages (very light) that consume ws as per your idea. There was a very specific reason for it though. The entire backend (ws included) will be migrated to a J2EE & ws system in a few years time and we wanted to prevent a[nother] rewrite for that. As far as COM+ is concerned: COM+/MTS no longer gives you the reduction in object creation time that it would do for pure COM components, so that's minus 1 point. Hopefully, this will change with COM+ 2 (?) in the .NET servers. The reasons that COM+ might be useful in a .NET world is for things like transactions. Will this be a requirement for your application? If you are keen to continue this offline, then either MSN Messenger/mail me at simon_stewart@hotmail.com. Cheers, Simon "Sign up for a chance to be among the first to experienc