none
CORBA, RMI, GLOBUS e SOA RRS feed

  • Discussão Geral

  • Bom dia pessoal,

    Estou estudando arquitetura orientada a serviços, e estou achando um pouco complicado. A maioria do conteudo que encontro trata o assunto de uma maneira meio abstrata, o que me faz ter entendimentos diferentes em todo momento. Nesse estudo acabei achando essas 4 arquiteturas que me parecem ser as mais conhecidas no mercado, porém em algumas leituras um parece não ter nada haver com o outro servindo pra propositos diferentes e em outras todas parecem ter o mesmo objetivo.

    Queria saber a experiencia e opnião de vocês no assunto.

    Afinal CORBA, RMI, GLOBUS e SOA são:

    um Design Pattern ?
    um Framework ?
    regras de boas praticas em sistemas distribuídos?

     

    espero que a discussão seja bacana.

     

    abcs 


    SerraVentura
    quarta-feira, 6 de abril de 2011 15:51

Todas as Respostas

  • Serra,

    Realmente essa discussão é muito abstrata. 

    SOA é a idéia de arquitetura orientada a serviços. Mas o que é isso na prática?

    Imagine uma corporação que tem sua tonelada de sistemas. Um sistema de folha de pagamento em Oracle, CRM de outro vendor, ERP da SAP e mais algumas coisinhas desenvolvidas em casa.

    Óbvio que tudo isso precisa ser integrado e nada é integrado. O sistema de ERP controla o orçamento, o de folha de pagamento, precisa mandar todos os gastos com pessoal para o ERP. O outro sistema que trata de compras, usa o workflow do ERP para aprovação. E assim sucessivamente.

    A idéia de uma arquitetura orientada a serviços é justamente não pensar em sistemas, mas em serviços. Você pluga todos esses sistemas num "barramento" (ou BUS) de serviços, e todos eles começam a se conversar. Isso que eu te contei é como a indústria faz para vender essa BUS de serviços.

    Na prática, vocÊ tem uma série de integrações via Web Service. Os sistemas provêem interfaces via web services e os outros passam a consumir esses web services. A idéia é gerar um ferramental, protocolos e meios de comunicação que simplifiquem toda essa interoperabilidade necessária para os sistemas atuais.

    Mas que tecnologia usar, que pattern usar? Não existe uma convenção em relação a isso. Por isso a Microsoft investe por exemplo no WCF. Você pode expor os "serviços" da sua aplicação num mecanismo que permita comunicação tanto via remoting, quanto SOAP, quanto REST. Esse é o mecanismo. 

    O próprio conceito de "web service" é meio abstrato. SOAP é uma implementação, REST é outra, JSON é outra, XML sobre HTTP é outra.

    As boas práticas para sistemas distribuídos é justamente "enxergar" esses serviços, como encapsulá-los e direcioná-los para os sistemas corretos que sabem lidar com esses serviços. Eliminar redundâncias (2 sistemas de folha de pagamento, 2 sistemas de compras). 

    CORBA é um "padrão' para objetos distribuídos, assim como EJB's, componentes DCOM ou mesmo Web Services podem se encaixar nessa idéia. RMI eu acredito que seja outra (não conheço). Não necessariamente estão relacionados com o conceito de SOA.

    SOA é o conceito. Não existe uma "implementação" de SOA. Geralmente as pessoas tem integraçãos via Web Service e dizem que suportam SOA.

     

    Abraço,

    Eric

    quarta-feira, 6 de abril de 2011 16:36
  • Então CORBA, RMI e GLOBUS seriam o "framework" ou talves a API que implementa o conceito SOA ?

     

    *RMI acho q é tipo um CORBA só que voltado pro java, algo assim...


    SerraVentura
    quarta-feira, 6 de abril de 2011 18:23