Importância da Interoperabilidade e do SOA frente ao Big Data e ambientes móveis
Por: phardt • 8/8/2018 • Trabalho acadêmico • 1.094 Palavras (5 Páginas) • 1.118 Visualizações
Curso: Engenharia de Software
Disciplina: Arquitetura Orientada a Serviços - SOA e Webservices
Aluno: Phyllip Hardt Silva
Importância da Interoperabilidade e do SOA frente ao Big Data e ambientes móveis
Introdução
Com o crescimento, desenvolvimento e evolução no arquitetura de serviços, sistemas tem deixado de ser monolíticos e se estruturando para sistemas distribuídos, abandonando a exportação e importação de arquivos e buscando tecnologias como web services para comunicação entre si, dessa forma uma grande massa de dados é gerada as quais diferentes aplicativos e estruturas as usufruem. Com esse cenário surge o big data, o qual armazena uma gama de informações para tomadas de decisões e com isso gerando outras informações. um dos maiores coletores de dados são as aplicações móveis as quais diretamente ou indiretamente alimentam essas informações contribuindo para tendências e tomadas de decisões.
Desenvolvimento
Cada vez mais a evolução das comunicações e com isso um grande destaque a micro serviços. Anteriormente grande parte dos sistemas desenvolvidos eram monolíticos sendo que apenas um executável era responsável por todas as camadas que o sistema poderia ter. Para o mesmo sistema ter um poder de comunicação era necessário exportar arquivos, sendo que boa parte gerava layouts com informações, e outros sistemas deveriam ser capazes de ler e importar os dados gerados.
Essa forma de dados gerados pelos sistema ocasionava um grande trabalho pois os sistemas teriam que ter processos mapeamentos e específicos para poder ler esses dados, deixando um trabalho cada vez mais extenso e complexo.
Vemos que o conceito de serviços distribuido já vem de grande dada, mais nos dias de hoje se ganha muito destaque, se não, a maior prioridade que os sistemas tem buscado para seu desenvolvimento e mantimento.
Hoje um sistema deve pensar que ele somente não é capaz de resolver os problemas sozinho, com isso se vê a necessidade da Interoperabilidade, não pensando somente em comunicação entre softwares, mais também para comunicação entre os módulos, os quais podem ser distribuídos.
Estudamos um caso muito comum que é a comunicação entre bancos os quais dispõem web services para poder efetuar as transações bancárias, ganhando com isso tempo e eficiência em seu serviços.
Uma forma de aplicar esses conceitos é o próprio desenvolvimento de micro serviços o qual um sistema pode ser quebrado em várias partes e cada parte se manter por si só, com isso ganhando um baixo acoplamento, exemplo um produto como crm o qual é um serviço que efetua a parte de força de venda separado do proprio erp, e a comunicação entre eles ocorre através web services transitando protocolos rest.
Produtos voltado a dispositivos móveis tem como premissa a arquitetura orientada a serviços, o qual necessariamente precisa de ambientes com interoperabilidade, cada parte do software é desenvolvida de formas distintas e com tecnologias diferentes, sendo que um front-end para android e os-x trabalhando com linguagens distintas mais com a mesma finalidade de manter o software, dessa forma as duas tecnologias precisam se comunicar com um back-end que pode ser usadas várias tecnologias diferente, como por exemplo, java para uma camada de persistência e uma uma outra camada em python para um processamento específico.
Entre esses end points é necessário que se mantenha um contrato de comunicação entre eles, os quais precisam ter entradas e saídas com a mesma linguagem, como por exemplo json.
Os sistemas desenvolvidos com arquitetura em serviços ganham um grande desempenho pelo fato de que onde o sistema encontra o maior processamento pode-se levantar mais estancias em máquinas distintas para suprir a demanda, dessa forma se distribui o trabalho. Existem várias tecnologias que fazem esse balanceamento de carga como por exemplo o apache Spark que monta um cluster de máquinas e distribui os trabalhos para as máquinas menos sobrecarregas.
Através do SOA surgem uma gama de serviços, por exemplo: java, scala, jetty, jersey, wel, delta spike, apache spark. Os quais se comunicam com outras tecnologias de front end como node js, react, redux, angular entre outros, mantendo a interoperabilidade através de webservices e rest.
Através dessas tecnologias se vê a necessidade de grandes bancos de dados e mais variada informação, nesse quesito pode se aplicar os conceitos e usabilidade de Big Data.
Segundo LÓSCIO, 2011 O grande volume de dados gerados por aplicações Web, juntamente com os requisitos diferenciados destas aplicações, como a escalabilidade sob demanda e o elevado grau de disponibilidade, têm contribuído para o surgimento de novos paradigmas e tecnologias. As redes sociais, por exemplo, requerem o gerenciamento de grandes quantidades de dados não estruturados, os quais são gerados diariamente por milhões de usuários em busca do compartilhamento de informações, conhecimentos e interesses.
...