programming4us
programming4us
ENTERPRISE

Understanding the Architecture of SharePoint 2010 : Logical Architecture Components (part 1) - Service Architecture, Operating System Services

11/23/2012 2:38:42 AM

1. Enterprise Architecture

When the enterprise architecture plan for SharePoint 2010 was being developed, the following core concepts were central to the long-term vision for success. The team wanted a product architecture that would be

  • Modular

  • Extensible

  • Scalable

1.1. Modular

The architecture of SharePoint 2010 is highly modular—that is, it is composed of separate parts—which represents a separation of concerns that improve the ability to maintain the product by enforcing logical boundaries between components. Central to a modular architecture is the concept that each modular component has minimal dependency on other components. This allows the larger application to be broken down into smaller component modules that, although they are not dependent on each other, come together to form the larger application.

Another feature of module architecture is the ability to reuse each module when needed as a building block for higher-level application elements. For example, the User Profile Service exists as a composition of various modular components. Each of those components potentially can be reused to create other services as well. Higher-level application components lay on top of the User Profile Service and its components.

Each separate encapsulated service within the system is connected through a set of common rules and standards known as a provider framework. This allows the underlying services to be exposed for presentation, management, and deployment processing. These services are the building blocks on top of which the application rendered in the browser becomes available.

1.2. Extensible

Extensibility is an architecture and design principal ensuring that an implementation takes future growth into consideration. Planning for future growth within the current architecture can minimize the effects of future changes. Extensibility provides integration capability that can be utilized in the implementation of future change or enhancement.

The architecture of SharePoint 2010 is highly extensible. In fact, many of the underlying components are built with an exposed application programming interface (API). As expected, these interfaces are available to third-party developers through the release of a software development kit (SDK). Furthermore, the product teams developing SharePoint also use this extensibility when developing many of the user-facing features of the product. Many included product features are delivered as SharePoint Features and Feature Elements, which represent extensions to the modular building blocks that form the base architecture of the system.

1.3. Scalable

One of the most important aspects of the overall system architecture for SharePoint 2010 is scalability. Microsoft wanted to be sure that the deployment of the software could be tailored to the specific anticipated needs of each individual implementation. SharePoint 2010 provides you with the ability to scale both out and up to meet the specific demands of your implementation. If you need more user interface capacity, you can add more Web front-end servers. If you need additional service capacity, you can add more application servers. If you need additional database capacity, you can add a database server. If you need to be able to handle more file caching or larger upload file sizes, you can add more system resources to existing servers. Whatever your particular needs, SharePoint 2010 allows you to design a topology that meets those needs with almost limitless flexibility.

2. Logical Architecture Components

The system architecture of SharePoint 2010 allows many of the application tier services to leverage the same underlying common services, such as storage and security. This allows for the uniform management of these services across the enterprise. Likewise, the presentation layer components share compatibility with the application tier services. This ensures that the entire service architecture is grouped logically both from the bottom up and from the top down.

From the bottom up, the architecture is organized into a set of independent services, whereas from the top down, the architecture is organized into a set of applications that use those services. The grouping of services into applications has simplified both the administration and the deployment of SharePoint 2010.

2.1. Service Architecture

With SharePoint Server 2007, Microsoft went to great lengths to move toward service-oriented architecture (SOA). Although the spirit of SOA was embodied within the product through the Shared Services Provider (SSP), having a single service application endpoint through which multiple services were exposed led to limitations. For example, most of the underlying interfaces for the SSP were not extensible by third parties, making it impossible to create your own services for use within the architecture. Other limitations, such as the inability to consume services including search and user profiles across the wide area network (WAN), also hampered the concept.

In SharePoint 2010, the service application architecture has been completely reorganized. The SSP concept has been abandoned in favor of a federated type of service application architecture that allows separate services to work together efficiently.


Note:

Federation is the standardization of information systems and their means of interconnectivity, allowing user’s data in one system to be transferred, and used by, another system.


The service architecture is based on two main components, the service application and the application proxy or connector. The service application is the manifestation of the actual service itself, which is reliant on a service instance running on an application server. The service is self-contained in that it includes both the functionality and the administrative interfaces for managing the service. The service is exposed to other applications using an endpoint that is made available through a service proxy. Each application connects as a client to the proxy, which in turn takes requests from the application and makes requests of the service on behalf of the application.

This architecture is incredibly flexible and extensible, allowing third parties to create service applications for use within the architecture, as well as providing for the consumption of those services across the entire enterprise. For example, this architecture could allow a single User Profile Service application that is consumed by multiple farms in different geographical locations.

Table 1 represents the service applications included with SharePoint 2010 by default. Additional service applications are present, but those listed in this table are the only ones that are configurable through the SharePoint Central Administration interface.

Table 1. SharePoint 2010 Service Applications
SERVICE APPLICATIONEXPLANATION
Access Database ServicesProvides server-side processing and rendering of data stored in Microsoft Access databases.
Business Data ConnectivityProvides server-side access to line-of-business application data.
Excel ServicesProvides server-side processing and rendering of data stored in Microsoft Excel spreadsheets.
Managed Metadata ServiceProvides enterprise taxonomy, managed metadata storage, and content type syndication.
PerformancePoint Service ApplicationProvides Business Intelligence functionality previously provided as part of Microsoft PerformancePoint Server.
Search Service ApplicationProvides unified content crawling and indexing as well as federation.
Secure Store ServiceReplaces the single sign-on (SSO) feature.
User Profile Service ApplicationProvides user profiles, user profile synchronization, My Site settings, and social tagging.
Visio Graphics ServiceEnables dynamic viewing, refreshing, and sharing of data-driven Microsoft Visio 2010 diagrams.
Web Analytics Service ApplicationProvides Web analytics and usage analysis.
Word Automation ServicesProvides server-side conversion of documents into formats that are supported by the Microsoft Word client application.

Figure 1 illustrates the larger logical component and application architecture of SharePoint 2010. In the following sections, you will review each of the logical components presented in the figure, to provide you with more detailed information about how the various service and components fit together to form the SharePoint product.

Figure 1. The SharePoint 2010 logical architecture


2.2. Operating System Services

Windows Server 2008 provides the underlying architecture for the entire product. SharePoint 2010 requires the Windows Server 2008 64-bit edition and will not run on Windows Server 2003 32-bit or 64-bit editions.

The operating system provides access to storage, system level execution rights, and Internet Information Server 7.0 (IIS), on which the SharePoint service application and Web processes run. By separating the underlying operating system’s logical architecture and management from the service architecture of SharePoint 2010, the application remains abstracted from the operating system, and therefore largely isolated. This helps separate the management of the operating system from the management of the application, and it follows good architecture practices. It also provides the application architecture more flexibility to run on future version of the operating system.

2.3. Database Services

SharePoint 2010 stores both configuration and content in Microsoft SQL Server databases and provides a common storage architecture across the entire system. This removes the incompatibility issues associated with multiple disparate database systems. Although you can enable external storage of binary large objects, this requires additional setup and configuration; the out-of-the-box product uses SQL Server for content storage. SharePoint 2010 can run on Microsoft SQL Server 2008 or Microsoft SQL Server 2005, although SQL Server 2008 is recommended because of new database mirroring and external storage capabilities.

2.4. Workflow Services

A hallmark capability of SharePoint 2010 is the workflow engine. Workflow services provide workflow capabilities exposed to end users in the system, as well as the ability for the system to execute tasks needed to facilitate administration of the system. Workflow services also facilitate the automation of the content life cycle for documents, including approval, publishing, and disposition. In SharePoint 2010, workflow services are provided by Windows Workflow Foundation (WF), which is part of the .NET Framework 3.5.

2.5. Supporting Services

The supporting services shown in Figure 2-1 include Web Parts, Personalization, Master Pages, and the Provider Framework. These services are provided by the .NET Framework and ASP.NET 3.5. These dependencies provide the underlying process architecture within which most of the SharePoint 2010 application services run.

2.5.1. ASP.NET 3.5

ASP.NET 3.5 is a Web application development framework that was first introduced by Microsoft in 2002. It allows developers to build highly dynamic websites, applications, and services. SharePoint 2010 has been built on top of the ASP.NET 3.5 Framework, and consequently uses the Framework as a provider of many core functionalities provided in the product. Rather than create a custom rendering engine, the team at Microsoft wanted to ensure that the page rendering and extensibility framework of ASP.NET 3.5 was employed within SharePoint 2010 both to enhance performance and as a way to provide third-party developers with a well-defined technology platform for integration and extensibility.

In addition to providing a native page rendering engine, which renders pages on behalf of SharePoint 2010, ASP.NET 3.5 provides code execution security features such as the Safe Mode Parser and Safe Controls List. The Safe Mode Parser ensures that only code that is authorized for execution will be run on the server side. This ensures that inline code included in content pages uploaded to a site will not be executed. Administrators can control the compilation of pages within the Web.config file and specify the scope through which application pages can be rendered. The Safe Controls List provides administrators the ability to specify which controls are safe for execution on the server. This is done by using the bin directory on the server for a given Web application.

2.5.2. Web Parts

The Web Part Framework used within SharePoint 2010 is inherited from ASP.NET 3.5. This provides additional flexibility for developers as well as a standard interface for the rendering of Web Parts within the system. Web Parts are modular, reusable, application server controls that can be added by end users at run time using the browser. Web Parts allow for end users to control the content, appearance, and behavior of the page. Web Parts can be dropped into a well-defined Web Part zone, which is a basically a designated place on the page within which Web Parts can be arranged and used. In specific circumstances, Web Parts also can be used within content areas on publishing pages. This capability is new in SharePoint 2010.

A Web Part consists of an assembly control that is installed on the server side and a Web Part Descriptor file. The assembly must be marked as a safe control for execution and must be stored either in the Global Assembly Cache (GAC) or in the Web application’s bin directory. The assembly provides all of the functionality of the Web Part, such as the placement of content configured for a Web Part instance and what to do with the configuration settings specified. The Web Part Descriptor file is an XML file that provides the capability to export and reuse the configuration settings and content stored within a Web Part instance. Each Web Part used on a page is the application of the stored descriptor file being laid over the server-side assembly. Users cannot upload Web Parts directly to the server but can apply exported descriptor files through import to instantiate a new instance of a Web Part already installed on the server.

2.5.3. Personalization

SharePoint 2010 provides a rich set of features and functionalities for personalization. Users can personalize Web Part Pages and list views so that they see their personalized view of the content stored in a way that meets their own needs. The content is shown through what is called a personal view of the content, as opposed to the shared view that is available to other users. Administrators can specify if users should be allowed to create personal views of content within a given Web application, site collection, site, or list.

SharePoint 2010 adds new social features that enrich the personalized experience for end users, making it easier to establish their own personal identity with the organization as well as to connect with others. Additionally, users can target content to specific groups or users with audience targeting, making that content appear only to those users when viewed from the browser.


Note:

Audience targeting is not meant to be used as a security measure. The content that is targeted is still present in the content page or Web Part Page, so it will be viewable to users who have access to those pages in edit mode.


2.5.4. Master Pages

Master pages are also derived from ASP.NET 3.5. Master pages provide a structured content presentation framework for all pages within a given site or site collection. Designers can define specific content areas within a master page for used by page authors. After they are defined, master pages are used in conjunction with layout pages. Layout pages provide an even more detailed definition of how content may be rendered on a page. Only the content areas defined on a master page can be used within a layout page at design time. Only the content areas and/or elements (such as Web Part zones) specified within the layout page can be used by the page author when creating or modifying the page.

Together master pages and layout pages provide a uniform way for designer to present a consistent look and feel through a site, maintaining that experience over time. Master pages and layout pages are stored at the root of each site collection. Publishing sites provide additional flexibility and functionality in both master pages and layout pages.

2.5.5. Provider Framework

A provider framework is a set of rules and guidelines for communication between otherwise isolated system elements. Services are offered by providers using these rules and standards.

SharePoint 2010 uses services provided by the operation system, such as storage and security. SharePoint 2010 also uses services provided by IIS 7.0 and ASP.NET 3.5. You have seen how these services lay over one another to provide the set of unified services needed by SharePoint 2010. But how does SharePoint consume these services, and how does IIS get what it needs from the operating system? Because these services are provided through a framework, they can leverage the well-defined standards and guidelines for communication. This makes it possible to integrate additional services and elements at a later time that can also leverage underlying services and provide services to application level components.

The .NET Framework provides the set of rules and guidelines used by SharePoint 2010 for communications between services and application elements. Based on a common language runtime (CLR), the .NET Framework provides a flexible development environment for creating new application components and allowing them to interface with other dependent services or objects. Combined with its enforcement of code security and trust, managed code, and runtime complication of code for different processor architectures, the .NET Framework offers a solid set of standards that can be used by developers and vendors alike for the creation of interoperable components that will fit into an integrated provider framework.

Other  
 
Video
PS4 game trailer XBox One game trailer
WiiU game trailer 3ds game trailer
Top 10 Video Game
-   Company of Heroes 2: The British Forces [PC] Trailer
-   SDCC 2015: Plants vs. Zombies Garden Warfare 2 | Seeds of Time Map Gameplay Reveal
-   Microsoft HoloLens: Partner Spotlight with Case Western Reserve University
-   Cossacks 3 [PC] Musketeer Animations Trailer
-   Call Of Duty: Black Ops III [PS4/XOne/PC] Zombies - Shadows of Evil Trailer
-   No Time To Explain [XOne/PC] Multiplayer Trailer
-   Bierzerkers [PC] Early Access Trailer
-   Downward [PC] Kickstarter Trailer
-   Grip [PS4/PC] Trailer
-   Hitman [PS4/XOne/PC] Debut Trailer
-   Gears of War: Ultimate Edition [XOne] Recreating the Cinematics Trailer
-   Gravity Falls: Legend of the Gnome Gemulets [3DS] Debut Trailer
-   Street Fighter V [PS4/PC] Ken Trailer
-   Doctor Who | Series 9 Teaser Trailer
-   Transformers: Devastation | Gameplay Trailer (SDCC 2015)
Game of War | Kate Upton Commercial
programming4us
 
 
programming4us