Buscar

ARQUITETURA ORIENTADA A SERVIÇOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Data: 22/10/2020
	
	
	Atividade
	
	Curso: Tecnologia em Redes de Computadores
	
	
	
	Disciplina: COMPUTAÇÃO EM NUVEM
	
ARQUITETURA ORIENTADA A SERVIÇOS (SOA)
Quando estamos lidando com aplicações a nível empresarial, é muito comum ouvirmos sobre uns tais de Serviços SOA. É comum até mesmo ouvirmos os termos “barramento SOA” ou “fachada SOA”. E tudo isso dentro do que geralmente chamam de “arquitetura SOA”. Mas, o que é tudo isso? Será que estamos falando simplesmente de web services?
Uma solução fundamentada em SOA geralmente possui uma arquitetura baseada em padrões para a criação de uma infraestrutura de TI, visando simplificar as relações entre sistemas distintos, aperfeiçoando seu funcionamento e facilitando a incorporação de novos elementos. Sendo assim, caso haja mudanças nas necessidades do negócio, estes fatores permitem que a empresa responda a isso de forma rápida.
Essa exposição de regras de negócio é realizada basicamente através dos famosos web services, pois são eles que determinam os padrões e acabam especificando essa infraestrutura de TI que foi citada. A vantagem de termos essa estrutura em uma organização é justamente a flexibilidade que os web services trazem. Para isso ficar mais claro, vamos utilizar o seguinte exemplo:
Imagine que você tem uma infinidade de softwares que devem ser capazes de fazer a inserção de um novo cliente na base de dados de sua empresa. Cada um destes softwares é mantido por um prestador de serviços diferente e, pior ainda, cada um destes softwares foi escrito em uma linguagem diferente. Para piorar mais um pouquinho: sua organização tem uma série de validações que precisam ser realizadas antes de permitir a inserção desse novo cliente, sendo mandatório que todos os softwares realizem essas validações da maneira correta.
Para muitas empresas este é um cenário caótico. São sistemas que utilizam linguagens diferentes e desenvolvidos por pessoas diferentes fazendo a interação direta com o negócio da sua organização, além de existirem regras de validação a serem seguidas para garantir o sucesso e efetividade do negócio.
Esse é exatamente o cenário perfeito para a utilização da arquitetura SOA, pois temos ativos de negócio envolvidos em um ambiente completamente heterogêneo. E todo mundo precisa conversar entre si.
Pensando em uma arquitetura voltada a serviços, nós poderíamos resolver isso de maneira muito fácil. Poderíamos criar um web service chamado “IncluirCliente”. Este web service será responsável por fazer todas as validações do cliente antes de o inserir na base de dados. Assim, caberia aos demais softwares simplesmente consumir esse serviço da maneira adequada.
Agora as coisas ficaram muito mais simples. Conseguimos centralizar o nosso ativo de negócio (no caso, o cliente e a sua inserção), garantindo que o fluxo de negócio dele sempre ocorra da maneira correta (temos certeza que o cliente sempre vai ser validado da maneira correta).
Também garantimos reutilização com esse web service: para qualquer software que necessite incluir clientes na base da organização, bastará a utilização deste web service. Sendo assim, facilitamos a relação entre os sistemas distintos da organização, pois qualquer linguagem é capaz de consumir um web service, o que coloca um pouco de ordem neste nosso ambiente completamente heterogêneo.
Por fim, garantimos extensibilidade pois, se quisermos um dia alterar a regra de negócio de validação do cliente ou mesmo acrescentar novas etapas do negócio, basta modificarmos o web service. Todos os softwares que consomem este web service serão automaticamente “atualizados”. Esta é a arquitetura SOA!
Não, não basta criarmos e expormos web services para dizer que estamos utilizando uma arquitetura orientada a serviços. Perceba que temos um problema que vai muito além da questão técnica de criar ou não um web service em uma determinada linguagem. Temos a barreira do negócio. O modelo de negócio da organização fica exposto nos serviços quando estamos utilizando SOA. Por isso, é essencial uma completa integração entre o setor de negócios e o setor de tecnologia. Essa é outra intenção da utilização da arquitetura SOA: implementar tecnologia de ponta para o negócio da empresa, tornando-a mais competitiva no mercado.
Temos ainda várias outras questões envolvidas nesse processo: como proteger os web services, já que serviços SOA certamente receberão dados sensíveis para o negócio? Como saber o que pode ser exposto e o que não pode ser exposto? Como conseguir ter governança de TI de verdade em um ambiente orientado a serviços?
Service Oriented Architectures (SOA) é, em tradução livre, Arquitetura Orientada a Serviços. Esse conceito de arquitetura busca disponibilizar as funcionalidades de um sistema como um serviço.
Desta forma, essas funcionalidades podem ser compartilhadas e reutilizadas entre aplicações. Seu principal objetivo é ser mais flexível em atender às necessidades do mercado.
Em 1996, os pesquisadores do Gartner Roy Schulte e Yefim Natis mencionaram pela primeira vez o conceito do SOA em um artigo. Os usuários dessa abordagem ganham em flexibilidade, agilidade e redução de custos na reutilização de serviços.
Um dos componentes mais importantes do SOA é o Enterprise Service Bus (ESB), um barramento de serviços corporativos.
Esse barramento disponibiliza com maior facilidade os serviços do sistema para os usuários e outras aplicações, acelerando processos de integração.
O alinhamento com as regras de negócio é um dos maiores benefícios desse tipo de arquitetura. Podemos elencar outras vantagens como:
 A diminuição do tempo de desenvolvimento;
 O baixo acoplamento entre as partes do sistema facilita a manutenção;
 O isolamento da estrutura de um serviço traz flexibilidade durante mudanças;
 Facilidade de agregar novas tecnologias a plataformas;
 E a possibilidade de reutilização de componentes.
Para implementar o SOA com sucesso é importante ter uma infraestrutura bem desenvolvida, arquitetura de referência consolidada e uma política de governança para direcionar os trabalhos.
Assim como qualquer tipo de arquitetura de software, a SOA possui vantagens e desvantagens. O DevMedia listou os 7 principais benefícios que esse tipo de arquitetura traz:
1. Reutilização
Os serviços são independentes entre si. Logo eles podem ser reaproveitados em outros programas que também empreguem a mesma filosofia de implementação. O reúso também traz produtividade às equipes, uma vez que elas podem focar em serviços que ainda não foram reutilizados.
2. Flexibilidade
O isolamento dos módulos permite uma maior flexibilidade como um todo. Novas regras de negócio podem ser concebidas alterando os serviços pertencentes ao sistema ou mudando a comunicação entre eles.
3. Fácil manutenção
Como os módulos são isolados, a manutenção se torna mais fácil. O problema é resolvido dentro de um módulo específico sem afetar os demais.
4. Alinhamento com o negócio
Os processos são visualizados de maneira mais fácil, devido aos serviços representarem cada etapa do negócio. Dessa maneira, é possível alinhar melhor seus objetivos com essa arquitetura.
5. Interoperabilidade
Os serviços são independentes da plataforma ou da tecnologia. Eles podem ser desenvolvidos usando qualquer linguagem de programação em qualquer sistema operacional, desde que consigam comunicar entre si. O resultado é a integração com outros sistemas, serviços e aplicações.
6. Padronização
Toda a SOA é baseada em padrões de comunicação. Então apesar da interoperabilidade e diversidade de aplicações e serviços dentro do produto, eles devem utilizar a mesma comunicação.
7. Abstração
Os serviços são abstraídos da implementação. Isso quer dizer que o desenvolvimento não é específico para um sistema e pode ser adaptado conforme a sua utilização.
Agora que já sabemos quais são as vantagens da SOA, está na hora de conhecermos suas limitações. Veja 6 desvantagens dessa arquitetura, ainda segundo a DevMedia:
1. Complexidade
Como uma grande quantidade deserviços precisa ser coordenada, a dificuldade de gerenciamento aumenta sensivelmente. A heterogeneidade dos serviços e o fato deles serem desenvolvidos por empresas diferentes usando linguagens distintas também é um fator de complexidade.
2. Performance
O desempenho da SOA é altamente dependente do servidor onde estão hospedados os módulos. A disponibilidade da rede também pode ser causa de gargalos e lentidão dos serviços.
3. Robustez
Erros no programa podem ser incontroláveis e não tratáveis. Isso acontece porque cada módulo lida com exceções de forma diferente e a arquitetura tem dificuldade para dar manutenção a sistemas heterogêneos.
4. Disponibilidade
Esse problema é bastante similar àquele enfrentado por serviços web. Quando há queda do servidor ou da rede, todo o resto fica indisponível.
5. Testabilidade
Assim como vimos para a robustez, os testes e debugs são tarefas difíceis para os desenvolvedores, uma vez que as aplicações são heterogêneas.
6. Segurança
Os serviços disponibilizados na rede estão suscetíveis a ataques e interceptação de dados. Também estão vulneráveis à sobrecarga de usuários e a outros problemas oriundos desse tipo de plataforma.
O grande desafio da implementação da SOA nas empresas está em alterar seu plano de negócios. Para que funcione, é importante que no começo de um projeto as várias áreas de desenvolvimento sejam desenhadas para atuarem como módulos independentes.
Dessa maneira, o desenvolvimento poderá ser feito como se fossem serviços separados. A equipe conseguirá avaliar quais módulos precisam ser desenvolvidos e quais podem ser adquiridos por meio de terceirização ou reutilização de produtos já prontos.
Há ainda as questões de segurança e de governança de TI. É preciso definir bem quais dados serão acessados por esses serviços sem comprometer o modelo de negócios da empresa. O problema da governança tem suas limitações quando o assunto envolve os serviços terceirizados.
No entanto, os benefícios valem a pena perante os desafios. O uso da SOA aumenta a maturidade do software e transmite mais confiabilidade para os clientes. A equipe ganha foco para desenvolver as partes que realmente importam. Já os clientes se beneficiam com um produto mais estável e fluido.
A adoção da SOA traz o alinhamento entre tecnologia e processo. O mercado, no entanto, precisa apoiar essa iniciativa. Os setores de estratégia das empresas devem sofrer uma mudança organizacional para que sua filosofia seja implementada com sucesso.
Para finalizar, podemos afirmar que a aplicação da SOA vai além da criação de serviços como módulos independentes e de sua utilização através de protocolos de web services. É preciso que haja a integração completa entre o modelo de negócio proposto e a tecnologia desenvolvida que faça suporte a ele.
5. SOA representa um modelo baseado em padrões de arquitetura com ênfase em serviços de negócios e operações centradas em vez do que a tecnologia orientada para objetivos: Em outras palavras, um estilo arquitetônicos que as empresas podem utilizar para executar os serviços e alinhar com o seu modelo de negócios para atingir sua estratégia de negócios, metas e objetivos.
6. SOA Quais são as principais empresas que fornece esse serviço?
8. Azure • O Microsoft Azure é a plataforma de serviço de nuvem para os profissionais de TI desenvolver, implantar e gerenciar soluções ou ferramentas a sua escolha; • Seu funcionamento é uma combinação de software como serviço (SaaS) com computação em grelha;
10. AWS • A Amazon Web Services (AWS) é uma plataforma de serviços em nuvem segura, oferecendo poder computacional, armazenamento de banco de dados, distribuição de conteúdo e outras funcionalidades para ajudar as empresas em seu dimensionamento e crescimento. Explore como milhões de clientes estão utilizando os produtos e as soluções na Nuvem AWS e soluções para construir aplicações sofisticadas com mais flexibilidade, escalabilidade e confiabilidade.
11. Diferencia entre SOA e Data Center • Um Data Center tradicional nada mais é do que um servidor que funciona vinte e quatro horas por dia para manter seus dados armazenados acessíveis a qualquer momento. • Já a Cloud Computing vem com a ideia de independência geográfica, ou seja, os dados não ficam armazenados em apenas um local específico, mas são replicados em diversos servidores espalhados pelo mundo.
12. Cloud Computing nos Dispositivos Moveis;
13. ONEDRIVE • OneDrive, (antes chamado de SkyDrive) é um serviço de armazenamento em nuvem da Microsoft. Com ele é possível armazenar e hospedar qualquer arquivo, usando uma Conta da Microsoft. Também é possível definir arquivos públicos (qualquer pessoa poderá acessar a pasta definida como pública), somente amigos (apenas os amigos do usuário), usuários definidos (apenas usuários predeterminados podem acessar a pasta definida para eles/ele acessar) ou privados (somente o usuário que hospedou poderá acessar a pasta definida). O serviço oferecia 25 GB de armazenamento até 24 de Abril de 2012. A versão final foi lançada dia 21 de fevereiro de 2008. Em 27 de Janeiro de 2014, a Microsoft anunciou a mudança de nome do serviço de Skydrive para Microsoft OneDrive. • Em 2015, a Microsoft anunciou que irá apenas oferecer apenas 5 GB grátis para seus usuários, mas após campanhas ela deixou os 15 GB anteriores para usuários que se pedissem num cadastro, caso não se cadastrassem terão o corte.
14. DROPBOX • Dropbox é um serviço para armazenamento e partilha de arquivos. É baseado no conceito de "computação em nuvem" ("cloud computing"). Ele pertence ao Dropbox Inc., sediada em San Francisco, Califórnia, EUA. • A empresa desenvolvedora do programa disponibiliza centrais de computadores que armazenam os arquivos de seus clientes. Uma vez que os arquivos sejam devidamente copiados para os servidores da empresa, passarão a ficar acessíveis a partir de qualquer lugar que tenha acesso à Internet. O princípio é o de manter arquivos sincronizados entre dois ou mais computadores que tenham o aplicativo do Dropbox instalado. • O Dropbox é utilizado por mais de 25 milhões de pessoas no mundo. O Dropbox oferece 2 GB de espaço gratuito na rede para sincronizar e compartilhar arquivos com outros usuários. Em 2014, a Dropbox Inc foi avaliada em US$ 10 bilhões.
15. GOOGLE DRIVE • Google Drive é um serviço de armazenamento e sincronização de arquivos, apresentado pela Google em 24 de abril de 2012. Google Drive abriga agora o Google Docs, um leque de aplicações de produtividade, que oferece a edição de documentos, folhas de cálculo, apresentações, e muito mais. O Google Drive é considerado uma "evolução natural" do Google Docs (uma vez ativado substitui a URL docs.google.com por drive.google.com). Rumores sobre o Google Drive começaram a circular no início de março de 2006. Com o lançamento do Google Drive, o Google aumentou o espaço de armazenamento do Gmail para 15 GB. • O Google Drive baseia-se no conceito de computação em nuvem, pois o internauta poderá armazenar arquivos através deste serviço e acedê-los a partir de qualquer computador ou outros dispositivos compatíveis, desde que ligados à internet. Para além disso o Google Drive disponibiliza vários aplicativos via online, sem que esses programas estejam instalados no computador da pessoa que os utiliza. • O Google Drive dá ao usuário 15 GB grátis de armazenamento no início. Um utilizador consegue espaço extra, que é compartilhado entre Google Foto e Google Drive, que vai de 25 GB até 16TB pagando uma quantia mensal Pode ser adquirido através da contratação de um plano de pagamento mensal.
16. MEGA • Mega (estilizado como MEGA) é o sucessor do Megaupload. • Mega é encriptado utilizando o algoritmo AES. Assim, não é possível ter acesso aos conteúdos de um ficheiro sem conhecer a chave. Dotcom também é livre de qualquer possível crime, uma vez que apenas os autores dos arquivos têm as "chaves" para a sua leitura e modificação. Isso também irá complicar a tentativa de excluir um arquivo da polícia, pois é necessário decifrar cada arquivoindividualmente.

Continue navegando