| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2007 12:01:18
|
Alexandre Ferreira
Virtual Machine Man
![[Avatar]](/images/avatar/5898493fbdf4a44a24084021b2215f85.jpg)
Membro desde: 20/09/2006 20:07:03
Mensagens: 517
Localização: Rio de Janeiro
Offline
|
Gostaria de tirar algumas duvidas sobre SOA.
Seguindo a definição do Wikipédia.
Fiquei com algumas duvidas. Estão em negritos as duvidas quanto aos termos, segue abaixo:
Serviço:
É uma função independente, sem estado (stateless) que aceita uma ou mais requisições e retorna uma ou mais respostas através de uma interface padronizada e bem definida. Serviços podem também realizar partes discretas de um processo tal como editar ou processar uma transação. Serviços não devem depender do estado de outras funções ou processos. A tecnologia utilizada para prover o serviço, tal como uma linguagem de programação, não pode fazer parte da definição do serviço.
Segue o termo com duvida e ao lado coloco o que eu acho o que é:
1) Funções: Serviços ?
2) Processos: Parte de um serviço ?
3) A tecnologia utilizada para prover o serviço, tal como uma linguagem de programação, não pode fazer parte da definição do serviço: O meio de comunicação deve ser transparente e independente da linguagem de programacao, ou seja , no meu caso Java. A transparência pode ser definida usando XML ?
Descoberta:
SOA se baseia na capacidade de identificar serviços e suas características. Conseqüentemente, esta arquitetura depende de um diretório que descreva quais os serviços disponíveis dentro de um domínio.
4) Descoberta: Repositório de Serviços ?
Vou continuar meu estudo sobre o SOA, tenho ainda 3 apostilas para ler.
Mas até agora eu não vi(li) nada além de sistemas se comunicando através de Web Services.
Tem como eu simular o uso do SOA aqui em casa?
Por exemplo. Um serviços que envia 2 números aleatórios e outro que recebe e soma esses números ?
|
Alexandre Ferreira
Blog: http://alexandreferreira.com.br |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2007 14:09:37
|
andre_salvati
Virtual Machine Man
Membro desde: 02/06/2005 16:28:38
Mensagens: 700
Offline
|
afsrj wrote:
Mas até agora eu não vi(li) nada além de sistemas se comunicando através de Web Services.
Pode ter uma certeza. SOA é muito mais do que Web Services. Compre um bom livro sobre SOA...
|
"Don't be evil"
André Salvati
http://twitter.com/afsalvati |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2007 16:04:02
|
sergiotaborda
Forum Spammer
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3158
Offline
|
Taz wrote: (...)
Pode ter uma certeza. SOA é muito mais do que Web Services. Compre um bom livro sobre SOA...
...como por exemplo ? Qual ?
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2007 17:34:41
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5401
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
sergiotaborda wrote:...como por exemplo ? Qual ?
Fora os clássicos do Thomas Erl, há um livro recente que estou gostando (ainda estou na página 137).
SOA Using Java Web Services
Este livro tem o grande mérito de chamar a atenção sobre como é complexo usar web services com Java (JAX-WS 2.x, JAXB 2.x, WS-metadata, etc.). O livro apresenta também a proposta de um framework como tentativa de tornar um pouco mais fácil usar toda parafernália. Só que eu ainda não cheguei nos capítulos do framework.
Venho estudando web services, SOA e afins há mais ou menos um ano. Vou resumir abaixo tudo que aprendi em poucas palavras ou em uma frase:
Web Services é coisa MUITO complexa
Cuidado com as decisões gerenciais de usar web services sem avaliar as dificuldades. Que ninguém se engane com os Hello Worlds que existem por aí. E muito menos com os exemplos em que tudo começa do zero e se adota o modo Start from Java, isto é, com o wsdl sendo deduzido a partir da classe Java.
Na vida real onde a gente precisa integrar 2 aplicações prontas e precisa fazer as coisas do modo Start from Java AND wsdl, a complexidade é enorme e dá muito trabalho para funcionar corretamente. A dica que já dei em outros tópicos é usar wrappers ao invés de tentar ficar com as classes geradas.
SOA só se torna um pouco mais simples quando a gente quer integrar 2 aplicações na mesma empresa (*) e pode optar por algo sem muita especificação usando POX ou JSON via algo parecido com REST. É por isto que sempre insisto que use REST caso isto seja possível.
PS: (*) Escrevi na mesma empresa porque nem sempre se pode escapar dos wsdl. Porém, há várias empresas grandes que disponibilizam serviços usando REST. Na palestra de web services do Conexão Java do ano passado há um exemplo bem simples acessando o Yahoo. Se a palestra fosse hoje, listaria com facilidade um monte de empresas que disponibilizam serviços REST.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2007 18:45:15
|
sergiotaborda
Forum Spammer
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3158
Offline
|
Luca wrote:Olá
sergiotaborda wrote:...como por exemplo ? Qual ?
Fora os clássicos do Thomas Erl, há um livro recente que estou gostando (ainda estou na página 137).
SOA Using Java Web Services
(...)
Pelos teus comentários parece que esses livros encaram SOA == Webservices. Sabes se algum deles fala sobre SOA que não seja orientado a WebServices ?
O Taz comentou que SOA é muito mais que webservices, o que é obvio, mas todas as implementações parecem ser usando webservices (HTTP+SOAP , especificações WS-) e fala-se pouco sobre outras formas. Quando pedi por exemplos de livros era no contexto da resposta do Taz,entendendo que "bom livro" é aquele que fala de SOA não amarrado a webservices
Taz wrote:
Pode ter uma certeza. SOA é muito mais do que Web Services. Compre um bom livro sobre SOA...
Por exemplo, Jini é um tipo de SOA ?
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2007 19:16:54
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5401
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
sergiotaborda wrote:Pelos teus comentários parece que esses livros encaram SOA == Webservices.
Reli minha mensagem e não vi nada que deixasse transparecer esta igualdade. Inclusive o livro que indiquei chama-se SOA usando Java Web Services. O livro trata da plataforma Java. Mas se poderia fazer SOA usando Axis 2, Apache CXF (não usem mais o XFire em projetos novos), Apache XML-RPC, JSON, POX, CSV, etc.
sergiotaborda wrote:Sabes se algum deles fala sobre SOA que não seja orientado a WebServices ?
Web services são serviços sendo acessados através de protocolo web (HTTP). Isto tem enormes vantagens como por exemplo atravessar com facilidade firewalls. Acho bem claro o papel de web services na arquitetura SOA mas uma breve googlada pode esclarecer mais caso seja necessário.
Mas é possível acessar serviços usando outros protocolos. Alguém poderia fazer um projeto SOA baseado em RMI como é o caso de JINI. Nem precisaria um livro de SOA para imaginar como fazer isto. Só que seria uma solução amarrada a Java e sujeito a um monte de restrições na rede.
De minha parte, como defensor de soluções baseadas em HTTP, eu daria preferência a SOA baseado em HTTP, mesmo que usasse JMS. Veja o capítulo 9 do livro Java Messaging do Eric Bruno com JMS passando por tunel HTTP..
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2007 19:17:31
|
Daniel.F
Virtual Machine Man
Membro desde: 29/03/2007 18:30:39
Mensagens: 686
Offline
|
Este livro ai e em português
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/07/2007 19:33:48
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5401
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
Daniel.F wrote:Este livro ai e em português
O livro que indiquei é muito recente e ainda não tem tradução em português.
Em português recomendo para iniciantes o livro SOA e Web Services em Java do Cleuton Sampaio. Serve como introdução a web services e SOA. Nem precisa ler o livro todo porque tem uma parte em que ele aborda o AXIS 1 que é perda de tempo tentar aprender.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2007 10:45:03
|
sergiotaborda
Forum Spammer
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3158
Offline
|
Luca wrote:Olá
sergiotaborda wrote:Pelos teus comentários parece que esses livros encaram SOA == Webservices.
Reli minha mensagem e não vi nada que deixasse transparecer esta igualdade. Inclusive o livro que indiquei chama-se SOA usando Java Web Services. O livro trata da plataforma Java. Mas se poderia fazer SOA usando Axis 2, Apache CXF (não usem mais o XFire em projetos novos), Apache XML-RPC, JSON, POX, CSV, etc.
(...)
sergiotaborda wrote:Sabes se algum deles fala sobre SOA que não seja orientado a WebServices ?
Web services são serviços sendo acessados através de protocolo web (HTTP).
Veja http://www.infoq.com/news/2007/07/soa-ws-relation para uma referencia do que eu tou falando.
Ok que web services é sobre HTTP. Não estou falando deles. Web Services é um capitulo em si mesmo. A pergunta era SOA que não use webservices, ou seja, que não use HTTP. Tlv que nem use XML , JSON , etc...
Existem mecanismo muito semelhantes que poderiamos usar para uma arqutiectura orientada a serviços como JMX ou JINI. Já que eles separam o protocolo de transporte. Então, em tese, O JBoss, que é baseado apenas em JMX seria um tipo de SOA. A dúvida é se isso se caracteriza como SOA, ou não e que autores/livro(s) explicariam essa classificação. Se é que algum o faz...
Resumindo: tem algum livro que seja apenas sobre SOA e não refira webservices nem nenhum tecnologia em particular ? Que defina o que SOA é ? Ou temos que concluir que SOA é apenas um buzzword ?
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2007 12:30:34
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5401
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
Sérgio
SOA é conseqüência de anos e anos de EAI. É evidente que SOA deve usar o que tradicionalmente se usa para EAI.
Você pode achar milhares de links no google com SOA usando web services ou as alternativas como JSON ou POX/REST. Pode ser que você ache também algum saudosista fazendo SOA com CORBA ou RMI. Será alguém que terá imensas dificuldades de integrar empresas diferentes, cada uma com seu firewall e sua política de segurança particular. Será que tem valor um livro novo para isto?
Acredito que você tenha trocado de sigla e citado JMX por engano pois JMX não se presta para isto. Uma aplicação SOA pode e deve usar JMX. Mas a infraestrutura será a dos conectores e adapters. Hoje em dia se usa RMI como conector remoto JMX mas já se pode baixar e usar JMX via SOAP.
Tentando advinhar, talvez você estivesse pensando em JMS quando escreveu JMX. Sempre gostei de JMS e acho uma das melhores coisas do Java. Há diversos servidores de mensagens e ESBs muito bons e de graça. Há o Apache Camel que ajuda a criar uma arquitetura de mensagens coerentes com o livro de patterns do Gregor Hohpe. E como disse antes, se pode também usar JMS em tunel HTTP.
Na área de TI sempre existiram buzzwords discutindo assuntos novos ou novas visões de assuntos antigos. Sempre existiu a necessidade por SOA e ainda assistiremos o surgimento de novas siglas nomeando coisas parecidas mas não exatamente iguais. No meu caso, meu maior interesse é por EDA que muita gente confunde como substituto de SOA mas na prática é apenas um complemento para determinados ambientes.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2007 12:40:52
|
sergiotaborda
Forum Spammer
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3158
Offline
|
Luca wrote:
Acredito que você tenha trocado de sigla e citado JMX por engano pois JMX não se presta para isto.
Não, era JMX mesmo : Java Management Extensions.
Concluo então do vc falou que JBoss não é SOA.
Obrigado pelos esclarecimentos
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2007 12:54:49
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5401
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
sergiotaborda wrote:Concluo então do vc falou que JBoss não é SOA.
Certo, o JBoss usa JMX para acessar seus serviços internos. Não tem nenhuma utilidade para integrar aplicações diferentes.
Mas se pode escrever uma aplicação EAI baseada em serviços com arquitetura SOA que use o JBoss e também o seu conceito de deployment de serviços. Alongando o raciocínio, se pode obter um sistema em que as aplicações do ambiente SOA usem JMX e o jmx-console do JBoss no seu monitoramento e gerenciamento.
O JBoss também se presta como servidor de mensagens e isto sim tem mais a ver com uma arquitetura que integre serviços.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2007 13:34:09
|
sergiotaborda
Forum Spammer
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3158
Offline
|
Luca wrote:Olá
sergiotaborda wrote:Concluo então do vc falou que JBoss não é SOA.
Certo, o JBoss usa JMX para acessar seus serviços internos. Não tem nenhuma utilidade para integrar aplicações diferentes.
É mais que isso. JBoss usa JMX para interligar os serviços Os serviços são MBeans , portanto todos têm uma interface e JMX estabelece mecanismos de acessar essas interfaces de qualquer lugar, até via HTTP.
Ou seja. o JBoss é uma grande ecosistema de serviços e a sua arquitetura é orientada a serviços. Parece que apenas não é SOA porque esses serviços não são independentes da implementação.
O JBoss também se presta como servidor de mensagens e isto sim tem mais a ver com uma arquitetura que integre serviços.
O serviço de mensagens é independente do JBoss e pode ser usado standalone.
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2007 14:53:51
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5401
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
sergiotaborda wrote:É mais que isso. JBoss usa JMX para interligar os serviços Os serviços são MBeans , portanto todos têm uma interface e JMX estabelece mecanismos de acessar essas interfaces de qualquer lugar, até via HTTP.
Ou seja. o JBoss é uma grande ecosistema de serviços e a sua arquitetura é orientada a serviços.
Por mais fã que eu seja de JMX, acho que você está exagerando um pouco. Nem o Juha Lindfors que criou a arquitetura do JBoss baseado em JMX e grande conhecedor de JMX, citaria o JBoss como exemplo de SOA.
Aliás, o grande barato do livro dele é justamente explicar o sistema d proxy remoto do JMX. Na época em que foi escrito o livro, a Sun ainda não havia lançado o JMX remote e o Juha criou tudo na raça.
Para mim JMX é uma jóia esquecida por grande parte dos desenvolvedores Java. Mas sua aplicação é para gerenciamento e monitoramento.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/07/2007 15:31:38
|
Alexandre Ferreira
Virtual Machine Man
![[Avatar]](/images/avatar/5898493fbdf4a44a24084021b2215f85.jpg)
Membro desde: 20/09/2006 20:07:03
Mensagens: 517
Localização: Rio de Janeiro
Offline
|
Acabei ganhando um grande conhecimento abstrato neste tópico pela resposta de dois grandes conhecedores nas arquiteturas aqui citadas.
Mais como preciso aprender SOA e suas funcionalidades.
Gostaria que Luca, Sergio e os demais que entendem de SOA, me ajudem com os termos em negritos que originou a minha duvida e a criação do tópico.
Estou aqui lendo sobre SOA e vou comprar o livro indicado pelo Luca.
Luca, você acredita que aprender SOA a fundo é uma tarefa do gerente de tecnologia do projeto / empresa ou todos os desenvolvedores precisam saber a fundo de SOA?
|
Alexandre Ferreira
Blog: http://alexandreferreira.com.br |
|
|
 |
|
|