Sunday, December 21, 2008

MOSS 2007 Web Services

MOSS 2007 web services are actually ASP.NET Web Services (ASMX). The physical files for these ASMX web services are located in the IIS virtual directory "_vti_bin" which physically maps to the folder "%Program Files%\Common Files\Microsoft Shared\web server extensions\12\ISAPI" through SharePoint metadata and HttpModules. Following are a few out of the box services available with MOSS 2007:

Search - spsearch.asmx
Lists - Lists.asmx
List Data Retrieval  - DspSts.asmx
People - People.asmx
Permissions - Permissions.asmx

spsearch service and methods

The admin web service for "Central Administration" is located in IIS virtual directory "_vti_adm" which physically maps to the folder  "%Program Files%\Common Files\Microsoft Shared\web server extensions\12\ADMISAPI."

Each one of these services consist of a *.wsdl.aspx file and a *.disco file too besides .asmx files for the service WSDL (Web Services Description Language), and  the service discovery implementation.

The URL for the Admin.asmx web service:

The URL for all other services is:

Sunday, December 14, 2008

Differences between interface and abstract class

The interfaces and abstract classes, both can't be instantiated. While an abstract class contains both implemented and non-implemented methods, an interface contains only abstract methods.

  • An interface is pure contract
  • Interface must be public
  • It may be left unused after declaration
  • When used, Implementing class must override all methods provided by that interface.
  • It contains only unimplemented methods and no function definitions
  • Variable must be abstract and final
  • Methods take abstract as default.
  • A single class can implement multiple interfaces.
  • Interface properties are included with "implements" key word

  • Abstract class must contain at least one abstract method
  • It can contain function body
  • It contains both implented and unimplemented method.
  • It allows both abstract and non abstract methods.
  •  It must be used if declared, otherwise compiler gives an error.
  • It may be public or protected.
  • Only one class can extend abstract class.
  • Abstract properties are included with extends keyword.

Thursday, December 4, 2008

Advanced features of MOSS 2007

  • User Interface (UI) and navigation enhancements
  • Document management enhancements
  • Enhanced Search, Workflows, Lists  
  • Office 2007 Integration
  • New Web Parts and Site-type templates
  • Business Data Catalog
  • Search Center
  • Report Center
  • Business Intelligence and Excel Server
  • Forms Server and InfoPath
  • The “Features” feature

Tuesday, November 4, 2008

User Controls v/s Custom Controls

User Controls
  • Custom, reusable controls created like forms
  • Reside in .ascx files
  • Can't be added to Visual Studio toolbox
  • Used either by dragging and dropping on an .aspx page or by adding manually with "@register" tag
  • Created by using existing Webserver and HTML server controls
  • The class is derived from System.Web.UI.UserControl class
Custom Control
  • Reusable controls
  • Developed by a developer or vendor
  • Derived from System.Web.UI.Control class for non-visual elements
  • Derived from System.Web.UI.WebControl class for visual interface
  • Deployed either in Bin directory or in Global Assembly Cache (GAC)



Saturday, October 4, 2008

Some good SharePoint Blogs

Just a list for some good resources (blogs, websites etc.) related to SharePoint, ASP.NET, and other related subjects. I'll keep updating this list as often as possible.

Monday, March 31, 2008

Try, Catch (and Finally)

The purpose of the try, catch, and finally blocks is to trap unexpected exceptions. A common usage is to obtain and use resources in a try block, trap exceptional circumstances in a catch block, and release the resources in the finally block. With a combination of input validation controls and keeping expected errors in mind while coding, the use of try-catch-finally can minimize the possibility of an ASP.NET application crashing.

Try Clause
  • The try block encloses the code being executed.
  • The exceptions may be thrown on completion of this block.
  • There is only one Try block per try-catch-finally combination.

Catch Clause
  • The catch blocks are optional.
  • Thess blocks catches the exceptions.
  • The catch blocks are executed only if exceptions occur.
  • The catch blocks may be defined without arguments though not recommended.
  • It is suggested to have the object argument derived from System.Exception
  • There may be more than one specific catch clause in the same try-catch statement.

Finally Clause
  • The finally block is optional.
  • When used, finally block is executed without fail.

Tuesday, February 5, 2008

Site Collection versus Site

There are ocassions when you ask yourself if it makes sense to create a new site collection or a new site. The question may look simple to many but a bad decision may have serious consequences. Many organisations keep only one site collection and add a lot of sites to it leaving no room for scaling. Site collections have several advantages such as distributed administration. Dave Wollerman wrote an excellent article explaining the advantages of having multiple site collections.
Site Collection Logical Architecture