Wednesday, September 29, 2010

stsadm.exe -o execadmsvcjobs

Execute admin service jobs
stsadm.exe -o execadmsvcjobs

Saturday, September 11, 2010

SPS 2010 - Config Wizard Issues

Failed to create the configuration database.

An exception of type System.IO.FileNotFoundException ws thrown. Additional exception information. Could not load file or assembly ‘microsoft.identity.model. version=1.0.0.0,culture=neutral, publickeytoken=31bf3856ad364e35′ or one of it’s dependencies. The system cannot find the file specified.

Fix:
http://support.microsoft.com/?kbid=974405
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eb9c345f-e830-40b8-a5fe-ae7a864c4d76&displaylang=en

Error:
An error occurred during the processing of . Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Solution:
Make sure you have .net framework 3.5 SP1 installed
http://www.microsoft.com/downloads/details.aspx?FamilyID=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=en

Also you need to install MSChart component. If you are using Framework 4.0 then you dont need to install it separatly.
http://www.microsoft.com/downloads/details.aspx?familyid=130F7986-BF49-4FE5-9CA8-910AE6EA442C&displaylang=en

Tuesday, August 31, 2010

SQL Server Cluster Instance/Node Command

xp_cmdshell 'cluster group'

Friday, August 27, 2010

Email users limit in MOSS 2007

Microsoft Internet Explorer has a maximum uniform resource locator (URL) length of 2,083 characters. Internet Explorer also has a maximum path length of 2,048 characters. This limit applies to both POST request and GET request URLs.

If you are using the GET method, you are limited to a maximum of 2,048 characters, minus the number of characters in the actual path.

However, the POST method is not limited by the size of the URL for submitting name/value pairs. These pairs are transferred in the header and not in the URL.

Friday, July 9, 2010

STSADM backup/restore

Backup

stsadm -o backup -url http://SiteCollectionURL -filename //SharedDrive/Directory.dat -overwrite

Restore

stsadm -o restore -url http://SiteCollectionURL -filename //SharedDrive/Directory.dat -overwrite

Thursday, July 8, 2010

Things to know as a Tech Consultant !!

IT Expertise:

Core

IIS 6/7
Windows Server 2003/2008
DNS/WINS (Name Resolution)
TCP/IP & other network considerations
SQL Server 2005 Advanced Administration (Backup, Monitoring, Logshipping or Database Mirroring)
Basic Firewall rules and Proxy
IT Infrastructure Design
Hardware Acquisition (RAM, CPU, Disk I/O, and other hardware considerations)
Performance Monitoring
Capacity Planning
Growth Management
Workflow (Windows Workflow Foundation)
Client Troubleshooting & Support: IE, Firefox, Safari, Office XP, 2003, 2007, etc...
HTML & Client side scripting (Javascript, AJAX, DHTML, XSL, XSLT, XHTML)
Exchange and SMTP integration (Inbound and Outbound email including contact objects)
High Availability: Microsoft Cluster Services, Windows Network Load Balancing
Storage: Appliances, HBAs, SANs, Archive Storage
Backup Solutions: Various Tape, Hardware and software snapshots, software nearline and offline storage (soon to add DPM 2007)
Hardware load balancing, ISA Secure Web Publishing
IAG (Internet Application Gateway) Whale Communications
Single Sign on integration
Connection Monitoring & Troubleshooting (ADO.NET, Web Services, CDO)
Global Deployments - Multi farm deployments
Dev, Test, Staging, Production - Staged deployments
MOF, ITIL, MSF Frameworks and strong understanding of the development life cycle
Virtualization - Virtual Server 2005, Virtual PC, VMWare

Solutions:

Internet Publishing
Internet Community Portal
Intranet Central Search Portal
Intranet Departmental Dashboard Portal
Intranet Collaboration
Business Process Management
Extranet Collaboration
Document Management
Records repository
BI Solutions
Search Center or Intranet and Internet Search Solutions
Reports Center
Mobile Solutions
Remote employee solutions
Multi lingual solutions
Project Server
Web 2.0 Solution: Blogs, Wikis, Social Networking (Profiles & My Sites)

Extended

AD (Group Policies, Security Groups, DLs, Contacts, authentication, and attributes for profile import)
Desktop Management (IE settings, Office deployment, storage and collaboration considerations)
MOM Systems Center Operations Monitoring of performance and system health of servers and dependencies
WAN and Network performance testing and considerations, (minimum performance levels) caching
File Services & (extremely light... policy SMS and Patching considerations)
Antivirus management solutions like Forefront
Presence Integration (LCS, Office Live Communication Server, SMTP and SIP)
Understanding and supporting Dev: ASP.NET, C#, Assemblies, GAC, Bin, web.config, web parts, web part connections, missing assemblies
MIIS in cross forest or resource forest scenarios or dynamic security groups
Migration Skills: Public Folders, Documentum, Lotus Notes, CMS, WebSphere
Interop and Integration

Office Interoperability (Word, Excel, Access, PowerPoint, Outlook)
Project Server deployment
Microsoft Dynamics (CRM, ERP, AXAPTA, GreatPlains, etc...)
Infopath forms troubleshooting and basic design skills (XML, HTML)
Visio integration
Biztalk
SharePoint Designer for workflows, CSS, Design, etc...
Reporting and Analysis Integration: SQL Reporting Services, SQL Analysis Services
SAP integration with Duet
BDC Siebel web services integration
Oracle Financials integration in BDC and Excel Services
Other ADO.NET BDC connections: includes various CRM, ERP, DBMS
Commerce integration in Internet sites
Web Services integration
Documentum, WebSphere
Search/Indexing Integration
Data warehouses RDBMS
Single Sign on solutions and integration with client certificates, smart cards, and 2 factor auth
N tiered web apps, web services, and stores
Samba and NFS?

Tuesday, April 27, 2010

What Great .NET Developers Ought To Know

Everyone who writes code

Describe the difference between a Thread and a Process?
What is a Windows Service and how does its lifecycle differ from a "standard" EXE?
What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design?
What is the difference between an EXE and a DLL?
What is strong-typing versus weak-typing? Which is preferred? Why?
Corillian's product is a "Component Container." Name at least 3 component containers that ship now with the Windows Server Family.
What is a PID? How is it useful when troubleshooting a system?
How many processes can listen on a single TCP/IP port?
What is the GAC? What problem does it solve?

Mid-Level .NET Developer

Describe the difference between Interface-oriented, Object-oriented and Aspect-oriented programming.
Describe what an Interface is and how it’s different from a Class.
What is Reflection?
What is the difference between XML Web Services using ASMX and .NET Remoting using SOAP?
Are the type system represented by XmlSchema and the CLS isomorphic?
Conceptually, what is the difference between early-binding and late-binding?
Is using Assembly.Load a static reference or dynamic reference?
When would using Assembly.LoadFrom or Assembly.LoadFile be appropriate?
What is an Asssembly Qualified Name? Is it a filename? How is it different?
Is this valid? Assembly.Load("foo.dll");
How is a strongly-named assembly different from one that isn’t strongly-named?
Can DateTimes be null?
What is the JIT? What is NGEN? What are limitations and benefits of each?
How does the generational garbage collector in the .NET CLR manage object lifetime? What is non-deterministic finalization?
What is the difference between Finalize() and Dispose()?
How is the using() pattern useful? What is IDisposable? How does it support deterministic finalization?
What does this useful command line do? tasklist /m "mscor*"
What is the difference between in-proc and out-of-proc?
What technology enables out-of-proc communication in .NET?
When you’re running a component within ASP.NET, what process is it running within on Windows XP? Windows 2000? Windows 2003?

Senior Developers/Architects

What’s wrong with a line like this? DateTime.Parse(myString);
What are PDBs? Where must they be located for debugging to work?
What is cyclomatic complexity and why is it important?
Write a standard lock() plus “double check” to create a critical section around a variable access.
What is FullTrust? Do GAC’ed assemblies have FullTrust?
What benefit does your code receive if you decorate it with attributes demanding specific Security permissions?
What does this do? gacutil /l | find /i "Corillian"
What does this do? sn -t foo.dll
What ports must be open for DCOM over a firewall? What is the purpose of Port 135?
Contrast OOP and SOA. What are tenets of each?
How does the XmlSerializer work? What ACL permissions does a process using it require?
Why is catch(Exception) almost always a bad idea?
What is the difference between Debug.Write and Trace.Write? When should each be used?
What is the difference between a Debug and Release build? Is there a significant speed difference? Why or why not?
Does JITting occur per-assembly or per-method? How does this affect the working set?
Contrast the use of an abstract base class against an interface?
What is the difference between a.Equals(b) and a == b?
In the context of a comparison, what is object identity versus object equivalence?
How would one do a deep copy in .NET?
Explain current thinking around IClonable.
What is boxing?
Is string a value type or a reference type?
What is the significance of the "PropertySpecified" pattern used by the XmlSerializer? What problem does it attempt to solve?
Why are out parameters a bad idea in .NET? Are they?
Can attributes be placed on specific parameters to a method? Why is this useful?

C# Component Developers

Juxtapose the use of override with new. What is shadowing?
Explain the use of virtual, sealed, override, and abstract.
Explain the importance and use of each component of this string: Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=593777ae2d274679d
Explain the differences between public, protected, private and internal.
What benefit do you get from using a Primary Interop Assembly (PIA)?
By what mechanism does NUnit know what methods to test?
What is the difference between: catch(Exception e){throw e;} and catch(Exception e){throw;}
What is the difference between typeof(foo) and myFoo.GetType()?
Explain what’s happening in the first constructor: public class c{ public c(string a) : this() {;}; public c() {;} } How is this construct useful?
What is this? Can this be used within a static method?

ASP.NET (UI) Developers

Describe how a browser-based Form POST becomes a Server-Side event like Button1_OnClick.
What is a PostBack?
What is ViewState? How is it encoded? Is it encrypted? Who uses ViewState?
What is the element and what two ASP.NET technologies is it used for?
What three Session State providers are available in ASP.NET 1.1? What are the pros and cons of each?
What is Web Gardening? How would using it affect a design?
Given one ASP.NET application, how many application objects does it have on a single proc box? A dual? A dual with Web Gardening enabled? How would this affect a design?
Are threads reused in ASP.NET between reqeusts? Does every HttpRequest get its own thread? Should you use Thread Local storage with ASP.NET?
Is the [ThreadStatic] attribute useful in ASP.NET? Are there side effects? Good or bad?
Give an example of how using an HttpHandler could simplify an existing design that serves Check Images from an .aspx page.
What kinds of events can an HttpModule subscribe to? What influence can they have on an implementation? What can be done without recompiling the ASP.NET Application?
Describe ways to present an arbitrary endpoint (URL) and route requests to that endpoint to ASP.NET.
Explain how cookies work. Give an example of Cookie abuse.
Explain the importance of HttpRequest.ValidateInput()?
What kind of data is passed via HTTP Headers?
Juxtapose the HTTP verbs GET and POST. What is HEAD?
Name and describe at least a half dozen HTTP Status Codes and what they express to the requesting client.
How does if-not-modified-since work? How can it be programmatically implemented with ASP.NET?
Explain <@OutputCache%> and the usage of VaryByParam, VaryByHeader.
How does VaryByCustom work?
How would one implement ASP.NET HTML output caching, caching outgoing versions of pages generated via all values of q= except where q=5 (as in http://localhost/page.aspx?q=5)?

Developers using XML

What is the purpose of XML Namespaces?
When is the DOM appropriate for use? When is it not? Are there size limitations?
What is the WS-I Basic Profile and why is it important?
Write a small XML document that uses a default namespace and a qualified (prefixed) namespace. Include elements from both namespace.
What is the one fundamental difference between Elements and Attributes?
What is the difference between Well-Formed XML and Valid XML?
How would you validate XML using .NET?
Why is this almost always a bad idea? When is it a good idea? myXmlDocument.SelectNodes("//mynode");
Describe the difference between pull-style parsers (XmlReader) and eventing-readers (Sax)
What is the difference between XPathDocument and XmlDocument? Describe situations where one should be used over the other.
What is the difference between an XML "Fragment" and an XML "Document."
What does it meant to say “the canonical” form of XML?
Why is the XML InfoSet specification different from the Xml DOM? What does the InfoSet attempt to solve?
Contrast DTDs versus XSDs. What are their similarities and differences? Which is preferred and why?
Does System.Xml support DTDs? How?
Can any XML Schema be represented as an object graph? Vice versa?

Registering .NET assembly for COM usage

The steps to register a dot net component is:

The command line instruction to create a strong name.

sn -k ComInterOp.snk.
Strong name is a unique name created by hashing a 128-bit
encryption key against the name of the Assembly (ComInterOp
in our case). The strong name is created using SN.exe, that
would create ComInterOp.snk file, which we would use while
creating the DotNet Assembly.

The command line instruction to create an assembly using
the strong name

vbc /out:ComInterOp.dll /t:library /keyfile:ComInterOp.snk

Assembly Registration Tool.

The Assembly Registration Tool (Regasm.exe), reads the
metadata within an assembly and adds the necessary entries
to the registry, which allows COM clients to create DotNet
Framework classes transparently. The Assembly Registration
tool can generate and register a type library when you
apply the /tlb: option. COM clients require that type
libraries be installed in the Windows registry. Without
this option, Regasm.exe only registers the types in an
assembly, not the type library. Registering the types in an
assembly and registering the type library are distinct
activities.
The command line instruction to create and register
ComINterOp.tlb(Type Library) is

regasm ComInterOp.dll /tlb:ComInterOp.tlb.

The DotNet Services Installation Tool (Regsvcs.exe)

The command line instruction to install ComINterOp.dll in
GAC is

Gacutil -i ComInterOp.dll.

Tuesday, April 20, 2010

Running IE7 in IE8

To run a webpage in IE7 mode in IE8, open Tools –> Developer Tools or use the F12 key to launch developer tools for a open tab.

In the Developer Tools, click on the Browser Mode and select Internet Explorer 7 from the list, the webpage should now reload and behave like it would do in IE7.

Pretty neat feature, IE8 is definitely looking good, keep tuned to know more about IE8.

Wednesday, February 17, 2010

DLL reference issue- (Exception from HRESULT: 0x80131040)

The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Fix:
This issue occurs when there are multiple projects referencing same DLL with different version. Do make sure same version of DLL is reffered in all the projects.

Sunday, February 14, 2010

Enabling IntelliSense in Visual Studio to author a custom feature easily

Inside the TEMPLATE directory there is a directory named XML that contains several XML schemas, including one named wss.xsd. If you associate this schema file with feature files such as feature.xml and elements.xml, Visual Studio will provide IntelliSense, which makes it much easier to author a custom feature. You may also copy these XSD files into C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas\.

Programming Against the WSS Object Model

 

Another important aspect of WSS development is programming against the WSS object model. The core types provided by the WSS programming model are exposed through a standard WSS assembly named Microsoft.SharePoint.dll.

Let’s look at a simple example. Imagine you have just created a console application, and you have added a reference to Microsoft.SharePoint.dll. The WSS object model exposes an SPSite class that serves as an entry point into the WSS object model at the site collection level. Each site within a site collection is represented as an SPWeb object. Each list within a site is represented as an SPList object. Here’s a simple example using the WSS object model to access the top-level site within a target site collection and discover all its lists.

using Microsoft.SharePoint;
namespace Hello_WSS_OM {
  class Program {
    static void Main() {
      string sitePath = "http://litwareinc.com";
      // enter object model through site collection.
      SPSite siteCollection = new SPSite(sitePath);
      // obtain reference to top-level site.
      SPWeb site = siteCollection.RootWeb;
      // enumerate through lists of site
      foreach (SPList list in site.Lists) {
        Console.WriteLine(list.Title);
      }
      // clean up by calling Dispose.
      site.Dispose();
      siteCollection.Dispose();
    }
  }
}

You should observe the two calls to the Dispose method at the end of this code example. Several object types in the WSS object model, such as SPSite and SPWeb, use unmanaged resources and must be disposed of in a timely manner. If you fail to do this and simply rely on the garbage collector of the .NET Framework to reclaim memory, your code can cause problems by consuming far more memory than it needs. As a rule of thumb, when you create a disposable object, you are also responsible for calling Dispose on it. However, object references obtained through the WSS Web application’s SPContext should not be disposed.

The STSADM.EXE Command Line Utility

WSS ships with a handy command-line utility named STSADM.EXE. This utility allows you to run interactive commands from the Windows command line and to script batch files that accomplish administrative tasks such as creating, backing up, and restoring site collections. When you run this utility from the command line or from a batch file, you must pass the –o parameter followed by one of the supported operations. Here’s an example of a command line instruction to create a new site collection at a specific URL.
STSADM.EXE –o CreateSite –url http://localhost/sites/Sales
                         -ownerlogin LitwareServer\BrianC
                         -owneremail brianc@litwareinc.com
                         -sitetemplate STS#0
Note that this example has introduced line breaks between the parameters to make things more readable. However, you cannot actually use line breaks between the parameters when running the STSADM utility from the command line or from a batch file.
Keep in mind that the installation of WSS adds the STSADM.EXE utility to a WSS system directory deep within the Windows Program Files directory. If you want to be able to call this utility directly from the command line on your development workstation, you should add the following path to your configured System path.
c:\program files\common files\microsoft shared\web server extensions\12\bin\
When you write a batch file, you should also assume that it might be run on a machine that does not have the proper System path configured. Therefore, you should write batch files that explicitly specify the location of the STSADM.EXE utility.
@SET STSADM="c:\program files\common files\microsoft shared\
             web server extensions\12\bin\stsadm"

%STSADM% –o CreateSite –url http://localhost/sites/Sales
                         -ownerlogin LitwareServer\BrianC
                         -owneremail brianc@litwareinc.com
                         -sitetemplate STS#0

The WSS Decoder Ring - WSS Object Model confusion

When developers begin to use WSS, there is often confusion surrounding different terminology used between WSS and its version 1.0 predecessor SharePoint Team Services (STS). For example, the WSS term Site Collection is the equivalent of the old STS term Site. The new WSS term Site is the equivalent of the old STS term Web. The new WSS term Top-level Site is the equivalent of the old STS term Root Web.
Though the WSS team has been consistent using the new WSS terminology in the product documentation, there are still many places that use the term Web when you expect Site and that use the term Site when you expect Site Collection.
For example, the names of classes in the WSS object model are based on the old STS terms. As a result, you program against a site collection using an SPSite object, and you program against a site using a SPWeb object. An SPSite object provides a public property named RootWeb that returns an SPWeb object representing the site site. Once you understand this potential point of confusion, getting up to speed on various aspects of WSS becomes less confusing.

XML node parsing code snippet

Code snippet for parsing XML document :


if (providerDocument.ProviderCount > 0)
{
foreach (XmlNode xn in providerNodeList)
{
XmlNodeList xnlGroupOwned = xn.SelectNodes("xps:GroupOwned/xps:Type[contains(.,'LEA Area')]", providerDocument.NamespaceManager);
foreach (XmlNode xnGroupOwned in xnlGroupOwned)
{
XmlNodeList xnlGroupOwnedMember = xn.SelectNodes("xps:GroupOwned/xps:Member", providerDocument.NamespaceManager);
foreach (XmlNode xnGroupOwnedMember in xnlGroupOwnedMember)
{
upins.Append(xnGroupOwnedMember.ChildNodes.Item(2).FirstChild.InnerText + ",");
upinsTradingName.Append(xnGroupOwnedMember.ChildNodes.Item(2).LastChild.InnerText + "?");
}
XmlNodeList xnlFunding = xn.SelectNodes("xps:Funding", providerDocument.NamespaceManager);
foreach (XmlNode xnFunding in xnlFunding)
{
upinsFundingEligibility.Append(xnFunding.ChildNodes.Item(1).InnerText + ",");
}
}
}
}

SharePoint Terminology

To help you familiarize yourself with the SharePoint vocabulary:

Application page. Allows the use of inline custom code. Application pages or "_layout" pages are stored on the SharePoint Web server and made available via a Microsoft Internet Information Services (IIS) virtual directory. Though application pages behave much like other ASPX pages and allow the use of inline custom code, they differ from content pages in that they cannot be used to host SharePoint features such as dynamic Web Parts and Web Part zones.

Content type. A reusable collection of settings to apply to a certain category of content such as documents and folders. Content types are designed to help users organize their SharePoint content in a more meaningful way.

Custom action. Represents a link, toolbar button, menu item, or any control that can be added to a toolbar or menu that appears in the UI. You define custom actions by using a custom action element within a feature definition file. You can bind custom actions to a list type, content type, file type, or programmatic identifier (ProgID).

Event receiver. Evaluator of an event and definer of the behavior of an application. Windows SharePoint Services 3.0 allows you to define event handlers within libraries, lists, and sites. Event receivers can be defined by using a receiver element within a feature definition file.

Feature. A package of Windows SharePoint Services elements that can be activated for a specific scope and that helps users accomplish a particular goal or task. Windows SharePoint Services 3.0 introduces this inherently portable and modular functionality, which simplifies modification of sites through site definitions.

Master page. Pages that provide a consistent layout and appearance (look and feel) for SharePoint sites. They allow you to factor out layout, structure, and interface elements such as headers, footers, navigation bars, and content placeholders. Master pages in ASP.NET 2.0 and master pages in Windows SharePoint Services work in the same way.

Module. A file or collection of file instances that define the location where the files are installed during site creation. Modules are frequently used to implement a Web Part Page in the site. You can define modules by using a module element within a feature definition file.

SharePoint site: A Web site hosted in a virtual URL. A SharePoint site is a place for collaboration, communication, or content storage. Depending on your business needs, you can create sites such as team sites, blog sites, wiki sites, and others. You can customize a site's appearance, users, user permissions, galleries, and site administration by using the Site Settings administration pages.

SharePoint site collection: A collection of SharePoint sites that share common administration pages and site settings. Site collections allow you to share content types, site columns, templates, and Web Parts within a group of SharePoint sites.

SharePoint Web farm: A group of Office SharePoint 2007 servers that share the same configuration database. All site content and all configuration data is shared for all front-end Web servers in a server farm.

Site definition. A set of files that includes a master XML configuration file that is stored on all front-end Web servers. A site definition provides the basic blueprint for how sites look, what lists they include, their default navigational structures, and so on.

Site template. A package containing a set of differences and changes from a base site definition that is created through the UI or through implementation of the object model. The site template package is stored as a .cab-based file that can be downloaded or uploaded to site collections by users with the appropriate rights. Site templates offer a measure of portability to SharePoint applications.

Solution. A file that is a bundling of all the components for extending Windows SharePoint Services in a particular way. A solution file has a .cab-based format with a .wsp extension. A solution is a deployable, reusable package that can contain a set of Features, site definitions, and assemblies that apply to sites, and that you can enable or disable individually. You can use the solution file to deploy the contents of a Web Part package, including assemblies, class resources, and other package components.

Theme. A group of files (CSS, images) that allow you to define the appearance (look and feel) of Web pages. Themes in ASP.NET 2.0 and themes in SharePoint Products and Technologies work in the same way. Themes are used to help organizations to brand their portals and team sites. Office SharePoint Server 2007 includes a set of predefined themes. However, as a developer, you can create custom themes for your company.

SharePoint Technologies Overview







Overview

SharePoint Products and Technologies provide an extensible solution platform for the professional Microsoft .NET developer, and offer a wide array of built-in features and application hosting using well-known .NET development tools and technologies. SharePoint Products and Technologies offer a manageable and scalable server platform that employs the benefits of the 2007 Microsoft Office system client for hosting applications on an internal or Internet Web site.

The.NET developer creates Web-based solutions by using the Web development platform of ASP.NET. ASP.NET allows you to build Web-based solutions by using managed code. The ASP.NET page framework also provides new Web platform capabilities, features, and enhancements such as master pages, Web part controls, and data source controls.

Marrying the advantages and power of both platforms, with the release of the 2007 Microsoft Office system, Microsoft provides products and technologies such as Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007 that are built on top of ASP.NET 2.0. Now you, the professional .NET developer, can use your knowledge of .NET technologies to develop on the SharePoint platform to create a new set of Web solutions.

The goal of this article is to introduce you to some of the most powerful SharePoint development features. This article walks you through key concepts, developer terms, developer components used to build enterprise solutions, and pointers to resources to help you get started learning about SharePoint development. It also explores tools you can use to create solutions by using SharePoint Products and Technologies.

Benefits Offered to .NET Developers

SharePoint Products and Technologies introduce a number of benefits that help not only developers and the solutions they build, but also individual users and organizations of all sizes.

SharePoint Products and Technologies offer additional overall benefits to .NET developers. Highlights of these benefits include the following:

A familiar development environment for .NET developers. Windows SharePoint Services 3.0 is built entirely on ASP.NET, so you use the same familiar .NET Framework and .NET languages, the same .NET Framework and ASP.NET class libraries, and the same development tools.

Built-in features that developers can extend. Windows SharePoint Services 3.0 adds foundational components that are valuable for creating Web-based applications such as a Web Part framework, data lists, document libraries, a workflow engine, and Web site templates. Office SharePoint Server 2007 adds major application features on top of Windows SharePoint Services 3.0. These include user site provisioning, business intelligence features, forms services, enterprise content management, integrated search, and social networking features. All of these features can be extended by developers to implement something as simple as a Web dashboard to a complex line-of-business (LOB) application.

The best integrated server for Office applications. If you need to store documents as part of your Web application, Office SharePoint Server 2007 is the answer. Office client applications including Word, Excel, Outlook and InfoPath can be easily used as part of an enterprise solution built on SharePoint.

The foundation for a wide variety of Intranet or Internet applications. For end users, SharePoint Products and Technologies have numerous easy-to-use and desirable features. For developers, SharePoint Products and Technologies is a platform to build on. Because when you develop on the SharePoint platform you are building on the same application foundation that SharePoint uses for end user functionality, the applications that you can create have a consistent common look, and can be managed in a consistent way. If a company already has SharePoint deployed, it is easy to add applications to the existing deployment.

What are SharePoint Products and Technologies?

SharePoint Products and Technologies provide a foundation for collaboration, business intelligence, enterprise content management, people and personalization services, Enterprise Search, integration of LOB data, and processes.

SharePoint Products and Technologies include the following:

Windows SharePoint Services 3.0. A set of services for collaboration and a foundation for building Web-based applications on Windows Server. Windows SharePoint Services 3.0 is included in Windows Server 2003 and in Windows Server 2008, and is also available separately as a download.

Microsoft Office SharePoint Server 2007. A single, integrated application that provides sites (locations) where employees can efficiently collaborate with team members, find organizational resources, search for experts and corporate information, manage content and workflow, and make use of business insight to reach better-informed decisions. Office SharePoint Server 2007 is part of the 2007 Microsoft Office system. For more information, see the Microsoft Office SharePoint Server 2007 frequently asked questions.

Microsoft Office SharePoint Designer 2007. A designer and developer tool that enables you to quickly build solutions that include both design and workflow.

Windows SharePoint Services 3.0 and Office SharePoint Server 2007 are built on top of the ASP.NET 2.0 Framework and the Microsoft .NET 3.0 Windows Workflow Foundation (WF) as shown in Figure.

Source :
http://msdn.microsoft.com/en-gb/library/cc537498.aspx#MOSSIntroToNet_Overview