Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

7
  • 2
    Interestingly, Martin Fowler advocates against the same interface for local and remote invocation, arguing that the huge performance difference in remote invocation forces a more coarse grained interface. Commented Aug 29, 2012 at 22:41
  • I didn't quite understand your paragraph With CRM, Sales and Inventory there will be a lot of CRUD-type use cases of which there is almost always a one-to-one correspondence with Service Layer operations - if it's all about multiple UIs so how do the CRUD get in here? And if I wouldn't need multiple UIs even though the CRUD goes well with services I would still not make a service layer, if I understood correctly, and I really I hope I did because I prefer to keep things simple (service layer is a mess to my inexperienced opinion) Commented Sep 4, 2012 at 21:10
  • 4
    In those cases it's rare that there would be only one client that can take advantage of it. If you only had one UI I can think of two reasons that you may still want the service layer: security and reusability. A typical enterprise setup would have the UI app available to external clients, and your service layer only available in the network. So the web server delagates the work to a locked down portion of your network. In the sales example you could have re-use if you take sales from your web site and expand to eBay or Amazon. Now you have one UI, yet multiple clients. Commented Sep 4, 2012 at 22:16
  • 5
    Just to add to the comment from @PhilPatterson. Multiple clients don't just have to be UI based. Think web services or libraries - they can also be clients. Your front end UI might use the service layer as well as the software services you package and let someone else use. Commented Sep 5, 2012 at 2:02
  • can you provide an example of a Service Layer? Commented Mar 26, 2013 at 10:31