locked
Sharepoint development from a developers point of view RRS feed

  • Question

  • I hear a lot of talk about Sharepoint these days, but I'm having problems grasping exactly what it is through all the enterprise and marketing jargon. Trying it out hands-on seems too much of a hassle as well (several heavy software packages that you can't just download for free).

    Could someone give a good developer-to-developer description of what Sharepoint is? I'd especially like to know what Sharepoint developers generally do.

    Sunday, November 23, 2014 7:04 AM

Answers

  • SharePoint is a very complex CMS (Content Management System) with a lot of nice BSS (Business support system) features. There are so many advantages of it that it's hard to limit what to mention. However, some of the obvious stuff would be that you can mix so many "environments" at the same server, these environments are separated as sites.

    What do I mean by environments?

    Let's say you run a logistics company and are sick of having so many different systems just to keep your business up and running. Many of the systems also have different providers so the ecosystem around the company gets equally complex as well, here comes SharePoint to the rescue since it's a system that actually can host all required environments. In example.

    • External web page, hosted either by SharePoint or by an integrated web page
    • Order management
    • Customer support and ticketing
    • Item handling of freight
    • Intranet sites with document management

    Each and every of these environments can benefit from SharePoints built-in features like workflows and custom content types.

    I'd say that the foremost reason to choose SharePoint would be it's versatility of storing different types of data. It's not a system to choose if you are planning one million transactions each second even if the performance can be greatly upgraded with several servers in a farm.

    My point of view as a developer is that SharePoint is pretty much all about the lists since it's where the data is kept. How you choose to develop and set up SharePoint is a bit up to yourself as a developer. Some developers love their XSLT and some are more into custom built web parts deployed directly into the GAC. I'm one of those GAC dudes.

    The most common assignment in my world would be integration SharePoint with an external CMS, like EPIServer or Joomla, to set up an integration where the visitors shall be able to send messages from the web directly into SharePoint. These assignments then trails into creating a workflow what will happend with this message when it's received by the customer support / sales staff or whatever, all the way until the errand can be closed. When done with this I might build some graphs in a custom web part using mschart displaying some sales data or statistics of support errands. Currently im planing the data structure using SharePoint as a webshop. And there you go again, versatility!

    There is also a very powerful API in SharePoint if you are into integrations. I am myself involved in the production of an ADO.NET Connector for SharePoint which turns SharePoint into a SQL server enabling developers to skip using CAML. And, there are plenty of other cool tools out there.

    Let's not forget the second biggest advantage of using SharePoint. You can focus on forward development, the backend is already there.

    • Marked as answer by SebastiaNyst Saturday, November 29, 2014 9:00 AM
    Monday, November 24, 2014 12:03 AM

All replies

  • Hi,

    SharePoint is a very huge and wealthy product from Microsoft, it provides, collaboration, Enterprise Search, Business Intelligence, Business connectivity to other external systems, workflows, several templates, social networking.

    Above all that developers can build solutions to extend functionality, change portal appearance, create workflows, build web parts even with the new Apps model you can build apps to be hosted on premise or over Office 365.

    check those links about SharePoint:

    http://office.microsoft.com/en-in/sharepoint/sharepoint-2013-overview-collaboration-software-features-FX103789323.aspx

    https://products.office.com/en-us/sharepoint/sharepoint-2013-overview-collaboration-software-features

    Training for Developers:

    http://www.microsoftvirtualacademy.com/training-courses/developing-microsoft-sharepoint-server-2013-core-solutions-jump-start

    http://blogs.msdn.com/b/vesku/archive/2012/07/17/sharepoint-2013-it-pro-and-developer-training-materials-released.aspx

     


    Kind Regards,

    John Naguib

    Technical Consultant/Architect

    MCITP, MCPD, MCTS, MCT, TOGAF 9 Foundation

    Please remember to mark your question as answered if this solves your problem

    Sunday, November 23, 2014 7:37 AM
  • SharePoint is essentially an IIS/.Net based content management system. All the content (web pages, files, data) is stored in SQL databases. 

    There's a lot of functionality that can be configured out of the box. However, from a developers perspective, SharePoint offers rich server side (via API's) and client side (via web services) functionality that allows you to build custom solutions. With all your solutions, content is generally stored in SharePoints content databases. 

    This is one of benefits of using SharePoint. All of the basic functionality is there for you; CRUD (create, read, update, delete) operations, auditing, security, a provisioning model (for fields, lists, etc), full text search. 

    SharePoint development can mean vastly different things to different people. It depends whether you are storing data in or out of SharePoint, developing a client side solution, or server side solution, extending existing functionality, or creating new functionality. The possibilities go on and on!


    Regards, Matthew
    MCPD | MCITP
    My Blog
    View Matthew Yarlett's LinkedIn profileView Matthew Yarlett's profile

    See my webpart on the TechNet Gallery that allows administrative users to upload, crop and format user profile photos. Check it out here: Upload and Crop User Profile Photos

    Sunday, November 23, 2014 11:02 AM
  • SharePoint is a very complex CMS (Content Management System) with a lot of nice BSS (Business support system) features. There are so many advantages of it that it's hard to limit what to mention. However, some of the obvious stuff would be that you can mix so many "environments" at the same server, these environments are separated as sites.

    What do I mean by environments?

    Let's say you run a logistics company and are sick of having so many different systems just to keep your business up and running. Many of the systems also have different providers so the ecosystem around the company gets equally complex as well, here comes SharePoint to the rescue since it's a system that actually can host all required environments. In example.

    • External web page, hosted either by SharePoint or by an integrated web page
    • Order management
    • Customer support and ticketing
    • Item handling of freight
    • Intranet sites with document management

    Each and every of these environments can benefit from SharePoints built-in features like workflows and custom content types.

    I'd say that the foremost reason to choose SharePoint would be it's versatility of storing different types of data. It's not a system to choose if you are planning one million transactions each second even if the performance can be greatly upgraded with several servers in a farm.

    My point of view as a developer is that SharePoint is pretty much all about the lists since it's where the data is kept. How you choose to develop and set up SharePoint is a bit up to yourself as a developer. Some developers love their XSLT and some are more into custom built web parts deployed directly into the GAC. I'm one of those GAC dudes.

    The most common assignment in my world would be integration SharePoint with an external CMS, like EPIServer or Joomla, to set up an integration where the visitors shall be able to send messages from the web directly into SharePoint. These assignments then trails into creating a workflow what will happend with this message when it's received by the customer support / sales staff or whatever, all the way until the errand can be closed. When done with this I might build some graphs in a custom web part using mschart displaying some sales data or statistics of support errands. Currently im planing the data structure using SharePoint as a webshop. And there you go again, versatility!

    There is also a very powerful API in SharePoint if you are into integrations. I am myself involved in the production of an ADO.NET Connector for SharePoint which turns SharePoint into a SQL server enabling developers to skip using CAML. And, there are plenty of other cool tools out there.

    Let's not forget the second biggest advantage of using SharePoint. You can focus on forward development, the backend is already there.

    • Marked as answer by SebastiaNyst Saturday, November 29, 2014 9:00 AM
    Monday, November 24, 2014 12:03 AM