Microsoft har nyligen publiserat ett dokument med namnet Principles of Service Design: Service Patterns and Anti-Patterns som tar upp tre mönster och två anti-mönster för serviceorienterad utveckling. Dessa mönster är redan sedan länge kända, men jag tycker att de här är beskrivna på ett bra sätt.

Mönster som beskrivs är:

  • Document Processor – Att man skall använda meddelanden i form av dokument när man kommunicerar med en tjänst.
  • Idempotent Message – Att man skall designa en tjänst så att man kan skicka samma meddelande flera gånger utan att det accumulativt kommer att påverka någon information. Det skall alltså inte spela någon roll om man skickar samma meddelande en eller flera gånger.
  • Reservation – Ett sätt att hantera fel som kan uppstå när man skickar meddelanden till tjänster.

Alla dessa mönster finns det exempelkod till. Dessa kan man ladda ned här:

Anti-Mönster som beskrivs är:

  • CRUDy Interface – Man bygger operationer på tjänsterna som dataorienterade, det vill säga, att de avspeglar dataoperationer rakt av. Exempel: CreateCustomer(), DeleteCustomer(), GetCustomer().
  • Loosey Goosey – Man skapar för generella operationer på tjänsterna. Det gör att man inte egentligen har skapat något kontrakt överhuvudtaget. Exempel: Execute() eller dylikt.