Custom application development choices on Sharepoint 2010

Robert Koritnik
  • Custom application development choices on Sharepoint 2010 Robert Koritnik

    I'm about to start developing a custom business application on top of Sharepoint 2010. I haven't done anything on this product but client insists on it so I don't have a choice.

    Application info

    I have to build a complex business application that will use its own DB on MS SQL 2008 R2. Authentication will be done using client certificates and will connect to AD FS on the server side, but as this app will run under Sharepoint all this will be done by it. I won't have to handle authentication/authorisation.

    Application will run processor intensive business processes and it will support three different user access levels (admins, managers and users). Every business process will have at least one screen, but most probably more than just one. For instance I will have something similar to master/detail views, and I guess each of these should be a separate screen/webpart/whatever.

    Application will display custom controls that will support business processes. These controls will be custom made, because they're not used in usual applications.

    Application should be client rich, so I would like to use client libraries like jQuery or even better ExtJS if at all possible. It should be asynchronous using Ajax functionality.

    Some questions

    1. I can't decide whether to go with Visual web parts or Silverlight?
      I know there are other possibilities as well (like running separate Asp.net MVC applications inside Sharepoint), but I wouldn't want to do it that way even though it would be much easier for me to develop such applications, because I'm primarily hardcore Asp.net MVC developer. Which one will make itpossible to create a rich user interface?
    2. Develop on Sharepoint Foundation 2010 or Sharepoint Server 2010?
      I've seen differences in services they support, but since I don't have any development experience in Sharepoint I can't really say which ones are going to be imperative for my application. I would like to do it on Foundation, because I can re-sell the app without additional costs that Server brings with its licensing.
    3. Which services will most probably be used?
      I will most probably use Business Connectivity Service, but what about others like Managed Metadata Service, Secure Store Service etc?
    4. Should I provide a service layer API?
      I've read I could also provide my own WCF/Web service that would be my entry point to my business layer processes. Much can be done on the BCS level within Sharepoint then, but I'd still need my rich custom controls, that would display data in unusual ways.
    5. What about sandboxed solutions?
      Is this something I should use or not? Will it be too restrictive for actual use?

    I don't like inventing water so I'd like to ask you guys that've already done this kind of stuff and know which one is better/faster/easier/performant/etc.

    1. You are not limited to visual web parts or silverlight. If you are going to build an application that uses a lot of controls you can create your own Web Part Pages or application pages in SharePoint. Probably a combination of all is the best.
    2. I would say that you could use SPF2010 in this case, since you have not specifically asked for any of the SPS2010 services.
    3. Depending on your needs and how the application is going to be used/built you migth take advantage of the mentioned services. BCS is available in SPF. Secure Store is great for assymetric storage of passwords etc etc
    4. Yes you can! If you need to add WCF services, which you might use in Silverlight you can do so.
    5. Sandboxed solutions are great, but as you say it is very restrictive. As a general rule of thumb I strive to build the solutions for the sandbox to start with.

    If you need more answers, please be more specific and post one question at a time - it's easier to track the discussion then.

  • As addition to what Wictor say, consider using a Service Locator. This will decouple consumers from implementations

    You should also definately look at application pages, that are very useful for the kind of application you are about to design.

Tags
development custom-web-app
Related questions and answers
  • I'm a SharePoint development beginner and I would like to develop a custom application on top of SharePoint Foundation 2010. I decided to write few visual web parts for simple logic and Silverlight web parts for complex application logic. My application will use its own data in a separate DB. The only connection between my DB and SharePoint DB will be users. Users will authenticate against SharePoint and access my application from there. Within my application (and DB), all these users will be hierarchically related (I don't know if this is easily possible in Active Directory so that I could

  • , to have each one as a 'subsite' feels like overkill, but that may just be because I'm not used to the terminology. I would ordinarily just think of them as subsections of a website. The 'Support... a support section for customers requiring a login Contact Us one web page with contact details The top-level sections in my hierarchy, i.e. Home, Company, Products, Support, Contact Us would share... again be in a separate site collection. I guess my general question is, what are the rules of thumb for when to use a site, when to use a subsite, and when to use a site collection?

  • I'd really like to prepare development environment for Sharepoint 2010. This is what I did: I installed Windows 7 x64 I installed VMWare Workstation Created a VM domain controller based on Windows... (Windows6.1-KB974405-x64.msu) Enabled all roles indicated in the list (IIS and WCF) Installed Sharepoint Foundation 2010 didn't run the product configuration wizard (yet) created two additional domain user accounts... Powershell as domain administrator (so I have rights to access domain accounts) I didn't install SQL Server 2008 KB 970315 x64, because I'm running R2 version - as I understand this is SQL Server 2008 SP2

  • to exist as the anchor and context of the workflow. What I've started thinking about is a more abstract sort of workflow and how it would be useful in SharePoint. Workflows are user driven processes after all but the workflow or business process might want to trigger on an event instead of a user needing something done. So perhaps an accident happens for example. The event might be manual... but I can't find anything ideal, or even just something I'm semi happy with. I'm hoping that people could answer with ways they can think of for using a workflow to drive further document creation

  • to Spreadsheet, but it does not appear to support automated subdivision of the list items into separate worksheets. I do not know if Excel Services that come with MOSS are capable of it, but we do not have MOSS so we cannot consider it an option for now. EDIT It seems that by mentioning "out-of-the-box", I am implying that I'd prefer something quick and simple. Let's dispel that. I do a lot of heavy work in the object model. I only mentioned the Export to Spreadsheet because that's the only available method I know of off-hand, and its options are limitted. So I am comfortable with all manner

  • 2010 SQL (Default Instance) SQL Server 2008 R2 64 Bit All the necessary steps in Spence's guide (domain accounts, permissions, rights, etc.) have been followed. The two FIM services on the APP... of my other service applications were started and configured. I then did a couple of reboots. I then used powershell to unprovision the synchronization service. I then started (provisioned) the synchronization service. The original errors are back, though BOTH the FIM services are started on the APP server. UPDATE From the ULS, this seems to be the error that is my plague. 07/09/2010 13:09

  • have 11 pages of document links, each with its own subheadings. So far I have it set where each document has a custom field called "Page" with a check box list of all the document pages...) Maintain current intranet organization and workflow Use only one document list without subdirectories NOTE: I am aware that this is not the most efficient or elegant way to do things, but these are the requirements I have been given for the project. NOTE2: It's also entirely possible that I am going about this the entirely wrong way (I'm new to SharePoint). If anyone could point me in the right

  • When I go to manage service applications in Central Administration and try to create a new service application like: New > Create a new service application, the link isn't active. My issue is I would like to create a Search Service Application after installing Search Server Express 2010. Do I need to run the Farm Configuration Wizard and install the below if I can create a Search Service... v3 to Sharepoint Foundation 2010 and then installed Search Express 2010 on top of it. Update 3: Yes the farm admin acct is the member of the local admin. What services are required to start to have

  • and they do not work. I have found the code that I can place in the machine.config file that turns off the check, but I would like to figure out what is going on with this. I have ensured that debug is set to false in the web.config file as well. It is only my user controls that are causing the issue, but I do not know why. So it would be nice if there was a list of known .Net assembles that were...I have created several custom user controls that I added to the Redering templates of some forms in a custom solution for WSS 3. Most of these templates have codebehind and they all are correctly

Data information