Category Archives: soa-fundamental

Carol, Yto e a Ontologia de SOA (parte I)

Carol é uma arquiteta de software, recém-casada, sem filhos, está prestes a receber seu 6o. certificado Java. Formada em análise de sistemas, é autodidata e adora música (não desgruda do seu iPod).

Yto é o gerente de desenvolvimento. Filho de japoneses, ele é casado, tem 1 filha, e está cursando uma pós-graduação em engenharia de software. Foi desenvolvedor por muito tempo e este é seu primeiro cargo como gerente.

carol&yto01 São 17:52 (veja o relógio) quando Yto chega próximo da mesa da Carol e pergunta:

[Yto] – Carol?

[Carol] – (ouvindo “Bangers and Mash”, do Radiohead, não ouve a pergunta)

[Yto] – (chegando mais perto) Carol, eu sei que já está tarde, mas preciso da sua ajuda para pensarmos sobre a Ontologia e a Taxonomia dos serviços que já construímos.

[Carol] – “Taxo” o que Yto? (ao mesmo tempo em que pensava, “O Yto não tem mesmo o que inventar, perguntar desta tal de ‘taxo-não sei-o-que’ quase 6 da noite…”)

Ontologia e Taxonomia

Os termos parecem difíceis para quem nunca ouviu falar mas o conceito é relativamente simples. Carol não precisa se preocupar mas, claro, às 06:00 PM não é a hora do Yto solicitar um planejamento de como classificar os serviços que eles já desenvolveram.

Quando se tem poucos Serviços – um número entre 20 e 100, então pode-se assumir que uma pessoa será envolvida no trabalho de entender e descrever a semântica deste Serviço.

Entretanto quando temos centenas de ou milhares de serviços, e estes estão sendo constantemente atualizados, é difícil ou mesmo impossível manter a semântica de cada um destes Serviços atualizado. Em algum momento se faz necessário uma representação formal, um padrão para representar a semântica destes Serviços.

soa-ontology(Evolução da Taxonomia para a Ontologia, SOASimples.com a partir de várias fontes)

Definições

Taxonomia são esquemas básicos, primários, de classificação através de hierarquia. A Taxonomia entretanto é uma estrutura muito simples para se utilizar em sistemas com muitas mudanças. Algumas vantagens:

  • Auxilia na definição de complexidade, melhorando estimativas de custo
  • Evita a quebra de uma regra básica de orientação a serviço que define que “serviços só podem utilizar outros serviços do mesmo nível (layer) ou de um nível inferior”
  • Suporta a linha de negócios (LoB) no entendimento do nível de reusabilidade quando surgem novos requisitos

Introduzir o conceitos de novos Serviços em uma ambiente de constante mudança (como o de uma operadora de telefonia) é uma das desvantagens desta classificação “horizontal”. Surgiu então necessidade de algo mais resiliente a mudanças, e a Ontologia tem esta característica importante.

Pode ser utilizada para capturar visões alternativas dentro de um arcabouço único, uma classificação “vertical”. Algumas vantagens:

  • Quando se desenha os serviços no contexto de “domínios” fica estabelecido uma linguagem comum entre TI e negócios
  • A visão de alto nível, simplifica o desenvolvimento de requisitos de negócio
  • Uma visão do todo (“big picture”) é compartilhada com todos facilitando a interoperabilidade dos novos serviços e evitando a duplicação de funcionalidades
  • Facilita a identificação de “quem” é o dono do novo serviço

Acompanhe aqui como a estória se desenrola. Abcs!

SOA Patterns: livro e lista de patterns on-line

 

SOA Patterns

SOA Patterns

O livro “SOA Design Patterns“, do Thomas Erl já estava no forno mais de 1 ano. Finalmente disponível, a publicação é um daqueles “must read” para quem não quer “reinventar a roda” e seguir boas práticas e padrões nas implementações e integrações baseadas em SOA.

O livro foi feito de forma colaborativa. Além do próprio autor, outros 35 especialistas ajudaram na extensa e excelente lista de patterns que o livro apresenta. Nomes como David Chappell (Oracle),  Mark Little (Red Hat/JBOSS), Pablo Cibraro (Lagash Systems SA), Nelly Delgado (Microsoft Corporation) etc.

Você pode consultar a lista dos patterns neste link. Adicionalmente, Erl disponibilizou um MS Visio Stencil  (template) que você pode baixar aqui e utilizar livremente na representação gráfica dos seus padrões e diagramas (testei no MS Visio, MS Word, MS PowerPoint).

Abaixo o comentário de uma das mais conhecidas analistas, Anne Thomas (Burton Group):

The technical differences between service orientation and object orientation are subtle enough to confuse even the most advanced developers. Thomas Erl’s book provides a great service by clearly articulating SOA design patterns and differentiating them from similar OO design patterns.
- Anne Thomas Manes, VP & Research Director, Burton Group 

Hierarquia de Serviços em SOA

A palavra correta para hierarquia, no contexto do texto, é “Taxonomia”. A idéia foi apresentada em um artigo da revista SOA World Magazine, edição de Outubro/08. O autor é Mark Richards, ex-IBM, ex-lider de vários Java User Groups nos E.U.A e atualmente na empresa Collaborative Consulting, LCC.

A idéia é simples. Taxonomia nada mais é do que uma forma de classificar as coisas de uma forma hierárquica. Assim o fazemos para os animais (famílias, classes, ordens…), para as plantas etc. E quanto as serviços?

Bom, uma Taxonomia de Serviços é a proposta do  autor original do artigo que propõe uma forma simples de organizar, de forma hierárquica os serviços dentro da arquitetura SOA.

 

SOA: Taxonomia

SOA: Taxonomia

(fontes de todas as images: “Creating an Effective SOA Service Taxonomy”, M.Richards, SOA World Magazine, October/2008) 

 

Inicialmente os serviços foram classificado em 4 tipos básicos:

 

  • Business Service (serviço de negócio): serviço abstrato utilizado para representar um processo de negócio ou função independente
  • Enterprise Service (serviço corporativos): serviço “concreto”  utilizado para implementar um serviços de negócio utilizando um relacionamento “one-to-one” ou “many-to-one”  
  • Application Service (serviço de aplicação): serviço “concreto” utilizado em funções específicas de aplicação tais como coleta e manipulação de dados, validação etc
  • Infrastrucuture Service (serviço de infraestrutura): serviço “concreto” utilizado para suportar funções não relacionadas ao “negócio”, para solucionar questões específicas de uma plataforma, subsistemas etc.

1. Business Service

 

Business Service

Business Service

São os “core services” de SOA. Eles podem vir de use cases, user stories, user scenarios ou através de processos de ivestigação, identificação e especificação inerente aos passos iniciais de várias metodologias de implatação de uma Arquitetura Orientada a Serviços. Veja uma sugestão neste link (pdf, 32 pags/OASIS-Open.org)  e neste link (IBM DeveloperWorks).

Business Services são definições abstratas contendo um nome do serviço, especificação dos dados de entrada e dos dados de saída, independente da tecnologia a ser utilizada para o desenvolvimento.

Exemplo: gerar uma cotação de um seguro para um carro qualquer. Grosso modo, o serviço irá coletar dados do cliente, do automóvel, irá armazenar estes dados e devolver o valor do seguro. Mais ou menos o que o corretor nos pede no telefone quando queremos fazer uma cotação de seguro. Perceba que, na definição, não devemos nos preocupar com a liguagem que será implementado, se utilizaremos Web Services, qual a plataforma… …precisamos definir os dados de entrada e os dados de saída do serviço “CreateQuote“.

 

2. Enterprise Services

 

Enterprise Service

Enterprise Service

São também considerados “core”, porém são “concrete services“, ou seja, implementam Business Services. 

Uma vez que estes são serviços corporativos, que geralmente “atravessam” vários sistemas da empresa, devem ser definidos pelo Enterprise IT Architect ou pelo time de arquitetura da organização.

Lembrando que tais serviços tem um relacionamento “um-para-um” ou, mais comumente, “muito-para-um”, com os Business Services. Assim , voltando ao mesmo exemplo, vários Enterprise Services seriam necessários para implementar o Business Service “CreateQuote” do exemplo acima.

Exemplo: “createCustomer“, “checkMotorVehicleReport”, “calculateQuote”, “saveQuote” etc.

Importante: não necessariamente este serviços precisam ser compartilhados em todos os sistemas da organização. Não existe uma fórmula para definirmos a “granularidade” adequada para um serviço; tudo é uma questão de “trade-offs” e um bom arquiteto e muita prática é que definem a correta amplitude do serviço.

3. Application Services

 

Application Services

Application Services

São serviços “básicos” (not core), são serviços de suporte. Geralmente são de baixa granularidade e associados a uma aplicação específica. Um exemplo típico são os serviços que interagem com os “silos” existentes em qualquer empresa.

Assim sendo, devem ser construídos considerando esta especificidade, baixa ou nenhuma reutilização e portanto, o desenvolvedor pode ter mais liberdade de otimizar para extrair a máxima performance possível de tais serviços.

Exemplo: voltando ao “CreateQuote”, serviços como “addDriver”, “addAddress”, “addVehicle” etc são necessários para persisitir os dados necessários (input) para gerarmos o valor da cotação.

Pensar nos inputs e outputs dos Business Services é uma boa dia para definir os Application Services.

4. Infrastructure Services

 

Infrastructure Services

Infrastructure Services

Tipicamente serviços que eu chamo de “satélites”.  São necessários para acessar os dados e, entre outras coisas, garantir a segurança, rastreabilidade, atendimento de normas e políticas da empresa (compliance).

Exemplos: logging, auditoria, acesso a dados, segurança (AAA) etc.

O que distingue Infrastructure Services dos Enterprise Services é que os Infrastructure Services implementam funcionalidades não relacionadas ao negócio.

A Taxonomia dos serviços pode, em um primeiro momento, parecer muito abstrata, distante do mundo.real.com.br mas, acredite, esta simples classificação ajuda na divisão de tarefas, prioridades e organização da biblioteca de serviços, além de ser um excelente ponto de partida para a definição dos serviços na sua arquitetura orientada a serviços.

Category: SOA, soa-fundamental

ABC de SOA

Mesmo sendo um artigo bem resumido sobre os principais termos e conceitos da Arquitetura Orientada a Serviços (SOA), recomendo a leitura deste texto para você que quer saber o básico de SOA.

São 08 perguntas e suas respostas:

  1. O que é Arquitetura Orientada a Serviços?
  2. O que é um serviço?
  3. Qual a diferença entre SOA e web services?
  4. Como eu decido se devo adotar SOA como uma estratégia?
  5. Quais as vantagens de SOA?
  6. Como eu faço o equilíbrio entre a necessidade de planejamento de SOA com a necessidade de provar rapidamente o valor desta arquitetura para o negócio?
  7. Como eu sei quais serviços irão trazer mais valor para meu investimento?
  8. Como SOA irá afetar minha equipe de TI?

São questões pertinentes que ocorre antes e durante a implantação de uma arquitetura orientada a serviços.

Segue um trecho (tradução livre) para a questão: “Como eu sei quais serviços irão trazer mais valor para meu investimento?

Na dúvida, inicie com processos que envolve os clientes, que impactem diretamente no faturamento e que envolvam algo que é “um calo” para o negócio. Uma pesquisa de 2006 pelo Business Performance Management Institute constatou que demandas relacionadas aos clientes da empresa estão no topo das preferências de mudanças de processos de negócio, seguida de ameaças competitivas (concorrentes) e novas oportunidades de negócio….

Não deixe de visitar também o SOA Glossary.com, mantido pelo Thomas Erl.

SOA Patterns: Novo Livro e Download de Alguns Capítulos

Arnon Rotem-Gal-Oz é o autor do livro “SOA Patterns” pela editora Manning Publications Co.

Pelo que entendi o livro impresso só estará disponível completamente em Fevereiro/2009, mas já é possível fazer o download do e-Book (US$ 29,99) pelo site da editora. Por exemplo o capítulo 1 (PDF), “Solving SOA Pains with Patterns” pode ser baixado aqui.

De acordo com o blog do autor, a partir de uma entrevista no site DZone.com, o capítulo 2, “Basic Structural Patterns” também está disponível para download (fiz o download do capítulo 1, não tentei baixar o outro capítulo).

Veja alguns outros Patterns que estão no livro e que recomendo a leitura:

1. Service Firewall Pattern: como proteger seu sistema de um ataque do tipo “XML Denial of Service” (XDoS)

2. Saga Pattern (PDF): pattern para resolver 2 problemas:

  • No momento do commit o processo é abortado
  • Uma consulta a um serviço “externo” é necessário para completar a transação

3. Gridable Pattern (PDF): quando necessário um deplyment de serviços para sistemas altamente distribuidos

A figura abaixo (parte do Capitulo 1 do livro), resume muito bem os componentes de SOA e seus relacionamentos.

(fonte: “SOA Pattern”, Arnon Rotem-Gal-Oz, Capítulo 1)

Teste seus conhecimentos sobre SOA

 

 

 

 

 

O site da eBiz.net tem um pequeno teste (10 questões) que se propõe a avaliar o seu conhecimento sobre a arquitetura orientada a serviços (SOA). São 5 minutos muito bem investidos. Recomendo!

Category: SOA, soa-fundamental

SOA: 5 perguntas aos fornecedores

SOA LogoO título do artigo original é “5 Things that SOA Vendors are Missing“, escrito pelo Dave Linthicum (analista da ZapThink e colaborador de outros sites sobre SOA). Mudei um pouco o título para que você faça estas perguntas ao seu fornecedor de SOA.

Poucos meses atrás estava em um evento sobre SOA e assisti uma apresentação de um “framework” SOA que prometia mapear todo o seu legado e apresentar uma proposta de adequação para SOA em menos de um mês… …claro que todos nós rimos!

A empresa era especializada em implementação de um grande ERP de mercado e vinha com uma solução do tipo “todos os seu problemas de legado e SOA estão resolvidos!; basta contratar nossos serviços de consultoria e utilizar nosso framework!”. Você acreditaria? Eu também não.

Vamos às perguntas que eu adaptei do artigo do Mr. Linthicum:

- Pergunta #1 “Caro fornecedor, seu produtos funcionam?”: parece óbvio, mas não é. Muitas soluções hoje não existem ou não estão maduras o suficiente para serem disponibilizadas no mercado. O termo correto é vaporware. Funcionam apenas no Powepoint ™. Solicite o roadmap do produto, quanto a empresa investiu em pesquisa e desenvolvimento dos produtos, qual a origem do mesmo (foi desenvolvido “do zero”? é uma versão nova de um produto antigo?)

- Pergunta #2 “Caro fornecedor, você sabe o que é SOA?”: esta é minha favorita. A primeira vez que eu fiz esta pergunta o gerente de contas de um grande fornecedor não sabia do que se tratava (“é software ou hardware?” foi a resposta que tive). Se ele fizer uma concatenação de termos técnicos e utilizar as palavras-chaves “reuso”, “web services”, “ESB” etc, acredite, ele foi bem treinado mas não sabe o que é SOA

- Pergunta #3 “Caro fornecedor, como você está se habilitando em SOA?“: tudo bem que ele ainda não saiba exatamente o que é SOA mas, como ele está obtendo informações sobre esta arquitetura? Através da revista na banca? Ou a empresa está investindo em treinamento e até mesmo certificações?

- Pergunta #4 “Caro fornecedor, como posso comprar um software SOA?“: pegadinha! se ele responder esta com uma lista de software que sua empresa precisa adquirir fuja dele! SOA é um estilo de arquitetura, você não compra uma arquitetura, você investe em tecnologia, ferramentas e padrões de desenvolvimento e integração que irão “pavimentar o caminho” para a adoção de uma arquitetura orientada a serviços

- Pergunta #5 “Caro fornecedor, como sua empresa pode nos ajudar a longo prazo?“: em toda palestra e oportunidade que tenho para falar sobre SOA digo sempre que “SOA é uma jornada”, não tem fim; não é um projeto. Se o seu fornecedor falar de “continuidade de mais projetos envolvendo SOA blá blá blá…” … como diria meus amigos cariocas, fique “ixperto”!

Faça um teste com seu fornecedores e depois me conte como foi!

Abraços!

ESB: Mitos e Principais Funcionalidades

O Enterprise Service Bus (ESB) é (e será) um tema recorrente neste blog. Neste artigo, Dave Chappell, um dos criadores do conceito de ESB, trata de 10 mitos sobre o Enterprise Service Bus que precisam ser “desmascarados”.

Não vou entrar em detalhes sobre cada um deles. Abaixo listo alguns deles:
  • Mito #1: ESB não é um novo nome para o EAI (Enterprise Application Integration)
  • Mito #4: ESB não é um pattern e muito menos um produto. ESB é um conceito que pode ser implementado de várias formas. Vide este post sobre a definição de ESB
  • Mito #5: ESB “compete” com servidores JAVA EE. ESB é complementar e se integra (deve se integrar) a Java Application Servers.
  • Mito #9: ESB serve apenas para “conectar” sistemas e não possui interface para implementar processos de negócio. Atualmente, qualquer ESB provê uma ferramenta/front-end para “desenhar” os fluxos dos processos. Não confundir com ferramentas de BPEL.

Entender qual o propósito da sua sua ferramenta de ESB é fundamental para “delegar” ao ESB as tarefas às quais ele foi projetado para implementar.

Novamente, da Wikipedia, temos as principais features do ESB:

1. it is an implementation of Service Oriented Architecture
2. it is usually operating system and programming language agnostic; it should work between Java and .Net applications, for example
3. it uses XML (eXtensible Markup Language) as the standard communication language.
4. it supports Web services standards
5. it supports messaging (synchronous, asynchronous, point-to-point, publish-subscribe)
6. it includes standards-based adapters (such as J2C/JCA) for supporting integration with legacy systems
7. it includes support for service orchestration & choreography
8. it includes intelligent, content-based routing services (itenerary routing)
9. it includes a standardized security model to authorize, authenticate, and audit use of the ESB
10. it includes transformation services (often via XSLT) between the format of the sending application and the receiving application, to facilitate the transformation of data formats and values
11. it includes validation against schemas for sending and receiving messages
12. it can uniformly apply business rules, enrichment of the message from other sources, splitting and combining of multiple messages, and the handling of exceptions
13. it can conditionally route or transform messages based on a non-centralized policy – meaning that no central rules engine needs to be present
14. it is monitored for various SLA (Service-Level Agreement) thresholds message latency and other characteristics described in a Service Level Agreement
15. it (often) facilitates “service classes,” responding appropriately to higher and lower priority users
16. it supports queuing, holding messages if applications are temporarily unavailable
17. it is comprised of selectively deployed application adapters in a (geographically) distributed environment

Category: ESB, soa-fundamental

O que é ESB?

Primeiro, ESB é o acrônimo de Enterprise Service Bus (Barramento de Serviços Corporativos, em uma tradução livre). É um componente fundamenta na arquitetura orientada a serviços (SOA) e, por este motivo, é importante conhecermos qual o propósito e qual seu papel no desenho de sua solução SOA.

Hoje, a pesquisa de “ESB Definition”no Google irá apresenta mais de 46,000 links. Apresento aqui apenas 05 (cinco) que, na minha opinião, dão a idéia correta do que seja um ESB.

A primeira definição, claro, vem da Wikipedia.

Um ESB geralmente provê uma camada de abstração acima de um sistema de mensageria corporativa, que permite aos arquitetos de integração explorar todas as possibilidades e benefícios deste messaging system sem a necessidade de escrever código.

Ao contrário da abordagem tradicional da Enterprise Application Integration (EAI), que utiliza a arquitetura monolítica de hub and spoke, os fundamentos do ESB são baseados na decomposição de processos de negócio executando de forma “harmoniosa”.

ESB não implmenta service-oriented architecture (SOA) porém oferece as funcionalidades necessárias para implmentar esta arquitetura. ESB não é, necessariamente, baseada apenas em web-services.

David Chappell é simplemente o “guru” e um dos “inventores” do conceito de ESB. Ele é o autor do livro “Enterprise Service Bus” em 2004 (foto ao lado). Atualmente é o líder de SOA na Oracle. De acordo com ele,

Um ESB é “backbone altamente distribuido” no qual a arquitetura orientada a serviços (SOA) é contruida.

A definição de ESB inclui os seguintes pontos:

* Uma arquitetura de serviços distribuidos, que inclui um modelo de container leve para “armazenar” componentes de integração como serviços remotos
* Um backbone de mensageria corporativa que oferece entrega confiável de mensagens entre aplicações e serviços
* Transformação de dados (XML)
* Orquestração de serviços e roteamento inteligente de mensagens baseada em seu contexto
* Framework de segurança flexível
* Infraestrutura gerenciável que permite a configuração, deployment, monitoração e gerência dos serviços remotos.

IBM SOA Foundation – Architecture Overview, whiter paper. Este é um dos melhores papers sobre o básico de SOA.

O Barramento de Serviços Corporativos (ESB) é parte da arquitetura lógica de SOA. Sua presença na arquitetura deve ser transparente para os serviços de suas aplicações SOA. Entretanto, a existência de um ESB é fundamental para simplificar o esforço de “invocar” os serviços. Detalhes como localização e qual o caminho que a requisição de um serviço deve fazer na rede são de responsabilidade do ESB e não precisam mais fazer parte do código do serviço.

Eric Bruno, escreveu um excelente artigo sobre ESB. Já postei aqui no blog. Reproduzo abaixo a tradução livre do trecho em que ele define o ESB.

Um Enterprise Service Bus é um framework que possui várias funcionalidades: escolha e use. Por exemplo, você pode utilizar apenas parte das features e ignorar as demais que não fazem sentido para a solução proposta pela arquitetura que você projetou. De qualquer forma, um “bom ESB” deve ter, pelo menos, estas características:

  • Ter um insfraestrutura de mensageria robusto e confiável
  • Possibilitar desenvolvimento de sistemas baseados em em arquitetura orientada a serviços (parece óbvio, mas não é; pergunte aos seus fornecedores como o ESB deles permite este tipo de implementação)
  • É fortemente baseado em XML
  • Suporta padrões de Web Service (e.g. SOAP)
  • É independente de plataforma (muito, muito, muito importante)
  • Suporta transações e tem features de segurança
  • E por fim, mas não menos importante, utiliza protocolos padrão e tem integração com “legados”

Cerveja ESB? Sim, ela existe. É uma cerveja tipo Ale da Redhook. Ganhou a medalha de ouro em 2006 no “North American Beers Award”.

Não deixa de ser uma excelente “ferramenta” de integração, correto?

Cheers!

Category: ESB, soa-fundamental

SOA: 10 Erros a Serem Evitados nos Projetos

Mais um lista do que fazer e do que não fazer nos projetos que utilizam SOA como arquitetura? Sim, esta é uma daquelas listas. Entretanto, todos nós temos a ganhar quando compartilhamos este tipo de experiência (What You should do, What You Should not do).

Desta vez Paul Callahan (diretor da empresa NetManage) escreve esta nota para o site da ZDNet.com com suas opiniões sobre os 10 principais erros que você deve evitar ao implementar projetos utilizando a arquitetura orientada a serviços (meus comentários em azul):

  1. Taking a shotgun approach: segundo o autor, disponibilizar todos os serviços é desnecessário e vai custar muito. O correto é avaliar quais serviços, de fato, precisam ser disponibilizados. Aqui não tem segredo. Os times de TI, com ajuda dos analistas de negócios, devem mapear antes os processos de negócio, candidatos a tornarem-se serviços. O passo seguinte é priorizar e definir quais deles precisar ser adequados, reescritos (se for o caso) e realizar as implementações necessárias para disponibilizar as informações como serviços.
  2. Failing to involve business analysts: sem comentários. Envolva o pessoal de negócios desde o início. Sua prioridade deve ser expor as informações de negócio e não desenvolver Web services.
  3. Spending more time on SOA products than SOA Planning: Planejamento e Governança. Produtos e ferramentas são importantes mas eles não servirão de nada sem o devido planejamento prévio e sem Governança desde o 1o. dia.
  4. Tackling the largest projects first: Não tente “abraçar o mundo”. Projetos pequenos diminuem os risco da implantação e trazem resultados mais rápidos. Discodo do autor apenas no quesito “visibilidade”. Na minha opinião um projeto que traga visibilidade é importante para você ganhar apoio da alta direção e mostrar para a empresa um retorno rápido do investimento.
  5. Forgetting that SOA is a business Problem: discussões sobre SOA não devem se ater a aspectos técnicos. SOA existe para nos ajudar a resolver problemas de negócio; e o negócio deve ser o mais importante, não os aspectos técnicos.
  6. Treating identity as an afterthought: de acordo com o autor, as empresas tendem a adiar questões de controle de acesso. Bom, isto tem a ver com Governança (vide item 3 acima).
  7. Buying new products when existing investments suffice: este é um velho problema. As empresas esperam implementar SOA comprando hadware e software. SOA é um estilo de arquitetura, não um produto, e está relacionada com uma “vontade política” de resolver alguns dos problemas de integração de sistemas, agilidade e alinhamento com as áreas de negócio. Porém, muitas decisões de arquitetura não envolvem, necessariamente, investimento direto.
  8. Misunderstanding company key players: quem são as áreas afetadas pelos processos? De acordo com o autor, é importante envolver estes departamentos nas discussões, do contrário corremos o risco de ter grandes resistências.
  9. Expecting the SOA project to spread quickly: implantar SOA não é como instalar um novo serviço de e-mail. Leva tempo para a empresa “absorver” e entender os benefícios desta nova abordagem.
  10. Lacking necessary elements: neste ponto o autor alerta que muitas empresas pequenas não tem pessoal qualificado para implementar uma mudança de arquitetura. Esta é uma decisão de cada empresa. O que eu posso garantir a vocês é que não se aprende sobre SOA apenas lendo revistas (ou blogs como este).

Category: soa-fundamental