Search This Blog

Saturday, June 9, 2012

SOA Best Practices - Performance and Security

Services should be structured, designed with security in mind. Security includes service security, transport security and message security. However, Security measures introduce some overhead. So, the performance trade-offs need to be measured carefully. 

1. Avoid transmitting large amount of data between your service and service consumers.
  • Accelerator technologies, such as compression, may also be able to effectively reduce some of the processing load.
  • Send subsets of data if consumer requested large amount of data.

2. For maximum security, consider using transport layer security and message-based security.
  • Message-based security such as XML-Encryption and XML-Digital signatures does not encrypt the headers information. You need to use transport layer security (SSL) if you want to encrypt message headers. 
  • Many security measures introduce processing overhead, so the performance trade-offs that need to be measured carefully. 

3. If you need to call multiple services consider calling those services parallel. 
  • Calling multiple services sequentially reduce the overall performance of your service. Consider using Parallel Activity workflow of Windows Workflow Foundation 4.0 to call multiple services parallel. 

No comments:

Post a Comment