Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

When working with SharePoint 2010 Service Applications, you must create a lot of "plumbing" code. There is a service, a service instance, a service proxy, a service application, and a service application proxy.

Although there are some tutorials online, they just jump straight in. The docs on msdn.microsoft.com aren't any better.

Can someone explain in layman terms what is the purpose and responsibilities of all the above components?

share|improve this question

1 Answer 1

up vote 4 down vote accepted

Paolo Pialorsi has described it well in his book Microsoft® SharePoint® 2010 Developer Reference :

  • Service

    This is the actual service, with its own engine, data storage, and infrastructure. It can be hosted on a specific server of the farm, or it can be a third-pary service. For example, this could be an external ERP, or it can be a software component that will be installed in the farm.

  • Service Instance

    Represents a single instance of the service, running on a server of the farm. There can be multiple instances of a service running on multiple application servers. The service application architecture gives you the ability to provide services in a scalable, multi-server configuration, with a load balancer to dispatch requests to the servers.

  • Service Application

    This is a logical layer that makes the back-end infrastructure available to the farm. Whenever you use a service application, you do not care about where and how it is exposed. You do not care about the number and location of the physical service instances. You simply access the service application as a logical service.

  • Service Application Proxy

    This is the proxy that virtualizes the access to the service application. In general, it is used on front-end servers of the farm and allows accessing the service application transparently and independently from its actual location.

  • Service Consumer

    This is a page, a Web Part, or whatever else that runs on a server of the farm, consuming a service application through its service application proxy.

Below is the graphical view where each component stands in a Service Application :

enter image description here

share|improve this answer
    
Thank you for the explanation. I have a question though. What's the Service Application Proxy providing that the Service Application can't do? I mean, couldn't the service application be called directly (since it abstracts what's behind it) instead of having another layer in the Service Application Proxy? –  JohnDoDo Nov 25 '11 at 8:21
    
Service application proxy handles all the communication between the SharePoint WFE and the Service application running on one of the back-end application servers. The proxy interrogate the SharePoint farm for the location of the service application’s WCF endpoint. –  Amit Kumawat Nov 25 '11 at 9:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.