Governança em SOA

Ae galera,
Gostaria de saber como vocês tem encarado isso, tenho passado por algumas empresas onde trabalhavamos com SOA sem governança e tinhamos um indice exagerado de redundancia de serviços, gostaria de trocar experiencias com governança, estou estudando bastante esse assunto. Se puderem descrever suas experiencias boas e ruins agradeço.

Abraço

Minha experiência é parecida com a sua.

A média gerência de grandes empresas “acha” que SOA é um projeto que pode ser implementado em um sistema isolado, quando na verdade é algo bem mais complexo que envolve definição e controle do repositório de serviços, mapeamento de processos, etc, etc…

Pior… um projeto estratégico desse porte deveria ser coordenado e executado internamente, quando na verdade a grande responsabilidade fica a cago de consultorias terceirizadas que são obrigadas a seguir os conselhos de consultores de fornecedores de produtos que nunca tiveram experiência prática com projetos SOA e cujo único objetivo é entuchar mais licenças (ou subscrições) no cliente.

André Salvati

E por falar nisso, lembrei do “Greg, the Architect”

André Salvati

Esse Greg eu acho hilario!

Esses tempos fui ver uma solucao de portal e vi cada coisa abominavel, o gerente me dizia com a mao batendo no peito aqui esta implementado 100% SOA, o engracado que eles haviam feito servicos exclusivos para o portal e com um numero grande redundancia, outro caso que fiquei intrigado foi numa entrevista o pessoal me disse que iria refatorar os legados para implantar SOA, eu percebi que o pessoal associa SOA com refatoracao dos legados.

Mas falando sobre governanca eu queria saber como voces estruturam o organograma de TI, tem arquitetos de negocio e voces trabalham com uma equipe so de servicos?

Ninguém se habilita?

Eu tenho informações que a Porto Seguro está montando uma área de arquitetura SOA e de que a Telefônica tem contratado pencas de analistas de processos a preço de banana.

André Salvati

Eu to sabendo a Porto eles estão usando Oracle SOA Suite, só que não senti tanta firmeza na forma vão conduzir o projeto.

O que vocês consideram SOA de verdade?

Já achei tanta gente que fala tanta coisa diferente, tanto buzzword que fico perdido em responder essa.

Bruno,
Na verdade SOA é uma estratégia que organiza funcionalidades de aplicativos da empresa e utiliza padrões como webservices para poder combinar funcionalidades e aumentar a reutilizam de acordo com as necessidades do negócio. Tecnologias como CORBA, RMI e algumas soluções de EAI tambem usam o conceito de SOA, ela tem 3 requisitos importantes que exige das tecnologias que desejam implementar os conceitos de SOA, baixa acoplamento, inter-operabilidade e ser flexivel e escalavel, por isso os webservices são a melhor resposta em tecnologia porque atendem a esses requisitos importantes.
Coisas como ESB vieram na sequencia para darem maior produtividade e reusabilidade.

Essa foi a definição que aprendi nos cursos da BEA.

[quote=Taz]
Pior… um projeto estratégico desse porte deveria ser coordenado e executado internamente, quando na verdade a grande responsabilidade fica a cago de consultorias terceirizadas que são obrigadas a seguir os conselhos de consultores de fornecedores de produtos que nunca tiveram experiência prática com projetos SOA e cujo único objetivo é entuchar mais licenças (ou subscrições) no cliente.[/quote]

Nunca confie em consultores. Como diria sei la quem: “Quem sabe faz, quem nao sabe ensina, e quem nao sabe ensinar presta consultoria”.

[quote=cmoscoso][quote=Taz]
Pior… um projeto estratégico desse porte deveria ser coordenado e executado internamente, quando na verdade a grande responsabilidade fica a cago de consultorias terceirizadas que são obrigadas a seguir os conselhos de consultores de fornecedores de produtos que nunca tiveram experiência prática com projetos SOA e cujo único objetivo é entuchar mais licenças (ou subscrições) no cliente.[/quote]

Nunca confie em consultores. Como diria sei la quem: “Quem sabe faz, quem nao sabe ensina, e quem nao sabe ensinar presta consultoria”.[/quote]

Não confunda consultores com consultorias.

Consultores são especialistas contratados para fornecer informações sobre determinada área de conhecimento para empresas. Ou seja, é possível e até recomendável que uma empresa que nunca se aventurou por conceitos como SOA, XP, SCRUM, etc, etc… contrate consultores para fornecer know-how nos primeiros projetos.

Consultorias (body-shops) contratam profissionais a quem chamam de “consultores” com objetivo de alocá-los em suas fábricas e em seus clientes. O único objetivo aqui é o da redução de custos. Quanto menos um profissional se propõe a receber para atender aquela demanda, melhor.

André Salvati

Bom, voltando ao assunto do tópico, existe um sofware brasilieiro que vem ganhando muita notoriedade com isso, o Spotlight da Caravela:
http://www.caravelatech.com/?q=produtos

Vale MUITO a pena quem estiver interessado no assunto (Governança SOA) agendar uma apresentação com o pessoal. Pra quem não conhece a Caravela, seus membros são core-developers de Drools e Hibernate além de participarem ativamente da nova especificação do JPA 2.0.

[]s

[quote=Alessandro Lazarotti]Bom, voltando ao assunto do tópico, existe um sofware brasilieiro que vem ganhando muita notoriedade com isso, o Sporlight da Caravela

[/quote]

Quem saiu do assunto?

Vc está fazendo propaganda ou tem algo a acrescentar sobre a abordagem utilizada em algum projeto que utilizou o SpotLight?

O framework/ferramenta já possui código aberto/documentação?

Ferramentas dificilmente fazem diferença quando o assunto é quebra de paradigmas em desenvolvimento de software. Cultura, disposição para mudar, equipe unida e políticas de incentivo fazem a diferença…

André Salvati

[quote=DaviPiala]Bruno,
Na verdade SOA é uma estratégia que organiza funcionalidades de aplicativos da empresa e utiliza padrões como webservices para poder combinar funcionalidades e aumentar a reutilizam de acordo com as necessidades do negócio. Tecnologias como CORBA, RMI e algumas soluções de EAI tambem usam o conceito de SOA, ela tem 3 requisitos importantes que exige das tecnologias que desejam implementar os conceitos de SOA, baixa acoplamento, inter-operabilidade e ser flexivel e escalavel, por isso os webservices são a melhor resposta em tecnologia porque atendem a esses requisitos importantes.
Coisas como ESB vieram na sequencia para darem maior produtividade e reusabilidade.

Essa foi a definição que aprendi nos cursos da BEA.[/quote]

Entendi.

Governança entra em que parte?

[quote=Bruno Laturner][quote=DaviPiala]Bruno,
Na verdade SOA é uma estratégia que organiza funcionalidades de aplicativos da empresa e utiliza padrões como webservices para poder combinar funcionalidades e aumentar a reutilizam de acordo com as necessidades do negócio. Tecnologias como CORBA, RMI e algumas soluções de EAI tambem usam o conceito de SOA, ela tem 3 requisitos importantes que exige das tecnologias que desejam implementar os conceitos de SOA, baixa acoplamento, inter-operabilidade e ser flexivel e escalavel, por isso os webservices são a melhor resposta em tecnologia porque atendem a esses requisitos importantes.
Coisas como ESB vieram na sequencia para darem maior produtividade e reusabilidade.

Essa foi a definição que aprendi nos cursos da BEA.[/quote]

Entendi.

Governança entra em que parte?[/quote]

Na parte onde vc pesquisa no Google e estuda o assunto…

http://www.google.com.br/search?q=governança+SOA&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

André Salvati

Os posts que não se refereriam a Governança SOA, oras.

[quote=“Taz”]
Vc está fazendo propaganda ou tem algo a acrescentar sobre a abordagem utilizada em algum projeto que utilizou o SpotLight?[/quote]

Se você refere-se como propaganda indicar um produto, sim estou (aliás, existe algum problema em indicar alguma ferramenta que você ache que vale a pena?). Não trabalho na Caravela, relaxe, não ganho dinheiro nenhum com isso. Contudo já participamos (Red Hat) de muitos projetos SOA onde a governança teve o apoio do Spotlight e conhecemos de perto (muito perto) seus desenvolvedores.

A abordagem é direcionada a auto-discovery do mapeamento dos processos, exatamente onde o DaviPala lançou seu questionamento. O Spotlight faz um mapeamento de seus serviços de forma automática, indexando e ilustrando todas as tecnologias envolvidas em um processo e as catalogando.

Não, não é uma ferramenta open-source (pelo menos não hoje). Documentação existe como em qualquer software.

Ok, ok, muito bonito isso, faz mais sentido no que se refere a SOA de maneira geral, mas se tratando de “Governança” específicamente, algo que lhe ajude a manter toda a estrutura de serviços faz uma diferença gritante.

Os posts que não se refereriam a Governança SOA, oras. [/quote]

Então acho que vc está enganado.

[quote=Alessandro Lazarotti]

Ok, ok, muito bonito isso, faz mais sentido no que se refere a SOA de maneira geral, mas se tratando de “Governança” específicamente, algo que lhe ajude a manter toda a estrutura de serviços faz uma diferença gritante.[/quote]

Sim, é bonito e é o que funciona. Ou vc não sabe que 90% dos problemas em projetos de software são os gerenciais e não os técnicos?

Mais bonito é dizer que 100% dos projetos SOA dão certo só pq ferramenta X ou pq consultoria Y foi utilizada. Aliás, a BEA/Oracle e a IBM também possuem consultores e ferramentas em suas suites para SOA.

Vamos lá. Agregue valor. Vcs não atravessam qualquer dificuldade nos projetos SOA que implantam? :shock: Isso é o que está em discussão…

André Salvati

[quote=Taz][quote=cmoscoso]
Nunca confie em consultores. Como diria sei la quem: “Quem sabe faz, quem nao sabe ensina, e quem nao sabe ensinar presta consultoria”.[/quote]

Não confunda consultores com consultorias.

Consultores são especialistas contratados para fornecer informações sobre determinada área de conhecimento para empresas. Ou seja, é possível e até recomendável que uma empresa que nunca se aventurou por conceitos como SOA, XP, SCRUM, etc, etc… contrate consultores para fornecer know-how nos primeiros projetos.

Consultorias (body-shops) contratam profissionais a quem chamam de “consultores” com objetivo de alocá-los em suas fábricas e em seus clientes. O único objetivo aqui é o da redução de custos. Quanto menos um profissional se propõe a receber para atender aquela demanda, melhor.[/quote]

Voce menciona 2 tipos de consultores, aparentemente um bom outro ruim. Portanto meu alerta tem um fundo de verdade!

Nota: Eu nao chamaria contratacao bodyshop como consultores. E acho que as empresas tem essa nocao, tanto é que esse tipo de profissional costuma ser pouco valorizado. As vezes, o termo é utilizado como um titulo pomposo apenas pra seduzir um candidato a vaga que seria de implementacao de uma solucao. (por isso, incompativel com o perfil que seria de um consultor de verdade.)

Mas nao estava me referindo a esse tipo de “consultor”. Alias, a frase que citei é injusta sim (alias como toda generalizacao), mas existe ainda um 3o tipo de consultor que voce nao menciona, muito disseminado por ai, que vou chamar de consultor de ferramentas. É aquele que antes de conhecer qual o seu negocio ja tem uma ferramenta pra vender, ou recomendar. Tais ferramentas alem de nao representarem nada em termos de inovacao para o seu negocio (por serem solucoes padronizadas que procuram atender a todos), possivelmente nao resolverao o problema atual. Governanca, IMO, esta mais para um processo agil aplicado ao core business (pessoas e papeis), do que padronizacao de tecnolgia e ferramentas (waterfall). Governanca nao é mais uma das especificacoes SOA.

[quote=cmoscoso]

Mas nao estava me referindo a esse tipo de “consultor”. Alias, a frase que citei é injusta sim (alias como toda generalizacao), mas existe ainda um 3o tipo de consultor que voce nao menciona, muito disseminado por ai, que vou chamar de consultor de ferramentas. É aquele que antes de conhecer qual o seu negocio ja tem uma ferramenta pra vender, ou recomendar. Tais ferramentas alem de nao representarem nada em termos de inovacao para o seu negocio (por serem solucoes padronizadas que procuram atender a todos), possivelmente nao resolverao o problema atual. Governanca, IMO, esta mais para um processo agil aplicado ao core business (pessoas e papeis), do que padronizacao de tecnolgia e ferramentas (waterfall). Governanca nao é mais uma das especificacoes SOA.[/quote]

Agora concordo. Mesmo entre os consultores (especialistas) existem os que não estão interessados em resolver o problema do cliente e sim em promover/vender uma marca. Esses são os que vc chama de consultores de ferramentas.

André Salvati

[quote=Bruno Laturner][quote=DaviPiala]Bruno,
Na verdade SOA é uma estratégia que organiza funcionalidades de aplicativos da empresa e utiliza padrões como webservices para poder combinar funcionalidades e aumentar a reutilizam de acordo com as necessidades do negócio. Tecnologias como CORBA, RMI e algumas soluções de EAI tambem usam o conceito de SOA, ela tem 3 requisitos importantes que exige das tecnologias que desejam implementar os conceitos de SOA, baixa acoplamento, inter-operabilidade e ser flexivel e escalavel, por isso os webservices são a melhor resposta em tecnologia porque atendem a esses requisitos importantes.
Coisas como ESB vieram na sequencia para darem maior produtividade e reusabilidade.

Essa foi a definição que aprendi nos cursos da BEA.[/quote]

Entendi.

Governança entra em que parte?[/quote]

Bruno, grande parte dos projetos SOA tendem a se tornar selváticos com a passar do tempo, governança estabele politicas e normas que controlam o ambiente SOA, essas politicas vão desde documentação de melhores práticas, como algumas mudanças no organograma da empresa para atender melhor o ambiente SOA.

Cmosco que q vc tem contra consultores pre-sales? hehe

Não generalize a gente costuma no prospect vender serviços de mapeamento de processos e governança, tá certo que nem sempre o cliente quer esses serviços, mas durante as apresentações se costuma vender mais que apenas uma ferramenta.