Service Layer Questions List

J.D. Meier, Alex Homer, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher, Akshay Bogawat

Contents

  • Authentication and Authorization
  • Communication
  • Data Consistency
  • Exception Management
  • Messaging Channels
  • Message Construction
  • Message Endpoint
  • Message Protection
  • Message Routing
  • Message Transformation
  • REST
  • SOAP

Authentication and Authorization

  • How to identify trust boundaries?
  • How to design effective authentication strategy?
  • How to design effective authorization strategy?

Communication

  • How do I decide which transport protocol to use?
  • How do I decide the format of data passed over the communication channel?
  • How do I protect sensitive data transfer across the network?
  • How do I validate data passed across tiers?
  • Why should I use asynchronous communication over synchronous communication?
  • How do I decide if communication should be one-way or two-way?
  • What is idempotency and when do I need to ensure idempotent messages?
  • What is commutativity and when do I need to ensure message commutativity?

Data Consistency

  • Why is it necessary to check for data consistency?
  • What are the consequences of data inconsistency?
  • How to ensure data consistency during transactions in a disconnected model?

Exception Management

  • What are the common types of exceptions I need to handle in service layers?
  • How do I ensure message integrity is maintained when exceptions occur?
  • How do I decide if I need to design custom exception handling mechanism?
  • What are the common pitfalls?
  • What are fault contracts?

Messaging Channels

  • What are the relevant patterns for messaging channels?
  • How do I choose appropriate messaging channel for better inter-process communication performance?
  • How do I choose appropriate messaging channel for interoperability?
  • How do I choose the appropriate protocol for the communication channel?
  • How do I choose the format of data passed over communication channel?
  • How does the message format selected affect the performance of the channel?

Message Construction

  • How do I design the format of message exchanged during communication?
  • What are the relevant patterns for messaging construction?
  • What are the types of message format available?
  • How do I choose the appropriate message format?
  • How do I ensure type information is not lost during the communication process?
  • How do I choose message format for interoperability?

Message Endpoint

  • What are the relevant patterns for message endpoints?
  • How do I choose the appropriate pattern for my application?
  • What is idempotency and when do I need to ensure idempotent messages?
  • What is commutativity and when do I need to ensure message commutativity?
  • How do I design for disconnected scenario?
  • How do I design for handling invalid messages?

Message Protection

  • How do I protect sensitive data in messages?
  • How do I protect messages which cross multiple servers?
  • How do I design message security for message protection?
  • How do I design transport security for message-based protection?
  • How do I prevent message and parameter tampering?

Message Routing

  • What is the purpose of a message router?
  • What are the types of message routers available?
  • How do I choose the appropriate message router for my application?
  • What are the relevant patterns for message routing?

Message Transformation

  • What is the purpose of message transformation?
  • When do I need to transform message during communication?
  • What are the relevant patterns for message transformation?

Representational State Transfer (REST)

  • What is REST?
  • What are the benefits of using REST-based services?
  • How do I design services based on REST?
  • How do I select appropriate resource representation?

Service Interface

  • How do I design service interface with coarse-grained operations?
  • How do I design interfaces for loose coupling with other layers?
  • How do I isolate interfaces from the business logic?
  • How do I implement caching in interface?
  • How do I implement message mapping and type conversion in interface?
  • How do I design interface for interoperability?
  • How do I choose appropriate transport protocol and message formats for service?

SOAP

  • What is SOAP?
  • What are the benefits of using SOAP-based services?
  • What is the structure of a SOAP-based message?
  • How do I choose appropriate security model?
  • How do I design for complex types in message schema?

Last edited Oct 16, 2008 at 2:30 AM by prashantbansode, version 1

Comments

No comments yet.