Artigos

Para que serve o SOA ?

by admin | on jul 02, 2015 | No Comments

Uma importante necessidade para negócios e TI é a interoperabilidade, que pode ser descrita como a habilidade de diferentes sistemas se comunicarem uns com outros. A Arquitetura Orientada a Serviços é uma abordagem que pode oferecer interoperabilidade e ajudar os sistemas a permanecerem escaláveis e flexíveis enquanto crescem, além de melhorar o alinhamento entre TI e negócio. Várias tecnologias importantes e padrões têm sido definidos para suportar uma infraestrutura SOA. Uma das possíveis maneiras de implementar SOA é usando Web Services, que são baseados em um conjunto de padrões amplamente aceitos e utilizados, que cobrem a interoperabilidade.

Em que situação o SOA é útil ?

by admin | on set 27, 2011 | No Comments

O SOA permite que empresas façam mudanças mais rapidamente quando necessário, economizando tempo e dinheiro. Através do alinhamento entre necessidades de negócio e a capacidade da TI de atender a essas necessidades, SOA ajuda a tornar a organização mais ágil através de reusabilidade, diminuindo o custo de desenvolvimento, integração e manutenção.As grandes corporações de hoje querem flexibilidade, agilidade, redução de custos, melhora na eficiência das pessoas e dos processos, e responder rapidamente a mudanças. Desafios e oportunidades surgem a cada dia e as empresas devem ser ágeis para redefinir e adaptar seu modelo de negócios, processos e estruturas organizacionais. Porém, existe o problema da lacuna entre negócio e a TI. A unificação de uma organização através do alinhamento entre TI com negócio traz uma maior flexibilidade, aumento na agilidade e produtividade. A TI passa a entender profundamente as prioridades de negócios e as informações fornecidas pelos sistemas acabam sendo mais precisas e no prazo adequado. SOA possibilita que isto seja feito de forma a atender as necessidades da organização como um todo. Além disso, estas empresas dependem de sistemas e aplicativos para funcionar e este ambiente computacional está se tornando cada vez mais heterogêneo e complexo. Construir, executar e gerenciar aplicações em um ambiente deste tipo é uma tarefa difícil. SOA permite que empresas façam mudanças mais rapidamente quando necessário, economizando tempo e dinheiro. Através do alinhamento entre necessidades de negócio e a capacidade da TI de atender a essas necessidades, SOA ajuda a tornar a organização mais ágil através da aplicação de reusabilidade, diminuindo o custo de desenvolvimento, integração e manutenção.

O reuso de aplicações pode ser feito através da combinação de vários serviços expostos pelas aplicações existentes. Os desenvolvedores não precisam criar aplicações totalmente novas, reduzindo o tempo do processo de desenvolvimento. E como SOA é baseado em padrões, os desenvolvedores não precisam gastar tempo aprendendo as várias novas tecnologias que surgem a cada dia. Isto significa redução nos custos da empresa ao deixar de comprar novas aplicações e na contratação de desenvolvedores com algum conhecimento novo ou específico.

Assim, SOA é uma estratégia que inclui aspectos técnicos e organizacionais. No mundo da computação distribuída, processos de negócios são distribuídos e é necessário que haja interoperabilidade entre diferentes sistemas.

A importância da Interoperabilidade…

by admin | on set 27, 2011 | No Comments

Muitos sistemas em uma grande empresa não foram desenvolvidos para serem capazes de se comunicar com outros sistemas. Eles foram desenvolvidos com interfaces, protocolos proprietários e formas de comunicação diferentes dificultando muito a integração. Para permitir que aplicações empresariais possam se comunicar, são utilizados padrões e formatos de arquivos entre os sistemas. Isso pode ser bom para algum tipo de integração pequena, mas pode ser inviável quando o número de aplicações a serem integradas se torna grande.

Para que um sistema se comunique com o outro, o integrador de sistemas teria que aprender novas tecnologias e novas Interfaces de Programação de Aplicativos (APIs) de cada sistema para que pudesse realizar a integração. Para integrar dois ou três sistemas, não haveria muito problema, porém a integração de vários sistemas seria complicada.

Estas mesmas empresas possuem sistemas novos e os chamados sistemas legados, distribuídos em um cenário de alta heterogeneidade tecnológica. Interoperabilidade é um requisito fundamental em um ambiente desses. Segundo Josuttis (2008), “interoperabilidade é a habilidade dos sistemas diferentes se comunicarem uns com os outros”.

Existem várias abordagens para construir sistemas que atendam aos requisitos da interoperabilidade. Uma delas é SOA. Na visão de SOA, a interação entre clientes e serviços fracamente acoplados demonstra ampla interoperabilidade. Esse é o objetivo desta arquitetura: interoperabilidade entre diferentes plataformas e linguagens de programação. Clientes e serviços devem se comunicar e se entender independente da plataforma. Para isso, devem usar uma forma padronizada de se comunicar. Com o advento do XML e da sua grande aceitação, os sistemas, hoje, podem ser integrados mais facilmente. Os sistemas passam a “conversar” utilizando a mesma “linguagem”.

O que é um ESB?

by admin | on set 24, 2011 | No Comments

ESB (Enterprise Service BUS), também chamado de Barramento Corporativo de Serviços, é a infraestrutura de uma arquitetura SOA, considerada por muitos especialistas o coração de uma infraestrutura orientada a serviços. Sua responsabilidade é definir uma interface de entrada e saída, transformação de mensagens, tratamento de exceções e monitoramento de mensagens. Resumidamente, podemos definir que uma BUS serve para levar e buscar os dados entre diferentes protocolos e diferentes plataformas.

As principais características da BUS:

  • Flexibilidade: É a capacidade de se adequar com facilidade à necessidade do cliente/empresa, com um alto nível de parametrização e conceitos que permitem uma mudança rápida das regras de negócio.
  • Desempenho: Garantir o máximo de eficiência e agilidade possível no tempo de respost de um serviço, ou seja, diminuir o tempo decorrido desde que a solicitação é recebida pela BUS até que uma resposta (XML) à solicitação seja emitida para o consumidor.
  • Escalabilidade: A arquitetura criada tem que se adaptar a qualquer tamanho da empresa, independentemente do volume de informações que ela trafega, permitindo a aplicação de clusters nos servidores e balanceamento de carga para não sobrecarregar somente um servidor.
  • Segurança: Garantir a autenticidade das informações da organização. Podemos ter a segurança na Camada de Transporte que pode ser feita utilizando SSL (Secure Socket Layer). É uma tecnologia que garante uma proteção de dados com criptografia nas chamadas dos serviços usando o protocolo HTTPS, ou na Camada de Mensagens onde o remetente da mensagem pode encriptar a mensagem e certificar todos seus dados, e o destinatário decripta a mensagem e verifica o certificado. Esse método pode ser aplicado com WS-Security.
  • Usabilidade: Segundo a ISO 9241-11, usabilidade é a medida pela qual um produto pode ser usado por usuários específicos para alcançar objetivos específicos com efetividade, eficiência e satisfação em um contexto de uso específico. Aplicando esse conceito para a BUS, os serviços devem ser consumidos por vários clientes (.NET, Java, Delphi, VB, PHP). Esse consumo deve ser fácil para ambos os clientes, deve possuir uma baixa taxa de erros, os usuários devem aprender a interagir com os outros serviços.
  • Interoperabilidade: É a capacidade de um serviço se comunicar de forma transparente com outro serviço ou sistema. Para que um serviço seja considerado interoperável, é muito importante que ele trabalhe com padrões como XSD, BPEL, WSDL, XML, etc.

Uma empresa tem que estar preparada para conectar diversos aplicativos em execução em um número incontável de plataformas (Windows, Linux, MAC, etc.), criadas em uma grande quantidade de linguagens de programação (.NET, Java, C++ , Delphi, VB, PHP, etc).