Apos o mundo de TI passar por algumas rodadas de disseminacao do conceito SOA, sem esquecer de alguns tumultos provocados pelo post SOA is Dead; Long Live Services, alguns bam-bam-bans no tema, motivados por Thomas Erl e incluindo a autora do post citado, compilaram o SOA Manifesto. Segue uma traducao livre: Manifesto SOA Orientacao a servico e um paradigma que direciona o que voce faz.Arquitetura orientada a servico e um tipo de arquitetura que resulta da aplicacao de orientacao a servico. Nos aplicamos orientacao a servico para auxiliar organizacoes a entregar valor de negocio sustentavel de forma consistente, com maior agilidade e eficiencia de custo, alinhado as necessidades de mudanca do negocio. Atraves de nosso trabalho nos priorizaremos:Valor de negocio acima de estrategia tecnicaObjetivos estrategicos acima de beneficios especificos de projetoInteroperabilidade intrinseca acima de integracao customizadaServicos compartilhados acima de implementacoes de proposito especificoFlexibilidade acima de otimizacaoRefinamentos evolutivos acima de busca da perfeicao desde o inicioOu seja, enquanto nos valorizamos os itens da direita, nos valorizamos ainda mais os itens da esquerda. Principios que Guiam o Manifesto SOA Nos seguimos estes principios:Respeitar a estrutura social e de poder de uma organizacao.Reconhecer que SOA requer mudanca em varios niveis.O escopo da adocao de SOA pode variar. Manter esforcos gerenciaveis e dentro de limites significativos.Produtos e padroes sozinhos nao lhe fornecerao SOA nem aplicarao o paradigma de orientacao a servicos para voce.SOA pode ser concretizada atraves de varias tecnologias e padroes.Estabelecer um conjunto uniforme de politicas e padroes corporativos baseado em padroes de facto da industria e da comunidade.Buscar uniformidade no exterior e permitir diversidade no interior.Identificar servicos atraves da colaboracao entre interessados de negocio e tecnologia.Maximizar o uso de servicos considerando o escopo atual e futuro de utilizacao.Verificar se os servicos satisfazem os objetivos e requisitos de negocio.Evoluir os servicos e sua organizacao em resposta ao seu real uso.Separar os diferentes aspectos de um sistema que mudam em ritmos diferentes.Reduzir as dependencias implicitas e publicar todas as dependencias externas para aumentar a robustez e reduzir o impacto de mudancas.Em todo nivel de abstracao, organizar cada servico em torno de uma unidade de funcionalidade coesa e gerenciavel. E ai, concorda? Entao vai la e assina embaixo! :-) No post anterior - "Desenvolvimento de Software e SOA"- , foi abordada a importancia da utilizacao de metodos, como SOMA, na identificacao de servicos de negocio.O objetivo deste post e exercitar os desafios do desenvolvimento de software, em uma SOA, quanto aos aspectos de comunicacao, estabelecimento de responsabilidades e inter-relacionamentos entre papeis, com foco em identificacao de Servicos de Negocio.O relacionamento entre os diferentes papeis dentro de SOA e fator fundamental para que Processos e Servicos de Negocio sejam identificados, elaborados e construidos utilizando-se de forma sabia os recursos do projeto. Uma mesma solucao pode ser atingida de formas diferentes. Mas se puder ser otimizada, promovendo reuso e definindo corretamente os Servicos de Negocio, o sucesso da solucao de um projeto refletira na empresa dentro de outros projetos.Para nao perder o foco - da identificacao de servicos - serao explorados apenas aqueles papeis cujas responsabilidades mais se aproximam