Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint

Chapter Summary

  • The four tenets of SOA are that boundaries are explicit; services are autonomous; services share schema and contract, not class; and service compatibility is based upon policy. To provide SoC, divide your application into three layers: Presentation (the UI), Business Logic (where the bulk of code belongs), and Data (a database).

  • When designing services, consider cohesion (how methods are grouped into services), service granularity (how many different methods are grouped into a service), and method granularity (how many different capabilities an individual method has). For Internet web services, choose a protocol based on HTTP, such as wsHttpBinding or WSDualHttpBinding. If all clients use the .NET Framework and are located on the intranet, you can choose netTcpBinding or NetMsmqBinding. Always validate data that crosses a trust boundary, such as any data sent to a web service. Services can be synchronous (two-way) or asynchronous (one-way). Stateful exchanges require the service to store data for a client and retrieve it to process subsequent requests. In a stateless exchange, the client provides all the information required to complete each request. You should update the version number anytime you change functionality in your application, but not if you release a security update or fix a bug. You can host WCF services in four different ways: self-hosting, hosting within IIS, hosting within WAS, and hosting within a Windows service.


  

You are currently reading a PREVIEW of this book.

                                                                                                                    

Get instant access to over $1 million worth of books and videos.

  

Start a Free Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint