Home | Blog | Screencasts | Projects
# Tuesday, April 21, 2009

There is always lots of criticism about SharePoint from developers, things like bloated pages etc. But there is lots of good stuff in SharePoint, so I thought it might be fun to come up with a list of things that a typical asp.net application might be able to look at SharePoint for guidance.

 

1. Search - Have a good search story

We now have a whole generation that have grown up using a search engine, they expect a search box that they can type free form data, so by far the biggest feature that ASP.NET applications could learn a lot is the search capability of SharePoint. The good news is that you could use a product like search server express to crawl parts of your application and then use the search server web services like I did with my ASP.NET MVC search engine example.

 

2. Extensibility – Make your system extensible where it makes sense

SharePoint has a number of extensibility points like Features, Site Definitions, Web Parts which all work in different ways to allow fine grade control over the system. The model that SharePoint provides works well for the tasks that it is trying to achieve, your ASP.NET application may benefit from a plugin model that a framework like MEF provides, where crazy things like plugins for plugins are supported. Maybe you want to expose a RESTful service via ADO.NET Data Services, in any case extensibility has proved for many web applications (twitter, facebook) to be an important consideration.

 

3. Workflow - Hosting done right

Workflow has become a hot topic in recent years, lots of tasks are well suited to be modelled with a workflow, I’m sure your ASP.NET application has some actions that need some auditing or approval before action can be taken. SharePoint does a particularly good job at hosting Window Workflow Foundation, even if we exclude the building of custom workflow’s on the fly in SharePoint Designer, a great deal can be taken away from the way SharePoint has implemented WorkFlow, it’s made it simple for most users to understand.

 

4. Well designed API  

Well not everyone would agree with the ‘well designed’ bit, but for the most part you can achieve almost all the administrative activities from the API. Although a well built ASP.NET application should in theory have loosely coupled components that should facilitate an API, in practice most ASP.NET applications have code thrown all over the place, with event handlers performing data access etc. Ideally the well designed API should fit with the Extensibility point from number two, it’s no good having an extensible system if the API is unusable.

 

5. Background Processes – How do you handle them?

One thing that SharePoint does particularly well is the background processing of tasks like Active Directory imports, site cleanup processes and scheduled emails. The API from the above point extends to the scheduling plugin’s as well, the main point here is that SharePoint runs these tasks as a windows service, this is in contrast to applications like DotNetNuke which do background and scheduled processing on the application OnStart event. Both are valid approaches given certain circumstances, my point is that the difference between a professional product like SharePoint and a custom ASP.NET application is the little house keeping items, SharePoint tries to take care of it all, so should your ASP.NET application.

 

6. Integration with the Microsoft Software Ecosystem

SharePoint being a Microsoft product plays nice with other Microsoft systems, your ASP.NET application can do the same, things like using Exchange for email events to support incoming email. Making use of active directory groups for authentication and authorisation or even for organisation charts and manager notifications, this integration is what really differentiates Microsoft’s products and makes people feel more comfortable. Does your ASP.NET application provide custom WMI performance counters for it’s operations?

Tuesday, April 21, 2009 10:48:44 PM (E. Australia Standard Time, UTC+10:00)  #    Comments [1] - Trackback
Misc
# Saturday, September 08, 2007

I've been experiencing one of those periods lately where I've been really productive, I liken it to cricket when a batsmen is in good form. A number of factors have contributed to this, things like Tech-Ed and the fact that I have had a number of deliverables due. Just like cricket I think you go through periods where your form can slump when the conditions around you stay the same. You might still have lots of things going on around you but for what ever reason you just can't seem to clear them.

Tech-Ed was a big influencer in my recent good form, I had the same effect from the Tech-ed previously, its really good to interact with a bunch of passionate people. Now it seems that I wake up in the morning keen to get into some code, the funny thing as well about being in form is that the solutions you come up with often leave you wondering where they came from (in a good way). 

Saturday, September 08, 2007 11:11:00 PM (E. Australia Standard Time, UTC+10:00)  #    Comments [0] - Trackback
Misc
# Sunday, July 15, 2007

I haven't had any problems using Vista, its been rock solid on all the laptops that we have. The one thing that really annoys me is the auto update. Well its not the auto update so much, see we usually sleep with two of our laptop in standby in our bedroom. However once a month, these laptops will come alive in the middle of the night and apply the updates and restart. So in the dead quiet of the night you will hear the sound of Vista starting up (it wakes you up in fright, I must say). Worse still, because the laptop lid is closed, the computer will sit at the login prompt until is is due to power down (which was up to an hour). Being cold and lazy I really couldn't be bothered getting up to open and close the lid, also both laptops never seem to update on the same night, so this past week I've been woken up twice by the sound of booting laptops.

Sunday, July 15, 2007 1:46:06 PM (E. Australia Standard Time, UTC+10:00)  #    Comments [1] - Trackback
Misc
# Monday, June 25, 2007

Macpomme left a comment about how the family.show application would make a fantastic web sharing application. Well it turns out this has already been created, its called Geni. Jeff Attwood at codinghorror.com has also spoken about this application for the brilliant way that it avoids the login barrier. I recommend having a look at this site, before you know it you will have added your family tree. 

Monday, June 25, 2007 5:54:40 PM (E. Australia Standard Time, UTC+10:00)  #    Comments [0] - Trackback
Misc
Statistics
Total Posts: 191
This Year: 4
This Month: 0
This Week: 0
Comments: 41