Greg Hurlman: Developing Custom Service Applications


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • SPServiceEvery SPService object has an Instances property that holds all the instances of the service that are running on various servers in the farm. No more than one instance of each service runs on any one server, but some services have multiple instances, each one running on a different server. Each instance is represented by an object of a class derived from SPServiceInstance.SPServiceInstanceSPServiceInstance represents an instance of a service on a server in the farm. A service instance is independent from, and identical in functionality, to all other server instances of the same type. As long as one service instance of a given service remains online, the service is fully functional. Service instances may be in the ’started’ or ’stopped’ state. A service instance provides the host process for service applications.SPServiceApplicationA service application is hosted by a service instance. Service applications are generally created by administrators. They provide the service interface, containing the administrator settings. Service applications may own user data.SPServiceProxyA SPServiceProxy is simply the parent of the SPServiceApplicationProxy. It is the equivalent of a SPService on the server side, which is the parent of a SPServiceApplication. You can also think of these parent objects as class factories for the child objects, if that makes more sense to you.SPServiceApplicationProxyService application proxies provide the public (front-end) interface to a service application. They allow client code to consume remote service applications. Service applications may not be installed locally and therefore cannot be called directly.
  • Greg Hurlman: Developing Custom Service Applications

    1. 1. Developing Custom Service Applications: When, Why, & How<br />Greg Hurlman<br />
    2. 2. Who is this guy?<br />Programmer for 20 years<br />.Net Developer for 9 years<br />SharePoint Architect @ Avanade<br />Blog:<br />Twitter: @ghurlman<br />
    3. 3. What is a Service Application?<br />Shared Service Providers are no more<br />Limited function<br />Limited scope<br />Configuration hassles<br />
    4. 4. What is a Service Application?<br />Service Applications are the answer<br />Fully extensible<br />True “cloud” services<br />More straightforward config<br />
    5. 5. What is a Service Application?<br />Service Applications are the answer<br />Fully extensible<br />True “cloud” services<br />More straightforward config<br />Custom Service Apps get a lot for free<br />
    6. 6. Why a SharePoint Service?<br />Custom Service Apps get a lot for free<br />Settings Store<br />Load balancing<br />Easy use of SharePoint backup/upgrade/restore<br />Provisioning infrastructure<br />Service Discovery<br />Administration UI<br />SharePoint interaction totally optional<br />
    7. 7. When use a Custom Service?<br />Yes<br />Sharing data across SharePoint boundaries<br />Long-running processes<br />Encapsulating unique business logic<br />Easy scalability<br />No<br />Site/Site Collection specific functionality<br />Data/Features specific to a site template<br />
    8. 8. Service Apps – How do they work?<br />Made of many parts<br />Database(s)<br />Service itself<br />Service Application<br />Service Endpoint<br />Service App Proxy<br />Consumed in many ways<br />Web parts<br />Event Listeners<br />Workflows<br />Application Pages<br />Other Services<br />Etc.<br />Browser<br />Client App<br />SP Web Front End<br />Web Parts, Events, etc.<br />Service Application Proxy<br />SP App Server<br />Service Endpoints (*.svc, *.asmx)<br />Service Assemblies<br />SQL Server<br />Config DB<br />Content DB(s)<br />Custom DB<br />
    9. 9. Anatomy of a Service App<br />SPService<br />One instance/server<br />SPServiceInstance<br />SPServiceApplication<br />Created by admins<br />Provides the internal service interface<br />SPServiceProxy<br />SPServiceApplicationProxy<br />Provides the front-end interface<br />Allows for client code consumption<br />
    10. 10. What you’ll need<br />Visual Studio 2010<br />Including the SharePoint Tools<br />SharePoint Foundation Server<br />Lots of time<br />
    11. 11. Now, on with the code<br />
    12. 12. 2 ASUS Netbooks<br />Also Some Books<br />1 Typemock Isolator License<br />A 2-5 Day Course from SetFocus on SharePoint<br />Telerik RAD Controls Set<br />1 DeliverPointWFE 2010 license (Worth $1500)<br />1 BCS Meta Man license (Worth $1200)<br />1 Lightning Conductor 2010 WFE license (Worth $800)<br />1 Lightning Storm Forums license. (Worth $600)<br />
    13. 13. Thank you sponsors!!<br />