Application of SharePoint in the Russian web development market
Today I want to write about Microsoft SharePoint from the point of view of the person who organizes a new production line on this framework from scratch. Nevertheless, SharePoint is a rather new technology on the Russian web market, and few people know about it - the more information, the better.
In the second half of 2010, we at ADV started doing projects on SharePoint and faced both positive aspects (strong support from Microsoft guys) and negative aspects (a fairly new technology for the Russian market). But, in any case, it is pleasant and interesting to feel like a pioneer in introducing new technology.
Basically, SharePoint is a framework + CMS, 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 the 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 stages of coordination, the content is in the public part. The reverse process is built in exactly the same way - all user requests from an external site go to the intranet in the field of responsibility of the right person.
In order to give some idea of what the ladies platform is equipped with, for a start, a comparison with the popular Bitrix platform in our space, which is already familiar to the market, so it’s interesting to see what SharePoint gives.
I will not specifically touch upon the possibilities of integration and clustering, since it will be dishonest - after all, these are functions of industrial systems, and they are usually not required for tasks that are usually solved using Bitrix.
An unusual and at the same time useful feature of SharePoint turned out to be Excel Services - a service that allows you to use an Excel spreadsheet as a repository of data and calculation formulas for online calculators. Otherwise, both systems are similar in functionality.
If you want to use SharePoint to create public sites, then from the technological side some skill will be required.
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, if possible, it is better to use WebControls instead of WebParts - the functionality is similar, but the possibilities of customization for WebControls are much wider. There are also alternatives, for example, using the Model View Presenter template, but this is a topic for a separate article.
You will also have to conjoin with IIS and SharePoint settings to allow access by unauthorized users.
There are pluses:
Thus, after some time to “enter 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 very developed support system for its partners. From the BizSpark program, which allows you to get a large package of free software, to the allocation of SharePoint architects to help with specific projects.
For obvious reasons, I can’t show examples of intranets, so I’ll talk about the capabilities of SharePoint for building intranets, which we use in our work:
If the IT architecture of your company has already been built with the active use of MicroSoft technologies, then it is better to use SharePoint for internal and external web applications, because integration will be as simple as possible.
In addition, there are economical offers for lightly loaded solutions: MS SQL Express and Microsoft SharePoint Foundation - with these things you can build a web application for free.
After we decided to do projects on SharePoint, we faced several tasks:
We consider each of them in more detail.
Finding a SharePoint developer is a tricky business. The technology for Russia is still exotic, almost no one knows SharePoint 2010, so we have a mixed team. Basically, it consists of experienced .NET developers, whom we actively pump in 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 working with the “top ten”.
As a result, speaking from the point of view of hiring people, it is not necessary to look strictly for a “SharePoint developer”. It is quite acceptable to expand the vacancy to a ".NET developer", and then just train new employees in the intricacies of SharePoint, since there are many trainings, both online and offline.
About the same situation with the SharePoint administrator — we didn’t find the SharePoint administrator — in the end, we took a good Windows specialist, who was also trained in special courses.
We purchased equipment for organizing a test environment and development for SharePoint: computers with 16Gb RAM and 1Tb hard drive were developed for developers. Such capacities were needed to raise a virtual machine on the local host, similar to the server in terms of the amount of software delivered, which seemed a more acceptable option in terms of cost and performance than creating virtual machines on the server.
A separate server was needed to organize the development process:
There are several virtual machines deployed on the server to organize the process: A server with SharePoint to demonstrate the functionality, a continuous integration server (about it later), separately Sql Server, as well as Team Foundation Server (TFS). Separately, I want to say about TFS - this is a pretty convenient thing that combines version control, a bug tracker, a time tracker and an assembly server. Moreover, the tracker has presets for the Agile approach: dividing the project into iterations and user stories, setting the assessment task in points.
If you wish, you can add to all this free TeamCity and get a True Aglie process that includes a continuous integration server . Videocast how to make friends is all with SharePoint, there are 21 apps on the site .
An interesting fact is that large software vendors are actively developing the web direction. This is a big plus, because web developers inherit from "big development" a lot of accumulated knowledge and convenient tools for designing and developing projects, for organizing collaboration and publishing applications.
SharePoint technology itself is modern and developed - web applications can be made quickly and the applications themselves also work quickly. In addition, many large organizations in Russia have already deployed many server solutions from Microsoft, so SharePoint promises to be in demand.
I hope that over time more and more practical materials will appear on the Russian Internet that will make SharePoint as accessible as possible for beginner developers.
In the second half of 2010, we at ADV started doing projects on SharePoint and faced both positive aspects (strong support from Microsoft guys) and negative aspects (a fairly new technology for the Russian market). But, in any case, it is pleasant and interesting to feel like a pioneer in introducing new technology.
What can you use SharePoint for?
Basically, SharePoint is a framework + CMS, 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 the 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 stages of coordination, the content is in the public part. The reverse process is built in exactly the same way - all user requests from an external site go to the intranet in the field of responsibility of the right person.
How difficult is it?
In order to give some idea of what the ladies platform is equipped with, for a start, a comparison with the popular Bitrix platform in our space, which is already familiar to the market, so it’s interesting to see what SharePoint gives.
I will not specifically touch upon the possibilities of integration and clustering, since it will be dishonest - after all, these are functions of industrial systems, and they are usually not required for tasks that are usually solved using Bitrix.
SharePoint 2010 | 1C: Bitrix | |
Most requested services | ||
Tasks | + | + |
Business processes | + | + |
Workflow | + | + |
Employee cards, organizational chart | + | + |
Calendars | + | + |
News feeds | + | + |
Active Directory Integration, Outlook | + | + |
Visual content editor | + | + |
Inline editing right in the page | + | + |
Form constructor | + | + |
Excel services | + | |
Attack protection | + | + |
Statistics collection system | + | + |
Search with morphology and tags | + | + |
Live chat (including video) | + | + |
Editable storefronts (ala iGoogle) | + | + |
Multisite | + | + |
Organizational and technical parameters | ||
Clustering | + | + |
Availability of hosting providers | + | + |
Third-party module library | + | + |
An unusual and at the same time useful feature of SharePoint turned out to be Excel Services - a service that allows you to use an Excel spreadsheet as a repository of data and calculation formulas for online calculators. 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 some skill will be required.
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, if possible, it is better to use WebControls instead of WebParts - the functionality is similar, but the possibilities of customization for WebControls are much wider. There are also alternatives, for example, using the Model View Presenter template, but this is a topic for a separate article.
You will also have to conjoin with IIS and SharePoint settings to allow access by unauthorized users.
There are pluses:
- A large library of ready-made modules, including from third-party developers;
- You can always make your module from scratch on ASP.NET;
- A good in-line visivig with an “a la MS Office” interface that will be familiar to everyone 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 several sites on the basis of one web server: mobile version, language versions, promotional sites;
- In principle, it’s convenient to use SharePoint as an ECM
- Extensive caching options
- ASP.NET is not PHP, the compiled application runs faster than the interpreted script
- SharePoint is easily clustered and scaled. Combined with virtualization, scaling applications becomes an easy process.
Thus, after some time to “enter 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 very developed support system for its partners. From the BizSpark program, which allows you to get a large package of free software, to the allocation of SharePoint architects to help with specific projects.
Intranets
For obvious reasons, I can’t show examples of intranets, so I’ll talk about the capabilities of SharePoint for building intranets, which we use in our work:
- Easy integration of intranet and public site. For example, applications sent through a public website go to the pages of responsible people on the intranet. In addition, as I mentioned above, you can use SharePoint as an ECM and publish information from the intranet to a public portal.
- A lot of ready-made modules: workflow, calendars, integration with Outlook, search through pages and contents of documents, organizational structure, integration with Active Directory, etc. etc. to infinity.
When SharePoint is justified
If the IT architecture of your company has already been built with the active use of MicroSoft technologies, then it is better to use SharePoint for internal and external web applications, because integration will be as simple as possible.
In addition, there are economical offers for lightly loaded solutions: MS SQL Express and Microsoft SharePoint Foundation - with 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
- Windows Admin Search
- Organization of the test zone and development environment
We consider each of them in more detail.
Finding a SharePoint developer is a tricky business. The technology for Russia is still exotic, almost no one knows SharePoint 2010, so we have a mixed team. Basically, it consists of experienced .NET developers, whom we actively pump in 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 working with the “top ten”.
As a result, speaking from the point of view of hiring people, it is not necessary to look strictly for a “SharePoint developer”. It is quite acceptable to expand the vacancy to a ".NET developer", and then just train new employees in the intricacies of SharePoint, since there are many trainings, both online and offline.
About the same situation with the SharePoint administrator — we didn’t find the SharePoint administrator — in the end, we took a good Windows specialist, who was also trained in special courses.
We purchased equipment for organizing a test environment and development for SharePoint: computers with 16Gb RAM and 1Tb hard drive were developed for developers. Such capacities were needed to raise a virtual machine on the local host, similar to the server in terms of the amount of software delivered, which seemed a more acceptable option in terms of cost and performance than creating virtual machines on the server.
A separate server was needed to organize the development process:
There are several virtual machines deployed on the server to organize the process: A server with SharePoint to demonstrate the functionality, a continuous integration server (about it later), separately Sql Server, as well as Team Foundation Server (TFS). Separately, I want to say about TFS - this is a pretty convenient thing that combines version control, a bug tracker, a time tracker and an assembly server. Moreover, the tracker has presets for the Agile approach: dividing the project into iterations and user stories, setting the assessment task in points.
If you wish, you can add to all this free TeamCity and get a True Aglie process that includes a continuous integration server . Videocast how to make friends is all with SharePoint, there are 21 apps on the site .
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 "big development" a lot of accumulated knowledge and convenient tools for designing and developing projects, for organizing collaboration and publishing applications.
SharePoint technology itself is modern and developed - web applications can be made quickly and the applications themselves also work quickly. In addition, many large organizations in Russia have already deployed many server solutions from Microsoft, so SharePoint promises to be in demand.
I hope that over time more and more practical materials will appear on the Russian Internet that will make SharePoint as accessible as possible for beginner developers.