Microsoft SharePoint Foundation 2010 expands the alerts framework to enable users to have alerts sent as Short Message Service (SMS) messages to their mobile devices.
Extensible Mobile Messaging Framework
SharePoint Foundation 2010 takes advantage of the new mobile messaging framework to enhance its Alerts feature. To support the new option, the SPAlert class now has a property that indicates whether the alert is delivered as e-mail or as an SMS message. The SharePoint Foundation Web application is given its own account, which can be programmatically changed, with a mobile messaging service provider.
The mobile messaging framework is itself extensible, so you can create your SharePoint Foundation solutions that incorporate SMS messages that are sent to mobile telephones. You can create a completely customized alert system if you want. If your messaging solution uses the Office Mobile Service (OMS) protocol, most of your development work has already been done for you. A rich set of classes has been added to the object model to represent the Web Methods and response types of the protocol. If your solution requires a different protocol, base classes have been provided with default implementations of essential properties and methods.
Business Connectivity Services
Microsoft Business Connectivity Services (BCS), formerly named the Business Data Catalog, provides read/write access to external data from line-of-business (LOB) systems, Web services, databases, and other external systems within Microsoft SharePoint 2010. SharePoint 2010 has product features that can use external data directly, both online and offline. Developers can gain access to a rich set of features and rapidly build solutions by using familiar tools such as Microsoft Visual Studio 2010 and Microsoft SharePoint Designer 2010.
Business Connectivity Services enhances SharePoint application capabilities and their UI through features, services, and tools. These enhanced capabilities and UI streamline development of solutions with deep integration of external data and services. Power users, developers, and business unit IT professionals can integrate assets from external systems and enable interaction with the external data through many types of applications. The Business Connectivity Services feature set enables rapid development and deployment of scalable and security-rich solutions.
The following are some of the features of Business Connectivity Services.
Write-back to External Systems
Using Business Connectivity Services, you can create; read, update, delete, and query (CRUDQ) to the external system from a Microsoft Office application or SharePoint site if the external system supports the operations and is modeled appropriately in the Business Data Connectivity (BDC) service.
External content types provide SharePoint behaviors (such as lists, Web Parts, and profile pages) to external data and services. As a result, users can work in their familiar work environments without needing to learn different (and often proprietary) user interfaces.
More Connectivity Options
The core function of BDC is to provide connectivity support to the following types of external systems:
- Web and Windows Communication Foundation (WCF) services
- Microsoft .NET connectivity assemblies
- Custom data sources
Extensible Provider Model
In addition to connectors for the previous list of data sources provided by BDC, BDC provides a pluggable framework with which developers can plug in connectors for new external system types, thus enabling these new data source types to be accessed via the BDC.
Batch and Bulk Operation Support
In Office SharePoint Server 2007, BDC supported only single item operations, such as search. BDC now provides batch and bulk operation support which enable you to read multiple items in a single call thus reducing round trips to the backend dramatically.
BDC now supports reading Binary Large Object (BLOB) data. This is useful for streaming BLOBs of data from the external system.
Read and Write-back of Complex Types
BDC now supports dot notation in field names and therefore enables you to read and write complex types.
Life Cycle Management
Business Connectivity Services provides a set of tools to facilitate creation of models and Office 2010 application artifacts, declaratively and by writing code. You can use SharePoint Designer 2010 to rapidly create composite solutions that meet external unit needs without writing code. You can use Visual Studio to create or extend solutions with sophisticated workflows and data that spans structured LOB systems, unstructured SharePoint applications or Microsoft Office applications, and Web 2.0 services.
Enhanced API Set and Extensibility
Developers can use the BDC Runtime object model to write generic applications by using the stereotyped APIs as building blocks. Such generic applications are then assured to work against any external system, including those that are preexisting and those that are yet to be built.
Developers can also write specific applications that make assumptions about the abstract entity model (the fields exposed by these, and the types of the fields).
And with the .NET Assembly Connector, Custom Connector and the pluggable Secure Store Provider, it provides a rich extensibility mechanism for software developers.
Client Object Model
The new client object models provide an object-oriented system for interoperating with SharePoint data from a remote computer, and they are in many respects easier to use than the already existing SharePoint Foundation Web services. You start by retrieving a client context object that represents the current request context, and through this context, you can obtain access to client objects at site-collection level or lower in the SharePoint Foundation hierarchy. Client objects inherit from the ClientObject class (ECMAScript: ClientObject), and you can use them to retrieve properties for a specific SharePoint object, to retrieve child objects and their properties, or to retrieve child items from a collection.
Custom Field Rendering Enhancements
Microsoft SharePoint Foundation 2010 makes two significant changes to the way that you define how custom field types render.
XSLT Stylesheet Rendering on List Views
In Windows SharePoint Services 3.0, fields were rendered on list view pages by a RenderPattern element in a field definition file, fldtypes*.xml. In SharePoint Foundation 2010, fields are rendered on list view pages by XSLT stylesheets. Consequently, you now define the rendering of your custom field types by creating a custom XSLT stylesheet rather than adding a custom RenderPattern element to a field type definition
RenderPattern Elements are Now Obsolete
In Windows SharePoint Services 3.0, fields were also typically rendered in Display mode by means of a RenderPattern element in a field definition file. It was also possible, although rare, to render a field in Edit and New modes with a RenderPattern element. It was more common to render fields in Edit and New modes with a user control (ASCX), known as a RenderingTemplate, and it was possible to use a user control to render a field in Display mode. In SharePoint Foundation 2010, custom fields should always be rendered with user controls in all three modes. Although some long-standing built-in fields still use a RenderPattern element, for development of custom fields RenderPattern elements are obsolete.
PropertySchema Elements are Now Obsolete
In Windows SharePoint Services 3.0, when a custom field had a variable property (that is, a property with a different value on different lists), a control was needed on the New Site Column, Change Site Column, Create Column, and Change Column pages so that users could set the property value. One of the ways that custom field designers could define the rendering of this control was with a PropertySchema element in a field definition file. This method is now obsolete. You should create an editing control as a user control (ASCX). Point your custom field to the user control by setting the FieldEditorUserControl property.
If there is no user control (RenderingTemplate) for a field, the runtime looks for a RenderPattern element in the field type definition file and, if found, uses it. One implication of this behavior is that custom fields that you created for versions earlier than SharePoint Foundation 2010 can still use their existing field type definitions with RenderPattern elements for Display, Edit, or New mode.
SharePoint Foundation 2010 will not automatically render your legacy custom fields on list views by using the RenderPattern in the field type definition for the field. However, if you do not want the default rendering that is given to the field by the XSLT stylesheet, you can re-enable the RenderPattern by adding a <Field>TRUE</Field> element to the field type definition.
Microsoft SharePoint Foundation 2010 supports multiple new events, including on-create events for lists and Web sites and support for synchronous after events. Many of the new events are available in both synchronous and asynchronous modes. SharePoint Foundation offers a more approachable events infrastructure that is easier to program against than earlier versions.
What’s New in the Event Model
New events in SharePoint Foundation 2010 include the following:
- add and delete events on lists.
- add events on Web sites.
- after events can now be either synchronous or asynchronous.
Additionally, new event model capabilities include the following:
- Event registration at the site collection level.
- XML event registration at the site receiver.
- Improved semantics for retrieving event data.
- Improved user interface for form-level events.
Microsoft SharePoint Foundation 2010 introduces SharePoint Health Analyzer, an extensible, rules-based infrastructure that monitors and maintains the health of SharePoint Foundation throughout a server farm. It is designed to check automatically for potential configuration, performance, and security problems and to identify issues to farm administrators.
SharePoint Health Analyzer monitors the farm by applying a set of health rules. A health rule is executable code that is deployed in a compiled assembly at the farm level and registered with SharePoint Health Analyzer by a farm administrator. A number of health rules are included with SharePoint Foundation. You can create and deploy additional rules by writing code that uses the SharePoint Foundation object model.
Microsoft SharePoint Foundation 2010 adds features to the list infrastructure that improve user experience in the case of large lists, and that enhance data integrity.
In enterprise deployments of SharePoint Foundation, list content can often grow into such large collections that, when users access that content through standard operations, the performance of the site diminishes. The new List View Threshold feature addresses this issue by allowing you to specify a maximum number of list items that a database operation can retrieve. If a query exceeds the threshold, the query is blocked because it would adversely affect site performance.
Properties of the SPWebApplication class allow you to set request throttling for operations that return list items. For example, the MaxItemsPerThrottledOperation property specifies the maximum number of items that can be affected by a query or list update; if the number is exceeded, the operation is cancelled. The EnableThrottling property of a list object specifies whether throttling is applied to the list, and SPQuery and SPSiteDataQuery each have a RequestThrottleOverride property. The SPFieldIndex class represents a compound index over one or two fields in a list, which provides support for efficient list item queries that filter by using the fields.
Referential Integrity for List Items with Lookup Columns
In previous releases of SharePoint Foundation, you could create a loosely defined relationship between lists through a lookup field, where a child list looks up to a parent list. In SharePoint Foundation 2010, items in the parent list are inherently “aware” of related items in the child list, and you can set referential integrity constraints on the child items by specifying a delete behavior. You can define list relationships and specify delete behavior through the user interface or through the object model.
The SPRelatedField class represents a relationship between fields in two lists. You can get a collection of SPRelatedField objects by calling the GetRelatedFields()()()() method of the SPList class. The SPRelationshipDeleteBehavior enumeration is used to specify a deletion constraint: Cascade delete, where deleting a parent list item also deletes all related child items in one transaction; Restrict delete, where an error message is displayed if a user attempts to delete a parent list item with child items that look up to it; or None, which means no delete behavior is enforced (default value). You set a delete behavior through the RelationshipDeleteBehavior property of a lookup field, which is represented by an instance of the SPFieldLookup class.
Enforcing Unique Column Constraints
With SharePoint Foundation, you can now provide a primary key on column fields by using (or “enforcing”) a new feature named unique column constraints. You can use this feature to enforce uniqueness on values in a list or document library column. Note that not all column types support this feature
To support uniqueness constraints, a column must be able to be indexed. Furthermore, when uniqueness is enforced on a lookup column, the list item in the target list can have at most one list item looking up to it from the child list (the list where the Lookup column lives). In other words, uniqueness is not enforced on the projected column of the target list but rather on the ID column.
This feature can also be used programmatically by using a new property on the SPField object named EnforceUniqueValues. The property gets and sets a Boolean to specify whether duplicate values are allowed; the default is to allow duplicate values, so you must explicitly set a column field property EnforceUniqueValues to true.
Microsoft Business Connectivity Services (BCS) introduces the external list, which allows you to access external data in the same way that you access SharePoint Foundation list data. Users can interact with an external list in the same way they interact with other SharePoint lists
Microsoft Synch Framework
The Microsoft Synch Framework in SharePoint Foundation is a comprehensive and unified synchronization architecture that provides data-agnostic and bidirectional capabilities to developers. Because it was designed to provide cross-application synchronization, implementing the Microsoft Synch Framework allows other Microsoft and third-party applications to synch more easily with SharePoint Foundation 2010 deployments.
The Synch Framework provides three core building blocks:
- Synch Runtime
- Synch Metadata Services
- Synch Provider
Mobile Device Development Enhancements
Microsoft SharePoint Foundation 2010 greatly expands access from mobile devices to SharePoint Foundation pages, lists, and functionality.
Mobile Web Part Adapters
It is now possible to have a mobile page that corresponds in purpose, data, and functionality to a nonmobile Web Parts page. You can adapt any Web Part on a nonmobile page by adding a control to the mobile page that duplicates the Web Part’s functionality. These controls are known as mobile adapters. Some of the major Web Parts that are built into SharePoint Foundation already have adapters. You develop your own adapters for Web Parts that you want to make available on mobile pages. A mobile adapter must be registered in the compat.browser file and registered as a Safe Control. When a mobile device accesses a Web Parts page, SharePoint Foundation redirects the device to the corresponding mobile page. For each Web Part on the Web Part page that has an adapter control, the adapter control will be rendered on the mobile page
Your SharePoint Foundation solutions can now incorporate Short Messaging Service (SMS) messages sent to mobile telephones. If your messaging solution uses the Outlook Message Service (OMS) protocol, most of your development work has already been done for you. A rich set of classes has been added to the object model to represent the Web Methods and response types of this protocol. If your solution requires a different protocol, base classes have been provided with default implementations of essential properties and methods.
SharePoint Foundation 2010 takes advantage of the new mobile messaging support to enhance its Alerts feature. Users can now choose to have Alerts sent as SMS messages to a mobile telephone. The SharePoint Foundation Web application is given its own account, which can be programmatically changed, with a messaging service provider.
New Mobile Pages and Controls
SharePoint Foundation 2010 adds many new types of mobile pages and over 60 new public mobile controls. These improvements provide new or enhanced support in mobile devices for view filtering, people selection, file uploading, images, wiki pages, Web Parts pages, and other functionality. The appearance of mobile pages is more colorful as well. In general, you can come much closer now to duplicating on a mobile device the full range of appearance, functionality, and data access that your SharePoint Foundation solutions provide to nonmobile users.
Mobile Document Viewers
You can create custom pages that host document viewers that enable mobile users to open, on their mobile device, documents from SharePoint Foundation document libraries even if they have been formatted for a particular desktop application, such as a spreadsheet or word processor application.
Performance Monitoring and Request Throttling
Microsoft SharePoint Foundation 2010 introduces a programmable system of throttling HTTP requests when the front-end Web server that is handling the requests becomes too busy to handle them all.
Using the system, your server code can do the following:
- Determine which Windows Server 2008 performance counters are used to determine whether a front-end Web server is busy.
- Define what values of a counter are poor enough to cause the worker thread to begin throttling.
- Define which kinds of HTTP requests are throttled and whether they are throttled as soon as the server is busy or only when it has been busy continuously for at least 60 seconds.
- Exempt certain kinds of HTTP requests from throttling.
The system also reports the current health score of the front-end Web server in the HTTP response object, so your client side code can do its own request throttling.
Microsoft SharePoint Foundation 2010 includes several new ways to query and filter data.
New Query Support for Server Side Code
Querying data in server code has become significantly easier and more powerful in SharePoint Foundation 2010.
LINQ to SharePoint Provider
When your code needs to query list data, it is no longer necessary to compose a Collaborative Application Markup Language (CAML) query. SharePoint Foundation 2010 includes a LINQ to SharePoint provider to enable your code to query SharePoint lists from server code by using LINQ syntax. The provider translates your LINQ queries into CAML queries for submission to the content database. Because SharePoint Foundation 2010 also adds a new Join element to the Query Schema, you can have both implicit and explicit joins in your LINQ queries by using the join keyword. (See “List Joins Supported in CAML Queries” below.) You can also write to the lists by using the provider. As always with a LINQ provider, you must have classes that provide an object-oriented interface over the relational content databases. These classes are generated for you by the SPMetal tool that is included with SharePoint Foundation 2010
You can use LINQ syntax in your code even if you are not using the LINQ to SharePoint provider. Any SharePoint Foundation object that implements IEnumerable<(Of <(<’T>)>)> can be queried with LINQ syntax.
List Joins Supported in CAML Queries
You can now join multiple lists in a single query with the new Join Element (View). Use the new ProjectedFields Element (View) element to specify what list fields to include in the results. There are some details that need to be considered when using these elements.
Querying in Client Side Code
There have been dramatic changes in the way that client applications access SharePoint Foundation data.
Queries in the Client Object Model
You can query within the client object model in two ways:
- Write CAML queries for use with the SPQuery class
The Server ribbon offers new functionality in the Microsoft SharePoint Foundation 2010 user interface. The ribbon serves as the primary command surface that you can use to interact with objects within Microsoft SharePoint Foundation. In earlier product versions, commands were accessed across multiple surfaces and located in varying menus. With the introduction of the ribbon, commands are grouped in a logical manner through the use of tabs and groups, making them easy to find. You can also extend the functionality of the ribbon to include your own custom commands.
A sandboxed solution is a new concept in Microsoft SharePoint Foundation that allows site collection users to upload their own custom code solutions. A sandboxed solution uses a subset of the Microsoft.SharePoint namespace. These objects are marked in the object model to show their availability in a sandboxed solution. All sandboxed solutions are stored in a solution gallery. In addition, there are facilities provided to help server farm administrators monitor and validate solutions that have been uploaded to these galleries. Performance can be monitored by measuring CPU execution time, memory consumption, and database query time. You can also monitor other aspects of operation including abnormal termination, critical exceptions, unhandled exceptions, and data marshaling size.
Microsoft SharePoint Foundation and Microsoft SharePoint Server 2010 continue to build on and enhance the security features in Windows SharePoint Services 3.0 and Microsoft Office SharePoint Server 2007. This topic summarizes the new features and enhancements for security in SharePoint Foundation and SharePoint Server 2010.
Claims-Based Identity and Authentication
Claims-based identity is an identity model in SharePoint Foundation and SharePoint Server 2010 that includes features such as authentication across users of Windows-based systems and systems that are not Windows-based, multiple authentication types, stronger real-time authentication, a wider set of principal types, and delegation of user identity between applications.
When a user signs in to SharePoint Foundation and SharePoint Server 2010, the user’s token is validated and then used to sign in to SharePoint. The user’s token is a security token issued by a claims provider. There are five supported sign-in or access modes in SharePoint Foundation and SharePoint Server 2010:
- Windows Classic–Mode Sign-In
- Windows Claims–Mode Sign-In
- SAML Passive Sign-in Mode
- ASP.NET Membership and Role Passive Sign-In
- Anonymous Access
|SAML passive sign-in describes the process of signing in. When a sign-in for a Web application is configured to accept tokens from a trusted login provider, this type of sign-in is called SAML passive sign-in. A trusted login provider is an external (that is, external to SharePoint) STS that SharePoint trusts.
When you build claims-aware applications, the user presents an identity to your application as a set of claims. One claim could be the user’s name, another might be an e-mail address. The idea here is that an external identity system is configured to give your application all the information that it needs about the user with each request, along with cryptographic assurance that the identity data received by your application comes from a trusted source.
Under this model, single sign-on is much easier to achieve, and your application is no longer responsible for the following:
- Authenticating users
- Storing user accounts and passwords
- Calling to enterprise directories to look up user identity details
- Integrating with identity systems from other platforms or companies
Under this model, your application makes identity-related decisions based on claims supplied by the user. This could be anything from simple application personalization with the user’s first name, to authorizing the user to access higher-value features and resources in your application.
ASP.NET Membership User Token Converted to Claims Security Token
In SharePoint Foundation, an ASP.NET membership provider must implement the required System.Web.Security.Membership.ValidateUser method. Given a user name, the role provider system returns a list of roles to which the user belongs. The membership provider is responsible for validating the credential information by using the System.Web.Security.Membership.ValidateUser method (required now in SharePoint Foundation).
However, the actual user token is created by the SharePoint Foundation security token service (STS). The SharePoint Foundation STS creates the claims security token from the user name validated by the membership provider, and from the set of group memberships associated with the user name that are provided by the membership provider.
Automatic Password Change and Managed Accounts
The new automatic password change feature in SharePoint Foundation enables you to update and deploy passwords without having to perform manual password update tasks across multiple accounts, services, and Web applications. This makes managing password in SharePoint Foundation simpler. You can use the automatic password change feature to determine whether a password is about to expire and to reset the password by using a long, cryptographically-strong random string.
You use managed accounts to implement the automatic password change feature. Managed accounts in SharePoint Foundation improves security and ensures application isolation.
For more information about the managed account API, see:
Effective Permission API
In Windows SharePoint Services 3.0, it is difficult to get a user’s effective permission on securable objects, such as SPWeb, SPList, SPListItem, and so on. Over time, the site can have very complex permission settings, especially when many objects do not inherit permissions from the parents (unique scope). It is difficult for administrators to determine the effective permission of a specific user and how the user gets the permission on a particular object. SharePoint Foundation introduced a new ribbon command named Check Permissions and a set of effective permission APIs that provide a quick way to enumerate all role assignments for a specific user in a specific scope.
The SPSecurableObject class exposes a new GetUserEffectivePermissionsInfo()()()() method. This method retrieves an object with detailed information about the effective permissions that a specified user has in the current scope and the role assignments related to this user at this scope. This method does not include Web application security policy information in the permission mask if the provided user belongs to a policy that is marked as “Account Operate as System”.This method is available for users who have the EnumeratePermissions permission granted. For more information about EnumeratePermissions, see the SPBasePermissions enumeration.
The SPSecurableObject class also exposes a new GetUserEffectivePermissions()()()() method. For the current scope, this method returns a SPBasePermissions object that represents the effective permission mask of the user.
The SPWeb class has a new method named GetWebsAndListsWithUniquePermissions()()()() for site collection administrators to retrieve a collection of Webs and lists that have unique permissions themselves or that have items with unique permissions.
The behavior of the API is as follows: From the starting URL, it returns a list of URLs of containers (for example, SPWeb or SPList) where a unique security scope is present (where Break Roles Inheritance occurred), including all containers that do not have a unique security scope but that contain one or many child items with unique security scopes.
The SPList class has a new GetItemsWithUniquePermissions()()()() method for site collection administrators to retrieve all list items with unique permissions.
For more information about these APIs , see Microsoft.SharePoint.
|This topic highlights only some of the new APIs. It does not list all the new security-related APIs added to SharePoint Foundation.
Secure Store Service
The Secure Store Service replaces the Microsoft Office SharePoint Server 2007 Single Sign On feature. Secure Store Service is a service that provides storage and mapping of credentials such as account names and passwords. It enables you to securely store data that provides credentials that are required for connecting to external systems and for associating those credentials to a specific identity or group of identities. It is common for solutions to try to authenticate to an external system in which the current user is known differently or has a different account for authentication. In such cases, Secure Store Service can be used to store and map user credentials that are required by the external system. You can configure Secure Store Service so that multiple users can access an external system by using a single set of credentials on that external system.
Service Application Framework
The Service Application Framework provides a platform that allows developers to build scalable middle-tier applications that are hosted in Microsoft SharePoint Foundation 2010. These services can provide data or processing resources to other SharePoint features. The Service Application Framework enables services to be shared between computers on a server farm; it also helps load balance and manage services in SharePoint.
The Service Application Framework provides over 20 services that are built into the core product. For example, SharePoint Search is implemented by Service Application Framework. The Service Application Framework is an API that is provided to build services that are hosted by back-end application servers and consumed by front-end Web servers.
The Service Application Framework replaces the Shared Services Provider in Microsoft Office SharePoint Server 2007. The Service Application Framework model is much more flexible than the Shared Services Provider model. Service applications can be used by a single server farm or shared across farms, allowing centralized shared computing investments. Service Application Framework applications are easily scaled out for load balancing high-demand service applications.
Key features of the Service Application Framework include the following:
Improved Development Experience
The Service Application Framework allows service developers to focus on the business logic of their applications. The Service Application Framework makes it easy to implement details such as writing code to configure a server that runs Internet Information Services (IIS), installing a Secure Sockets Layer (SSL) certificate, creating a virtual directory, managing credentials for a pool of application users, managing and caching distributed settings, tracking and load balancing endpoints, and also performing many backup and restore tasks.
Improved Integration with SharePoint
The Service Application Framework offers integration with the management experience. Services plug their management User Interface (UI) into the SharePoint Service Management page, thereby providing a common experience for administrators. Services benefit from common SharePoint administration tools such as Upgrade, Backup/Restore, and Account management. Administrators can use this common UI to manage, start, stop, group, associate, federate, and backup services.
Service developers can build their own administrative pages to manage their services and host them by using SharePoint Central Administration. Services can be configured to have their own additional specialized administrative roles. Service Administration can also be delegated to users who are not server farm administrators. In this case, the Central Administration UI is security trimmed to include only the pages that the Service Administrator has permission to access.
Management of Service Application Framework applications can be performed through either the Central Administration UI or Windows PowerShell.
Integration with Windows Communication Foundation
The Windows Communication Foundation (WCF) service model addresses communication between client and service. The SharePoint service model addresses deployment, management, and discovery of services in a server farm. These models are complementary, the Service Application Framework is ideal for deploying, managing, and discovering WCF service clients and endpoints
Round Robin Load Balancing
Service Application Framework provides round-robin load balancing.
SharePoint service applications are typically hosted on multiple machines and invoked from a service client application that is running on a front-end Web server. Service application proxy method invocations must be routed from the front end Web server to an appropriate application server by using a load balancing tool.
While SharePoint Foundation administrators do configure external load balancing solutions for front-end Web servers, they do not expect calls between front-end Web servers and application servers to require yet another external load balancer. SharePoint provides a simple round-robin load balancer implementation in the SPRoundRobinServiceLoadBalancer class, which can be enhanced or replaced by third-party developers as necessary. Service application proxies may use the built-in round-robin load balancer to route requests to the appropriate back-end service application.
Claims Based Identity
The claims-based identity model for SharePoint Foundation and SharePoint Server is built upon Windows Identity Foundation (WIF). This new identity model includes features such as authentication of users across both Windows-based systems and non-Windows-based systems, also multiple authentication types, stronger real-time authentication, a wider set of principal types, and delegation of user identity between applications.
When you build claims-aware applications, the user presents an identity to your application as a set of claims. One claim could be a user name, another claim might be an e-mail address. The idea here is that an external identity system is configured to give your application everything it needs to know about the user with each request, along with cryptographic assurance that the identity data you receive comes from a trusted source. Under this model, single sign-on is much easier to achieve. Service application authorization is performed by using claims. Web application calls to service applications are secured by using claims.
Backup and Restore
The Service Application Framework allows for easy integration with the SharePoint backup and restore tool.
Silverlight Integration and Cross-Domain Data Access
In Windows SharePoint Services 3.0, you could host a Microsoft Silverlight application in a Web Part. Microsoft SharePoint Foundation 2010 goes beyond by providing a built-in, extensible, Silverlight Web Part specifically designed to host Silverlight applications. Closely related to the new Web Part is Silverlight Cross-Domain Data Access (Silverlight CDA) that enables secure, cross-domain, integration between Silverlight applications and SharePoint Foundation deployments, and Silverlight CDA can be used by non-Silverlight external applications as well.
Silverlight Web Part
Adding a Silverlight application to your SharePoint Foundation solution need not require any SharePoint Foundation development at all in the simplest case: Users install your Silverlight application on the same domain as their SharePoint Foundation Web application and add the hosting Silverlight Web Part through the UI. All they need supply is the URL of the application. If the Silverlight application accesses SharePoint Foundation data and is hosted on a server outside the domain of the Web application, you create External Application XML that users, in turn, use to register the hosting Silverlight Web Part. A built-in Silverlight Tool Part is also part of SharePoint Foundation 2010.
Silverlight Cross-Domain Data Access
It can be a great advantage to SharePoint Foundation users to be able to host applications that are in a different domain from the SharePoint Foundation Web application, because many such applications can be hosted on an application server and made available to all Web applications in the farm. SharePoint Foundation 2010 introduces Silverlight CDA to make this scenario possible in a secure way. Silverlight CDA enables administrators to control the permissions of the external applications without unduly restricting the ability of users to add Web Parts hosting these applications to Web Part pages. The application logs on to the SharePoint Foundation Web application as a distinct type of user known as an application principal. The application’s permissions are the intersection of the permissions that the administrator has granted this special user and the permissions of the real user who opened the Web page containing the Web Part that hosts the application.
The user interface (UI) in Microsoft SharePoint Foundation has been upgraded significantly. This includes the introduction of the Server ribbon, a revamped master page, and new cascading style sheets (CSS). Each of these enhancements creates a more consistent experience for users across pages and makes it easier to work with objects inside SharePoint Foundation.
User Interface Improvements
The following elements have been upgraded in SharePoint Foundation.
The Server Ribbon
The Server ribbon was introduced to make the command surfaces in SharePoint Foundation easier to use. The commands are logically grouped into tabs and groups to help users find commands more easily. The ribbon can also be extended to include customized tabs, groups, and commands
In SharePoint Foundation application pages now reference the site master page. Site and application pages now contain the same content placeholders in SharePoint Foundation. Administrators can turn off custom master pages for application pages as well.
Cascading Style Sheets
The cascading style sheets in SharePoint Foundation have been revamped. The CSS has been divided into multiple files to enable more targeted customization scenarios and to improve page loading performance.
This topic introduces the new logging features available to Microsoft SharePoint Foundation 2010 developers, as well as the improvements made to the existing logging mechanisms.
New for Logging
The following features are new to logging in SharePoint Foundation.
The SPMonitoredScope is a code attribute that, when applied to a class or method, allows a developer to write logging information to the SharePoint Foundation usage database with complete application information and custom strings.
Request Usage Database
The request usage database allows the capture of every SharePoint Foundation resource request that is made as a page is rendered.
The developer dashboard is a utility that a developer can enable when debugging a SharePoint Foundation Web page. Similar in concept to ASP.NET tracing, this dashboard displays all the details of the request to the user.
In Windows SharePoint Services 3.0, the only way to write to SharePoint Trace Logs and Unified Logging System (ULS) Logs was to implement the IDiagnosticsManager interface, which required additional code to implement. However, in SharePoint Foundation, the preferred method is to use the SPDiagnosticsServiceBase class, which contains simpler and more efficient ways to interact with ULS Logs, specifically, the WriteEvent and WriteTrace methods that are simple to implement.
Windows PowerShell for SharePoint
Windows PowerShell™ command-line interface is a new command-line tool and supporting scripting language from Microsoft that complements Cmd.exe in the Windows administration context. In the SharePoint administration context, Windows PowerShell supersedes the Stsadm.exe administration tool. Moving forward, you should use Windows PowerShell scripting technology to develop any new command-line scripts in SharePoint Foundation 2010.
In Windows SharePoint Services 3.0, the Windows Workflow Foundation provided a highly extensible workflow model to the SharePoint platform. Microsoft SharePoint Foundation 2010 continues to build upon the functionality available in Windows SharePoint Services 3.0 and improves and expands your options so that you can build rich workflows that can accommodate even more complex business scenarios. This topic presents the new features that are available for workflows in SharePoint Foundation 2010.
The following is a list of the improvements and additions that have been added to the new product version.
New Workflow Activities
New workflow actions are built into the core installation of SharePoint Foundation. Workflow activities (also known as actions) are the building blocks of all workflows, and the addition of new activities gives you greater flexibility in your workflow design.
New Workflow Activities for SharePoint Foundation
Pluggable Workflow Services
Pluggable workflow services are now available that allow you to create workflows that interact and receive data from external sources.
Pluggable Workflow Services
Workflows in Windows SharePoint Services 3.0 were built to respond to a limited number of events. In SharePoint Foundation, workflows can interact with even more events. SharePoint Foundation also gives you the ability to create your own custom events and event receivers.
New Workflow Events
New site workflows break the dependency that Windows SharePoint Services 3.0 workflows had on list items. Site workflows now allow you to develop workflows that can be associated with specified events and other workflow activities.
Reusable Declarative Workflows
In the previous version, workflows were associated only with a specified list or document library and could not be packaged and deployed or copied to other lists or document libraries. In SharePoint Foundation, declarative workflows are reusable, which allows you to apply your workflow development efforts for one list to multiple places.
Source : SDK