Hi.
I've been doing a fair bit of work with two large clients using SharePoint. The scenario is rather typical - SharePoint must host applications that accesses network-based resources such as databases, directory services and files. Some of the application services must be exposed as web services so that they can be consumed by other applications, devices and services.
So pretty standard enterprise app stuff.
In both cases senior architects and SharePoint architects and developers suggest using SharePoint exclusively. As an example, lets say an app needs to capture customer data, and customer orders.
I'm being told that customer and order information should be stored as lists, that web parts should be created to host workflows and business rules, and that these lists can be exposed as web services to the other apps and devices that need them.
So here's the question: Is it best practice to do all of this in SharePoint
SharePoint is definitely capable - I'm not arguing that. My issue is that SPS is not an application server, much less an application platform. IMO a Microsoft-based app platform is Windows 2003 Server, .NET, BizTalk and SQL Server. Throw in the bits you need like SharePoint, MSMQ, MOM etc. and we're talking.
I'm a huge believer in the old Steve McConnell "design for change" addage, and because I see SPS as a collaboration, CMS and UI presentation tool, rather than an app server, I believe it is a mistake to host an enterprise app within SharePoint.
I would however, use SharePoint, workflow and web parts to manage and present composite application UIs. As long as these UIs call a service broker or web service etc. to access business workflows and components.
Any views on this Would you rather protect yourself against future changes in any layer of the architecture, or go the simple route and host within SharePoint just because it's a cool product that is capable of doing it all What would be your justification
Michael

MOSS2007 used as an application platform?!?
Matt Gutberlet
I too agree that MOSS has taken a big step in 2007 towards becoming a complete enterprise application platform. Although i would suggest that you build ur architecture where the sharepoint services are added as plugin instead of making it as mandatory for hosting your application.
Still long way to go apart from detaching itself from 'Office'.
http://DotNetWithMe.blogspot.com
vikas goyal
Rob Coll
Here is a link to my blog post on the presentation I mentioned in my above post. I have made the slide deck available on my blog, so perhaps it might be of use to you
http://grahamsibley.typepad.com/thoughtfactory/2007/02/vancouver_techf.html
Graham
PedroCGD
Tdar
Hi Michael,
I have had the pleasure of developing many applications using the MOSS 2007 platform thus far and I can say definitively that MOSS should not constitute your entire application platform. Recently I delivered a presentation around using MOSS 2007 as a platform for enterprise applications and one of the key points I tried to communicate to participants is that MOSS 2007 makes an excellent convergence platform for your enterprise applications, but only at the presentation and collaboration level.
MOSS provides many excellent features that you can leverage, such as security trimming and solution deployment, but where you really start to run into problems is when you try to bring transactional rules to a collaboration medium. The ideal architectures utilize the user facing functionality of MOSS, but offload the application or transactional functionality to an application platform behind the scenes (SOA, service broker, etc).
One of the recent applications I delivered was a full-fledged re-branding of the MOSS user interface with a whole whack of functionality for interacting with back-end systems through web parts, web forms and other user presentations. The application was very well recieved because it was not only functional as a business critical system, but it looked really amazing. All of the features MOSS offers, such as profiles, search, security trimming and content management were leveraged to fully integrate the front end presentation and the back-end systems. All transactional communication was done through web services to the back-end systems, allowing the resource heavy MOSS servers to scale at a different rate than the transactional SOA servers.
Hope this helps!
Graham