Summary:This video continues the web development with Sharepoint 2010 course. In this video we are going to see an overview of the Sharepoint 2010 architecture from web development point of view. The video explain the main components, services, client applications and other elements of the Sharepoint 2010 enterprise, standard and foundation editions. Also, some of the main databases used are discussed by using a poster provided by Microsoft. Since the theoretical aspects of the Sharepoint architecture are very complex and must be known by the developer the video explain them by using figures and posters.
Methodology of the development of example:The video shows the architectural view of Sharepoint 2010 and the database used from a web development perspective
Technology Used:Windows 2008, Sharepoint, SQL Server
Keyword: Sharepoint, Architecture, Site Collection, SQL Server, Services, Database, models
Hello everybody, my name is Mauro Pichiliani [SP], and in this video we will cover the SharePoint 2010 web development course. This video will talk about the SharePoint architecture, and the database models. Since SharePoint is a very complex product provided by Microsoft, we must understand very well its architecture, and also its database model before we start programming.
So, this video will be more theoretical and we will show how the architecture of this product is assembled. First, I will open a folder on my desktop, and this folder will contain some figures, some images that will be available for the user that is seeing this video. The first figure that I will open, I will open it in Internet Explorer, let me drag and drop over here. OK. This first figure shows the overview of the SharePoint 2010 architecture.
The first point that we must understand is that there are several editions of SharePoint. The most basic one is called SharePoint Foundation, which is a free server, which means that you don't need to pay for that. However, it is not free as open source, it is free as royalty free, so you can install it and use SharePoint. SharePoint Foundation contains some elements, some components, such as the Sandbox and Code Service, Usage and Health Logging, config options, content and workflow. Although, we are not gonna go into detail of each of these components, it is important you understand that if we have SharePoint Foundation, it is enough to run a SharePoint server.
However, these are just basic components that we must use in order to develop for SharePoint. Beyond the SharePoint Foundation edition, we have the SharePoint server, which is also known as SharePoint Enterprise Server. Here in the figure, we just represent SharePoint server, but these other components are mostly found on SharePoint Enterprise Edition. Here, we can see that we have many components, each of these components are very complex, and they need a lot of study to comprehend and understand them. So, I just will talk a little bit about them.
We have the search service to provide search features in SharePoint sites, Excel calc services, to integrate better, only the calculation parts of Excel in SharePoint, user profiles for customization, business connection services, InfoPath services, in which the services required to run forms development in InfoPath. Word conversion services for conversions of currency, language, dates and so on. PowerPoint broadcast services, web analytics services, which are two services that are very important for people who work with BI, Business Intelligence in SharePoint. Visio graphic services so you can run graphics from visio inside SharePoint. Access services, the small database provided by Access. Managed Metadata, which is internal component and performancepoint. These are the main services and components of the SharePoint enterprise architecture. There are others, but these are the main service applications as this boxes groups them in SharePoint service applications.
We also have external products that integrate with SharePoint services, including Project Server 2010 in order to manage your organized projects using project service inside SharePoint. We can see over here that we have a component called Project Web services, we have Fast 2010, which is a more detailed service engine for SharePoint, although we already have search services, Fast 2010 is a more complex, a more featured project that we can integrate with SharePoint. We have Office Web App services to run applications based on the Office platform and third party services.
So, this is the main elements of the SharePoint 2010 architecture that run on the server. The client part can vary a lot, so we can have browsers, such as Internet Explorer, Firefox, Chrome and others acting as clients for a SharePoint server. Office clients, OneNote, InfoPath, Project, Outlook, all these software here are from Microsoft. We can also use RSS viewers to read feeds provided by SharePoint, the idea of an XML file that generates feeds. We have SharePoint Workspace which is a very important tool, SharePoint Designer to help create the user interface for SharePoint applications, visio and access. So, these are all the apps that can be used as clients for SharePoint server, either SharePoint Foundation or SharePoint Enterprise Edition.
Well, this was an overview of the main services and components of SharePoint and some information about the clients. Although this video is important to understand the overall picture, it is important we understand the main architectures and components focused on the develop. Since this is a very important aspect for the web developer that works with SharePoint. So, in order to do that I will open another image over here, which is a simple diagram that shows how the parts of SharePoint relate to each other. On the outermost circle, we have the server farm. Witch is the idea of several servers running together in order to provide a single point of access and place for all the SharePoint applications. It is the outermost concept that encapsulates the others.
After server farms, if you scroll down, we go to web applications, which we already saw in previous videos of this course. Inside web applications, we have the organization of site collections, which are basically a way to group different sites. So we can see that as we are going down the abstraction layers, we go to sites which are the main unit that the user navigates with the controls and other elements and inside the sites we have lists, libraries and others. Remember that in sites we have several different templates for sites such as documents collection and others. It is important to know that the user interacts in this part, and the other parts, the other layers are mainly of concern for the system administrator and developers.
The developers also need to be worried about this kind of place which contains the elements, such as lists, documents and others. So, this is a more overview view of how the layers of SharePoint components communicate with each other. So, we can see that on the topmost concept we have sever farms that encapsulate web applications, that encapsulate site collections, that contain sites, that contain lists, libraries and others. So, this is an overview of how an internal organization of a SharePoint architecture is presented. Next, let's see the last figure that I have here which is a more developer perspective for SharePoint. This figure over here is separated in two parts, the left part and the right part. Let's study them in detail one at a time.
The first one, on the left side, shows the first element as a farm. We can see that this farm is composed of several servers, and besides this first element, call it farm, we have this information, SPFarm, which we'll talk later on, the name of the class in a programming perspective that allows us to work with the servers of the farm.
Next, we have the servers, again, we have this SPServer class which we will talk about in the object model for programming SharePoint, and this is how we access these servers during a developing perspectice. Inside server, we have services. Again, we have this class, SPService. Inside Services, we have web services, which is a concept, we only use it in SharePoint. The web developers may have a concept of web services using for composition and others, but here in SharePoint it's a little bit different concept, so let's just say that web services contain a lot of instances, a lot of web applications which are number six in our list. So if we go from farm, servers, services, web services and then you have web applications inside web services.
Although, the web services also are related to number five, which is database service instance, which is used by two classes, SPService instance and SPDatabaseService instance from the object model of SharePoint. This database service instance stores databases mainly in SQL server which are called content databases. Again, we have two classes over here, SPDatabase and SPContentDatabase, to allow the access of this records through the program. And, lastly, we have these web applications over here that contain site collections, which is the last number we see here, the eight number.
So, this is the main hierarchy of elements from a developer perspective that must be known. Farm, server, services, web services, then we have database service instance, web applications, also content database and site collections, which is how the user interacts with a SharePoint application, through site collections. Let's continue our study of the architecture of SharePoint by seeing that beyond site collections, we go to this right side over here, and see that in the site architecture and object model overview, we have the site collection and inside site collection, we have this site collection structure. Which is defined by a top level web site, then subsites and others. You may have several subsites, and each subsite contains lists.
This is a very important concepts because lists are a generic name for the components that a user interacts with. We already saw some of the lists on previous videos of this course where users shows the lists, documents, and others. And, inside lists we have fields where the user can see the information, and list items, in that tabular form. So, this is how all the elements of the SharePoint architecutre are organized from a developer perspective. We will see later on videos of this course, how we can access through programming these classes through objects, and see how the architecture of SharePoint is handled via programming. But this is important to the developer to understand and know very well this organization of elements, because it is the site architecture of SharePoint. And, also, the object model as we can see the names of the classes.
So, to finish up let's take a look at the database structure, again without going into further detail. Again, I have over here Poster_DatabaseModels, which is Microsoft Visio document which I will open directly in Internet Explorer. I have a warning about ActiveX controls and scripts, I allow this content and show to you in this poster provided by Microsoft we have many information about the databases used by SharePoint 2010 products. Mostly, it is important to know that each version of SharePoint contains different databases. So, on this left side we have databases used by SharePoint 2010 foundation. We can see that each database is described on a very overview way, separated by this size and the color. Then, we can see that we have the databases of the standard edition, again, more databases separated by color and size. And, we have the databases used by enterprise edition.
Since enterprise edition is the most complete one, enterprise edition have the databases of the standard and foundation edition. Also, we have on this poster, the databases from SQL server, the system databases, we can see here, master and msdb, model and tempdb. And we also have databases used by other products, such as project server, we have the name of the databases, FAST search server, and PowerPivot for SharePoint. Also the database for reporting server. On the legend, we can see that the size of the visual element represents more or less the size of the database. Here we can see that the small database is 1 gigabyte, and extra large is 1 terabyte or more. Again, this will depend on your installation, but this is just a simple representation.
And also, the notations for the search server and the express and standard search server and this support for multiple databases. The scaled out option. This poster also shows information about the definitions, such as relative size for each database, co-location guidance, scale guidance, and others. So, this is a very important poster, although it does not contain internal details of the tables and relationships between the objects of the database. But, it is a very important overview. If the developer wants more information for each of these databases, he can access two links, we have these two links over here that points to the documentation containing information about database types and descriptions of SharePoint server and foundation. Again, a very high level overview, because these are complex databases with a lot of tables and relationships between them. Usually, we do not manipulate these tables directly, since we will be working with the objects and classes from the SharePoint object model.
However, if the DBA or developer wants more information for which databases are using by this SharePoint product, he or she can consult this poster that will be available and also the official documentation provided by Microsoft in these two links over here. So, with this we finish this video where we talked a little bit about the architecture of SharePoint 2010, and also a little bit about the database models without going into further detail. So this is it, hope to see you next time, good bye.