Today I want to write about Microsoft SharePoint from the point of view of the person who from scratch organizes a new production line on this framework. Still, SharePoint is a fairly new technology on the Russian web market, and very few people know about it - the more information the better.
Since the second half of 2010, we at ADV began to make projects on SharePoint and faced both positive sides (strong support from Microsoft) and negative (quite new technology for the Russian market). But, in any case, it is pleasant and interesting to feel like a pioneer in the introduction of a new technology.
')
What can SharePoint be used for?
Basically, SharePoint is a + CMS framework, on the basis of which you can build any web application. For example, we use it both for creating public sites and for intranets, although initially the platform was developed specifically for intranets.
We focus this platform on building systems with open business processes, i.e. when intranet and extranet are closely related to each other. For example, the process of publishing content is designed so that it begins on the intranet, then, after all the stages of coordination, the content is in the public part. Similarly, the reverse process is built - all requests from users from an external site fall into the intranet in the field of responsibility of the right person.
How hard is it?
To give some idea of ​​how the ladies platform is equipped to start a comparison with the popular Bitrix platform in our space, which is already well known to the market, it is therefore interesting to see what SharePoint gives.
I will not specifically address the integration and clustering capabilities here, it will not be fair, after all, these are functions of industrial systems, and they are not required for the problems usually solved with the help of Bitrix.
| SharePoint 2010 | 1C: Bitrix |
Most popular services | | |
Tasks | + | + |
Business processes | + | + |
Document flow | + | + |
Employee cards, organizational structure | + | + |
Calendars | + | + |
News feeds | + | + |
Integration with Active Directory, Outlook | + | + |
Visual Content Editor | + | + |
Inline editing right on the page. | + | + |
Form Designer | + | + |
Excel Services | + | |
Attack protection | + | + |
Statistics collection system | + | + |
Search with morphology and tags | + | + |
Online chat (including video) | + | + |
Editable Storefront (ala iGoogle) | + | + |
Multisite | + | + |
Organizational and technical parameters | | |
Clustering | + | + |
Availability of hosting providers | + | + |
Third-party module library | + | + |
Excel Services, a service that allows you to use an Excel spreadsheet as a data warehouse and calculation formulas for online calculators, turned out to be an unusual and at the same time useful SharePoint feature. Otherwise, both systems are similar in functionality.
SharePoint for public sites - pros and cons
If you want to use SharePoint to create public sites, then from the technological side, you will need some dexterity.
For example, to “stretch” a clean cross-browser layout with modern special effects, which is so important in public sites, it is better to study the book Professional SharePoint 2010 Branding and User Interface Design. It has not yet been translated into Russian, but there is a note on the Internet that will help you begin to understand.
In addition, whenever possible, it is better to use WebControls instead of WebParts - the functionality is similar, but the customization capabilities of WebControls are much wider. There are also alternatives, for example, using the Model View Presen Presenter template, but this is a topic for a separate article.
You also have to conjure with the settings of IIS and SharePoint to allow access to unauthorized users.
At the same time there are pluses:
- A large library of ready-made modules, including those from third-party developers;
- You can always make your module from scratch on ASP.NET;
- A good in-line view with an “a la MS Office” interface that will be familiar to anyone who has worked with Microsoft office applications;
- Built-in and fairly easy to use document management system for publishing content;
- It is easy to create multiple sites based on a single web server: mobile version, language versions, promotional sites;
- Basically, it’s convenient to use SharePoint as ECM
- Extensive caching options
- ASP.NET is not PHP, the compiled application runs faster than the interpreted script.
- SharePoint is easily clustered and scaled. In combination with virtualization, scaling applications becomes a very simple procedure.
Thus, after some time on “entering the topic”, SharePoint can become a flexible and convenient tool for creating public sites of any complexity.
I want to note that Microsoft has a strongly developed support system for its partners. Starting from the BizSpark program, which allows you to get a large package of free software, to allocate SharePoint architects to help with specific projects.
Intranets
For obvious reasons, I cannot show examples of intranets, so I’ll tell you about the SharePoint capabilities for building intranets that we use in our work:
- Easy integration of intranet and public site. For example, applications sent through a public site, get on the intranet on the pages of responsible people. In addition, as I mentioned above, you can use SharePoint as ECM and publish information from an intranet to a public portal.
- Many ready-made modules: document management, calendars, integration with Outlook, search through pages and document contents, organizational structure, integration with Active Directory, etc. etc. to infinity.
When justified use of SharePoint
If your company's IT architecture is already built with active use of MicroSoft technologies, then it is better to use SharePoint for internal and external web applications, because the integration will be as simple as possible.
In addition, for not very loaded solutions there are cost-effective offers:
MS SQL Express and
Microsoft SharePoint Foundation - with the help of these things you can build a web application for free.
The practice of creating a production line
After we decided to do projects on SharePoint, we faced several tasks:
- Search for SharePoint developers
- Search for a Windows administrator
- Organization of test zone and development environment
Consider each of them in more detail.
Finding a SharePoint developer is pretty tricky. The technology for Russia is still exotic, virtually no one knows SharePoint 2010, so we have a mixed team. It mainly consists of experienced .NET-developers, whom we actively pump in the
courses on designing and developing SharePoint 2010 applications . There are also people who already have experience with SharePoint 2007, it was easier for them to get involved in the work of the "top ten".
As a result, if we speak from the point of view of hiring people, it is not necessary to search strictly for the “SharePoint-developer”. It is quite acceptable to expand a job to a “.NET-developer”, and then just train new employees in the finer points of SharePoint, since there are many trainings, both online and offline.
Approximately the same situation with the SharePoint administrator - we didn’t find the SharePoint administrator - as a result, we took a good Windows-based specialist, who was also trained in special courses.
For the organization of the test environment and development for SharePoint, we purchased equipment: developers with computers with 16Gb of RAM and 1Tb hard disk. Such capacity was needed to raise a virtual machine on a local host, similar to a server in terms of software delivered, which seemed to be a more reasonable option in terms of cost and performance than creating virtual machines on a server.
A separate server was needed to organize the development process:

Several virtual machines are deployed on the server, for organizing the process: Server with SharePoint for demonstration of functionality, server for continuous integration (about it later), separate Sql Server, and also Team Foundation Server (TFS). Separately, I want to say about TFS - this is quite a handy thing that combines version control, a bugtracker, a time tracker and an assembly server. Moreover, the tracker has presets for the Agile-approach: splitting a project into iterations and user stories, setting a task in points.
If you wish, you can add free
TeamCity to all this and get a True Aglie process that includes a
continuous integration server. Video casts how to make friends with all this SharePoint is on the site
21 apps .
Development prospects
An interesting fact is that large software vendors are actively developing the web direction. This is a big plus, because web developers inherit from the “big development” a lot of accumulated knowledge and convenient tools for designing and developing projects, for organizing collaboration and publishing applications.
By itself, the SharePoint technology is modern and advanced - web applications can be made quickly and the applications themselves also work quickly. In addition, many large server organizations from Microsoft have already deployed many server solutions from Microsoft, so SharePoint promises to be in demand.
I hope that, over time, more practical materials will appear on the Russian Internet that will make SharePoint as accessible as possible to novice developers.