Buscar

SOA e Interoperabilidade

Prévia do material em texto

SOA e Interoperabilidade
Aplicação ao Big Data e Ambientes Móveis
Nome: Leonardo Carvalho Fournier
Matrícula: 201502857421
Disciplina: Arquitetura Orientada a Serviços – SOA e WebServices
Prof.: Denis Gonçalves Cople
Sumário
Introdução	3
SOA e Interoperabilidade	4
História	4
As Faces da Interoperabilidade	4
Interoperabilidade Técnica	4
Interoperabilidade semântica	4
Interoperabilidade política/humana	5
Interoperabilidade intercomunitária	5
Interoperabilidade legal	5
Interoperabilidade Internacional	5
Interoperabilidade Organizacional	5
Requisitos SOA	6
Acoplamento	6
Serviço	6
Tecnologia Envolvidas	6
Definições de SOA	7
Fundamentos de SOA	8
Big Data	11
A história do Big Data e considerações atuais	11
Ambientes Móveis	12
Benefícios	13
Referências	14
Introdução
Durante o decorrer de nossas aulas, vimos fundamentos pertinentes ao embasamento necessário para o desenvolvimento deste trabalho. Dai podemos perceber que ao longo dos anos o desenvolvimento de software tem encontrado grandes desafios, tornado este processo cada vez mais complexo, menos produtivo e mais dispendioso financeiramente, devido a grande demanda. Por isso existe, uma busca constante por abordagens que agreguem vantagens neste contexto, com a criação de softwares de forma rápida e principalmente sem comprometer a qualidade e o custo intencionando-se a boa utilização dos recursos computacionais e novas tecnologias é uma grande preocupação da indústria de software. Sendo assim, a portabilidade, interoperabilidade, preparação para manutenções e documentação se apresentam como fatores cruciais na qualificação de um sistema. 
Durante o decorr er de nossas aulas, vimo s fundamento s pert inentes ao e mbasamento 
necessár io para o desenvolviment o deste tr abalho final. D ai podemos perceber que ao 
lo ngo do s anos o desenvo lvimento de software t em encontrado grandes desafios , 
to rnado este processo cada vez mais co mp lexo, meno s pr odutivo e mais dispendioso 
financeiramente , devido a gr ande d emanda. Po r isso existe, uma busca const ante por 
abor dagens que agreguem vantagens neste contexto , co m a cr iação de so ft wares de 
for ma ráp ida e pr inc ipalmente sem co mpr ometer a qua lidade e o custo intencio nando-
se a boa utilização dos recursos computacionais e novas t ecno log ias é u ma gra nde 
preo cupação da indú str ia de so ftware. Sendo assim, a po rtabilidade, 
int ero perabilidade, preparação para ma nutenções e do cumentação se apresent a m co mo 
fatores cruciais na qua lificação de um sistema. 
SOA e Interoperabilidade
História
Em meados da década de 90, foi desenvolvido de uma forma dependente, uma forma de armazenar, recuperar e processar dados, pois algumas ilhas espaciais dificultavam o compartilhamento dos dados, funcionalidades e poder de processamento. Foram utilizados conversores de dados; os arquivos de um determinado fabricante eram convertidos para um determinado formato, que outro fabricante pudesse ler. Esse processo surgiu da necessidade de trocar informações, dados e repassar arquivos, a partir de fabricantes diferentes. O grande sucesso desse meio se dá pela simplicidade dos protocolos que são utilizados e na capacidade da distribuição da informação através dessas redes heterogêneas. A popularidade da internet facilita a troca dessas informações e dados, e o desenvolvimento dessas técnicas na Rede; serviços que são de benefício para ambos os lados(para quem envia e para quem recebe).
As Faces da Interoperabilidade
Na área da tecnologia de informação a interoperabilidade é a troca de informações e/ou dados através de computadores. Interoperabilidade é também a capacidade de comunicar, executar programas através de várias unidades funcionais, utilizando-se de linguagens e protocolos comuns. A Interoperabilidade tem várias faces, a interoperabilidade técnica é, talvez, o sistema mais responsável por manter os sistemas de informação interoperáveis, mas existem outros conceitos importantes para o nosso conhecimento:
Interoperabilidade Técnica
É o contínuo desenvolvimento de padrões de comunicação, transporte, armazenamento e representação de informações, através do envolvimento de um conjunto de organizações. É de competência da I.T facilitar a convergência de padrões, onde seja possível ter um conjunto de padrões no sistema em benefício da comunidade.
Interoperabilidade semântica
É o significado ou semântica das informações de diferentes origens, é solucionada através de ferramentas comuns de representação da informação, como classificação e ontologias.
Interoperabilidade política/humana
É de enorme importância a forma que as informações são disseminadas e a decisão de torná-las disponíveis é fundamental à organização (para equipes envolvidas e para os usuários). Políticas públicas devem existir para resolver os problemas da exclusão digital, lutar pela democratização do acesso, e pelos programas de educação a distância. 
A falta de interoperabilidade humana esta relacionada à falta de compreensão ou de entendimento entre os homens a respeito de um tema. Um exemplo deste fenômeno é a resistência de alguns dirigentes de universidades ou mesmo da área governamental em adotar as iniciativas do acesso livre ao conhecimento científico. Um outro exemplo, ainda na área governamental, diz respeito ao empreendimento de uma mesma ação na mesma área ou setor.
Interoperabilidade intercomunitária
Muitas informações são escritas todos os dias e uma grande parte delas não tem compromisso com a verdade, são muitas fontes e não há controle. Nas áreas de pesquisa essa problemática é ainda maior, é muito importante a criação de fóruns para discussão.
Interoperabilidade legal
São exigências e implicações legais de tornar livremente disponíveis itens de informação.
Interoperabilidade Internacional
É necessário conduzir bem a língua, atentar as diferenças linguísticas, normas e padrões.
Interoperabilidade Organizacional
Envolve a edição de processo das organizações que tenham objetivos e metas que envolvam a cooperação do grupo.
Requisitos SOA
A fim de utilizar eficientemente uma SOA, deve-se atender aos seguintes requisitos:
A interoperabilidade entre diferentes sistemas e linguagens de programação fornece a base para a integração entre aplicações em diferentes plataformas, através de um protocolo de comunicação. Um exemplo dessa comunicação depende do conceito de mensagens. Usando mensagens, através de canais de mensagens definidos, diminui a complexidade da aplicação final. Isto permite que novas funcionalidades sejam desenvolvidas para um formato de negócio de referência comum para cada elemento de dados.
Acoplamento
É o nível de interdependência entre os módulos de um sistema. Uma das características do SOA é o baixo acoplamento. Um módulo é considerado coeso quando possui uma atividade bem definida e um baixo acoplamento. Diferentemente do que as pessoas pensam, SOA não se trata de uma simples invenção. A arquitetura orientada a serviços nada mais é que a evolução natural da arquitetura de sistemas tradicional para solucionar as necessidades de desenvolvimento e capacidade de adaptação às novas demandas de mercado, que se faz cada vez mais exigente em qualidade e agilidade.
Serviço	
Um serviço, do ponto de vista da arquitetura SOA, é uma função de um sistema que é disponibilizado para outro sistema. Um serviço deve funcionar de forma independente do estado de outros serviços. Normalmente, a comunicação entre o sistema cliente e aquele que disponibiliza o serviço é realizada através de Web Services.
Tecnologia Envolvidas
O termo "Service-Oriented Architecture" (SOA) ou Arquitetura Orientada a Serviços expressaum conceito no qual aplicativos ou rotinas são disponibilizadas como serviços em uma rede de computadores (Internet ou Intranets) de forma independente e se comunicando através de padrões abertos. A maior parte das implementações de SOA se utilizam de Web Services (SOAP , REST e WSDL). Entretanto, uma implementação de SOA pode se utilizar de qualquer tecnologia padronizada baseada em web.
Definições de SOA
O SOA coloca a prestação de serviço como eixo de todo o negócio, dando destaque à gestão de serviços e ao cliente.
	Termo
	Definição / Comentário
	Serviço
	É uma função independente, sem estado (stateless) que aceita uma ou mais requisições e devolve 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.
	Orquestração
	Processo de sequenciar serviços e prover uma lógica adicional para processar dados. Não inclui uma representação de dados.
	Stateless
	Não depende de nenhuma condição pré-existente. Os serviços não devem depender de condições de outros serviços. Eles recebem todas as informações necessárias para prover uma resposta consistente. O objetivo de buscar a característica de stateless dos serviços é possibilitar que o consumidor do serviço possa sequenciá-lo, ou seja, orquestrá-los em vários fluxos (algumas vezes chamados de pipelines) para executar a lógica de uma aplicação.
	Provedor
	O recurso que executa o serviço em resposta a uma requisição de um consumidor.
	Consumidor
	É quem consome ou pede o resultado de um serviço fornecido por um provedor.
	Descoberta
	SOA se baseia na capacidade de identificar serviços e suas características. Consequentemente, esta arquitetura depende de um diretório que descreva quais os serviços disponíveis dentro de um domínio.
	Binding
	A relação entre os serviços do provedor e do consumidor deve ser idealmente dinâmica; ela é estabelecida em tempo de execução através de um mecanismo de binding.
Fundamentos de SOA
Como serviços encapsulam a lógica
Pode ser em contextos distintos. Estes contextos podem ser específicos para uma tarefa de negócio, entidades de negócio e outros agrupamentos de negócio.
Na figura, quando construímos uma solução consistente de serviço, cada serviço pode encapsular a tarefa realizada por um passo individual ou um sub-processo composto de um conjunto de passos. Um serviço pode encapsular toda a lógica do processo. O último caso representado pelo serviço pode englobar a lógica encapsulada de outros serviços.
Como serviços são relacionados
Dentro do SOA serviços podem ser usados por outros serviços ou por outros programas. Independentemente, o relacionamento por trás do serviço é baseado no entendimento que os serviços possam interagir. Eles devem estar atentos ao outro. Esta consciência é obtida através do uso da descrição do serviço.
Como serviços se comunicam
Quando as mensagens são enviadas eles perdem o controle do que acontece depois. Essas mensagens podem ser equipadas com inteligência suficiente para autogovernar as partes lógicas do processamento.
Esta arquitetura é similar ao passado da arquitetura distribuída que suporta mensagens e separação de interface de processamento lógico. O que distingue é como esses três componentes fundamentais (serviço, descrição e mensagem) são projetados. Onde entra a orientação de serviços.
Como serviços são projetados
Acoplamento: busca-se um fraco acoplamento. 
Contrato de serviço: meio de acesso a esse serviço. 
Autonomia: serviços têm controle sobre a lógica que a encapsulam. 
Abstração: além do que é descrito no contrato de serviço, serviços escondem a lógica do mundo exterior. 
Reusabilidade: a lógica é dividida no serviço com a intenção de reuso. 
Agregabilidade: coleções de serviços podem ser coordenados e montados em forma de serviços compostos. 
Stateless: serviços minimizam a retenção da informação em determinada atividade. 
Descoberta: serviços são projetados para ser exteriormente descrito, para que possam ser encontrados e avaliados através de mecanismos de descobertas disponíveis.
Como serviços são construídos 
A obtenção do SOA não exige serviço web, mas SOA pode e deve ser realizada através do uso da plataforma de tecnologia de serviço web.
Big Data
É o termo que descreve o imenso volume de dados – estruturados e não estruturados – que impactam os negócios no dia a dia. Mas o importante não é a quantidade de dados. 
E sim o que as empresas fazem com os dados que realmente importam. Big Data pode ser analisado para a obtenção de insights que levam a melhores decisões e direções estratégicas de negócio.
A história do Big Data e considerações atuais
O conceito ganhou força no início dos anos 2000, quando um analista famoso deste setor, Doug Laney, articulou a definição de big data como os três Vs: 
Volume. Organizações coletam dados de uma grande variedade de fontes, incluindo transações comerciais, redes sociais e informações de sensores ou dados transmitidos de máquina a máquina. No passado, armazenar tamanha quantidade de informações teria sido um problema – mas novas tecnologias (como o Hadoop) têm aliviado a carga.
Velocidade. Os dados fluem em uma velocidade sem precedentes e devem ser tratados em tempo hábil. Tags de RFID, sensores, celulares e contadores inteligentes estão impulsionado a necessidade de lidar com imensas quantidades de dados em tempo real, ou quase real. 
Variedade. Os dados são gerados em todos os tipos de formatos - de dados estruturados, dados numéricos em bancos de dados tradicionais, até documentos de texto não estruturados, e-mail, vídeo, áudio, dados de cotações da bolsa e transações financeiras.
Consideramos duas dimensões adicionais quando falamos sobre big data: 
Variabilidade. Além da velocidade e variedade de dados cada vez maiores, os fluxos de dados podem ser altamente inconsistentes com picos periódicos. Existe algo em tendência nas redes sociais? Diariamente, picos de dados sazonais ou picos gerados com base em eventos podem ser um desafio de gerenciar. Ainda mais quando falamos de dados não estruturados. 
Complexidade. Os dados de hoje vem de várias fontes, o que torna difícil estabelecer uma relação, corresponder, limpar e transformar dados entre diferentes sistemas. No entanto, para que seus dados não saiam rapidamente de controle, é necessário ligar e correlacionar relações, hierarquias e as várias ligações de dados.
Ambientes Móveis
Anteriormente, a maioria dos projetos tradicionais de data warehousing e business intelligence (BI) envolvia a coleta, a purificação e a análise dos dados extraídos de sistemas locais essenciais para os negócios. Embora essa prática ultrapassada esteja sendo alterada, é pouco provável que a maioria das organizações tenha pressa em transferir seus sistemas ou dados essenciais (confidenciais dos clientes e corporativos) para ambientes de nuvem pública visando a análise. No entanto, as empresas estão adotando o modelo de nuvem para propósitos operacionais e transacionais de negócios.
Atualmente, o maior potencial para a computação em nuvem está no processamento dos dados que já existem nos centros em nuvem. Muitos websites, aplicativos e serviços funcionais passarão a ser baseados em nuvem cedo ou tarde. Na verdade, todos os tipos de ativos físicos serão perfeitamente integrados com serviços baseados em nuvem. Por exemplo, os sensores e atuadores térreos estão cada vez mais ligados a softwares baseados em nuvem. Esse tipo de desenvolvimento indica que a futura análise de dados florescerá em ambientes de nuvem.
Atualmente, as nuvens públicas fornecem nativamente muitos tipos de plataformas e ferramentas de análise de big data para acelerar a análisede dados a um custo financeiramente suportável. As tecnologias de otimização de WAN estão amadurecendo rapidamente para reduzir significativamente a latência de rede e ainda transmitir grandes quantias de dados de um sistema para outro, em nuvens distribuídas geograficamente. Esquemas de nuvens federadas, abertas, conectadas e interoperáveis estão surgindo e, em breve, está previsto o surgimento da internuvem usando padrões abertos e automações mais abrangentes.
Com a contínua adoção e articulação de novos recursos e competências, como computação, armazenamento e rede definidos por software, a análise de dados baseada em nuvem deverá expandir-se imensamente.
Benefícios
Aqui está uma lista dos principais benefícios potenciais da transferência para a nuvem:
Agilidade e sustentabilidade financeira - O investimento de capital de uma infraestrutura de TI em grande escala não é necessário. Apenas use e pague.
Plataformas de dados grandes e rápidos - É rápido e fácil implementar e usar qualquer tipo de plataforma de big data (genérica ou específica, aberta ou de nível corporativo) para análise.
Plataformas Hadoop de ponta a ponta - Visualização, ingestão, processamento, mineração, análise de dados e tarefas de visualização de informações estão sendo executadas por essas plataformas.
Sistemas de gerenciamento de dados - Bancos de dados SQL, NoSQL e NewSQL paralelos, em cluster e distribuídos estão sendo disponibilizados nas nuvens.
Sistemas de data warehouse - Recentemente, estão sendo concretizados recursos de data warehouse como serviço (DWaaS).
Sites sociais, lojas de aplicativos móveis e aplicativos semelhantes - Aplicativos populares de mídia e rede social estão sendo executados em nuvens públicas.
Tecnologias de otimização de WAN - Surgem novos produtos e plataformas de otimização de WAN para transmitir dados com eficiência na infraestrutura da Internet.
Aplicativos de negócios em nuvens - Com os Enterprise Information Systems (EIS), os aplicativos empacotados essenciais para os negócios, como ERP, CMS, SCM, KM, entre outros, também estão sendo implementados em nuvens.
Integradores, brokers e orquestradores em nuvem - Estão disponíveis produtos e plataformas para interoperabilidade perfeita entre sistemas, serviços e dados diferentes e distribuídos.
Os sistemas operacionais, transacionais e analíticos estão sendo modernizados, migrados e hospedados em nuvens.
Dispositivos, sensores e outras máquinas estão sendo integradas a aplicativos nativos da nuvem, assim como aplicativos, serviços e dados.
Referências
Wikipedia
Interoperabilidade
Arquitetura Orientada a Serviços
IBM developerWorks
SaaS
3

Continue navegando