Monday, March 21, 2016

Basic Sectors of SharePoint Development


SharePoint contains huge number of technologies under SharePoint platform umbrella. According to the end user information in the industry, SharePoint is heavily used for document management, intranets, knowledge bases, web content management and business reporting tools.
According to the working experience of SharePoint development I would suggest that each and every SharePoint developer or beginner would pay attention to some basic as well as core sectors of SharePoint development. It would help to manage and understand SharePoint properly, furthermore it will assist you to gain more and more SharePoint knowledge based on that basic understanding. This would help you to come to a point that you can manage SharePoint properly.
As it is mentioned above, below shown sectors are the basic sectors of SharePoint development. This will help you to explore SharePoint through an appropriate path.

                        1.      SharePoint installation & configuration

This is the first sector, in order to use SharePoint it should be installed and configured properly according to the requirements.
·   Deciding the service applications which need to be provisioned according to the provided requirements.
·    Deciding the farm architecture (Whether the single farm, 2 tier farm or 3 tier farm architecture is used, but single tier farm is not recommended as the production environment)
·         Installation
1)      Windows (Windows should be installed in each and every server that are in the farm)
2)      SQL (SQL should be installed in each and every server which are in database layer)
3)      SharePoint (SharePoint should be installed in each and every server that are used in application server layer and web front end server layer)

·       Configuration (After the proper SharePoint, installation mandatory service applications and additional service applications should be created according to the requirement, furthermore in this installation users with proper permission level and proper application pools have to be used).


2.      Designing & development


When it comes to the designing phase design of the particular SharePoint solution should be aligned with best practices for best performance.
SharePoint development is normally divided in to two categories, developing solutions with SharePoint inbuilt features (no code solutions) and developing a custom solution by using visual studio, SharePoint designer, etc. In aforementioned custom solutions SharePoint object are accessed to fulfill operations. Ways of accessing SharePoint are listed below.

SSOM – It stands for Server Side Object Model and it allows to access SharePoint objects in server side.
CSOM (JSOM, REST api) – It stands for Client Side Object Model and it allows to access SharePoint object in client side.
Web services – SharePoint inbuilt web services allows to access SharePoint objects out of the SharePoint environment.
Below mentioned tools are widely used for custom developments.
·         Visual studio
·         SharePoint designer
Additionally, AngularJS is used as a framework that binds the HTML (View) to JavaScript objects (Model). 


                  3.      Branding

In this phase, mainly concerning about design and the usability of the SharePoint site. Below mentioned tools are widely used for branding
·         Photoshop
·         SharePoint Designer
Apart from that, SharePoint inbuilt features like device manger and device channel are used, moreover below mentioned technologies are used.
·         jQuery
·         Bootstrap
·         CSS3
·         HTML 5

4. Administration & troubleshooting

Administration is the way of managing and maintaining the SharePoint. In this case it mainly contains database administration, infrastructure administration, backup and recovery administration and disaster planning.
Mainly it needs the knowledge areas of networking, operating IIS, SQL, SharePoint central administration, STSADM and SharePoint PowerShell.
Apart from that, should have capability of managing services and scheduled jobs within the SharePoint environment, creating new sites and lists, installing new web parts, doing backups, managing the Shared Services, educating users on how to use features like InfoPath, managing governance policies and permissions.
Troubleshooting means, the ability to find and resolve the issues in SharePoint. Below mentioned tools are widely used to troubleshoot SharePoint.
·         ULS
·         Event Logs
·         SQL logs
·         Developer dashboard
·         Performance monitor
·         Health Analyzer
·         Fiddler


5. Migration and scaling out

SharePoint migration is the process of migrating the content of a SharePoint farm to another farm. The Upgrading refers to the process of converting the version of a SharePoint to a higher version (eg -: SharePoint 2010 to 2013)
In order to start SharePoint migration, a proper plan should be prepared for the particular migration. It should contained,
  • What should be migrated
  • How should be migrated
  • What are the important contents and where are those located
Basically three types of migration methods are used in the industry, those are listed below.
  • In-place migration
  • Database attached migration
  •  Using a well-supported third party tool

In SharePoint, “scaling out the farm” stands for adding one or more server roles to the existing farm. Web-front end servers, Application servers, database servers, search servers are the main server roles in SharePoint.
Web front end servers process incoming request by using IIS, request data from services and database, process received data and sending response to the request through a Asp.net page.
Application servers are the servers where the service applications are hosted.
Database servers contains all the databases which are dealing with SharePoint.
Search servers are the places where the search service application is hosted. This depends on the usage of the search service in the SharePoint farm. If the search service doesn’t need much resources and it is not used heavily, search service application can be hosted in application server as normal service applications.

                6.  Performance tuning

According to my working experiences SharePoint performance relies on many factors, but for easiness of understanding it can be divided below mentioned domains.
·         Windows server
1.      Windows server performance option
Computer>properties>Advanced system settings > Performance>Settings>visual effects   and select best performance option
2.      Page file size
Computer>properties>Advanced system settings> Performance>Settings>Advanced>virtual memory>settings
Page file size=RAM size * 1.5
3.      Use the Proper power plan
Start>Control Panel>Power Options > select the high performance
4.      Stop unused services
Spooler, AudioSrv, TabletLnputService, WerSvc services 
5.      Check Loopback
6.      Install latest and correct updates to the server.
7.      Define SQL rules on the firewall
8.      Exclude data, transaction and log files from real-time Antivirus scan.
9.      Put log and index files on separate disks

·         SQL
1.      Use dedicated server for sql, furthermore don’t use the default instant

<500GB data farm
500GB-1T
data farm
1T-2T
data farm
2T-5T
data farm
>5T
data farm
RAM
8
16
32
64
64+
CPU
4
4
8
8
8


2.      Check the disk and the NTFS allocation size of the particular drive.
Eg :- Use “chkdsk C:” for the drive and SQL has 64k

3.      Modify the model default database size to a maximum amount that is possible in the particular environment.
4.      Modify the auto growth of the model database, which is possible in the particular environment.
5.      Active back up compression
6.      Make Max degree of parallelism 1
7.      Exclude data files, transaction logs and back up files from Antivirus real time scanning.
·         SharePoint
1.      Try to avoid using the Product Configuration Wizard.
2.      20 web applications is maximum recommended for a share point farm.
3.      5000 site collections is maximum recommended for a Web application.
4.      Avoid “-Force” deployed as much as possible
5.  Avoid Global deployments (Scope) as much as possible unless or otherwise it’s needed.
·         IIS
1.      Wake up script

2.      Enabling BLOB cache in web config file.

 I hope this blog post provides the basic understanding to the beginners and developers who are willing to enhance their knowledge on the industry of SharePoint. 

Keep sharing the knowledge! :) 

No comments:

Post a Comment