sexta-feira, 6 de fevereiro de 2009

SOA - Patterns e Anti-patterns

O conceito de padrões de projeto (design patterns) surgiu dos trabalhos do arquiteto austríaco Christopher Alexander. O livro "A Pattern Language: Towns, Buildings, Construction" (1977), escrito em conjunto com Sara Ishikawa e Murray Silverstein, discute uma linguagem de padrões derivada da arquitetura tradicional, numa sequência conflito-solução. Um resumo dos padrões do livro pode ser encontrado em http://downlode.org/Etext/Patterns/

O tema ganhou popularidade em software com a publicação, em 1995, de "Design Patterns: Elements of Reusable Object-Oriented Software" de Gamma, Helm, Jonhson e Vlissides, que comporiam a famosa "Gangue dos Quatro" (GoF - Gang of Four).

Um padrão é uma solução aplicada repetidamente, com pequenas variações, a problemas recorrentes em um dado domínio de conhecimento e encapsula a experiênca obtida naquele domínio.

Padrões facilitam a comunicação entre profissionais ao definir uma linguagem comum para expressar soluções.

Um padrão, em geral, é descrito em termos do nome do padrão (o que cria uma identificação comum), contexto onde o padrão se aplica, o problema, a solução (e eventuais ajustes à solução) além de exemplos ilustrativos.

Já um anti-pattern é um padrão que parece óbvio, mas é ineficiente ou nocivo.

O termo foi cunhado por Andrew Koening inspirado no trabalho da "Gangue dos Quatro". Um anti-pattern é mais que um mau hábito ou um "canto escuro". É algo que sendo aparentemente benéfico traz, na verdade, mais problemas que beneficios.

Aqui uma pequena lista bem resumida relacionada ao tema SOA:

SOA Patterns
SOA Patterns Reference Card
SOA anti-patterns
Extrato (Capitulo 1) do Livro SOA Patterns, de Arnon Rotem-Gal-Oz
SOA Patterns: livro e lista de patterns on-line

Silvio

Nenhum comentário:

Postar um comentário