Mapa mental
SOA - Continuação
Contenido del mapa
SOA - Continuação
Objetivos
- Interoperabilidade intrínseca: Estabelecer a interoperabilidade nativa dentro dos serviços, a fim de reduzir a necessidade de integração. (Independente de plataforma ou tecnologia).
- Maior Federação: Um ambiente federado é aquele em que recursos e aplicativos são unidos, entretanto, cada um mantém sua autonomia e autogestão
- Diversificação de Fornecedores: trata da capacidade que o cliente tem de analisar diversos fornecedores e serviços, invocando o melhor serviço ou aquele que seja mais condizente com sua demanda.
Vantagens
- Reutilização: O serviço pode ser reutilizado para outras aplicações
- Produtividade: Com o reúso, a equipe de desenvolvimento pode reutilizar serviços em outros projetos. Ganhando tempo.
- Flexibilidade: isolando a estrutura de um serviço as mudanças são feitas com maior facilidade.
- Manutenibilidade: Devido o baixo acoplamento, facilita a manutenção dos serviços
- Alinhamento com o negócio: a área de negócio visualiza os processos alinhados com a tecnologia.
- Integração: a integração com outros serviços, aplicativos e sistemas legados.
- Governança: gerenciamento dos processamentos de negócio.
- Padronização: é baseado no uso de padrões (de design, de contratos, protocolos etc).
- Abstração: serviço totalmente abstraído da sua implementação.
- Riscos: auxilia a mitigação de riscos de negócio.
- Abstração: serviço totalmente abstraído da sua implementação.
- Padronização: é baseado no uso de padrões (de design, de contratos, protocolos etc).
- Governança: gerenciamento dos processamentos de negócio.
- Integração: a integração com outros serviços, aplicativos e sistemas legados.
- Alinhamento com o negócio: a área de negócio visualiza os processos alinhados com a tecnologia.
- Manutenibilidade: Devido o baixo acoplamento, facilita a manutenção dos serviços
- Flexibilidade: isolando a estrutura de um serviço as mudanças são feitas com maior facilidade.
- Produtividade: Com o reúso, a equipe de desenvolvimento pode reutilizar serviços em outros projetos. Ganhando tempo.
- Reutilização: O serviço pode ser reutilizado para outras aplicações
Desvantagens
- Performance: a performance depende do servidor onde o serviço está publicado, como também da rede.
- Complexidade: uma grande quantidade de serviços precisa ser gerenciada.
- Robustez: caso uma exceção acontecer não tem como reverter o processo
- Disponibilidade: uma queda na rede ou no servidor deixa todos os serviços indisponíveis.
- Governança: exige-se que haja governança na organização.
- Design: grande aumento na complexidade do design dos serviços.
- Segurança: os serviços estão disponíveis na rede, qualquer aplicativo pode consumir esse serviço, os dados são trafegados pela rede podendo ser interceptados.
- Design: grande aumento na complexidade do design dos serviços.
- Governança: exige-se que haja governança na organização.
- Disponibilidade: uma queda na rede ou no servidor deixa todos os serviços indisponíveis.
- Robustez: caso uma exceção acontecer não tem como reverter o processo
- Complexidade: uma grande quantidade de serviços precisa ser gerenciada.
- Performance: a performance depende do servidor onde o serviço está publicado, como também da rede.
3 Papeis base em comportamentos responsabilidade de um serviço: Prestadores de Serviços, Registro de Serviços e Solicitantes de Serviços
- Modelo arquitetônico triangular: Baseado em 3 entidades (webservices 1ª geração:) WSDL: Publica e descreve o serviço. SOAP: Definir o formato das msgs. DDI: Definir o formato do repositório do serviço
- Existem dois modelos similares ao de cima: Publish - Find - Bind, formado pelo prestador de serviço, solicitante de serviço e o registro de serviço (Nesse contexto, Broker de Serviços)
- Find - Bind - Execute: Formado pelo os 3, funciona assim: prestadores de serviços publicam serviços no registro de serviço; consumidores de serviços realizam uma busca por algum serviço de interesse. Caso o consumidor encontre o serviço desejado, é criado um contrato devolve-se um endereço (comumente chamado de endpoint para utilização do serviço.
- Find - Bind - Execute: Formado pelo os 3, funciona assim: prestadores de serviços publicam serviços no registro de serviço; consumidores de serviços realizam uma busca por algum serviço de interesse. Caso o consumidor encontre o serviço desejado, é criado um contrato devolve-se um endereço (comumente chamado de endpoint para utilização do serviço.
- Existem dois modelos similares ao de cima: Publish - Find - Bind, formado pelo prestador de serviço, solicitante de serviço e o registro de serviço (Nesse contexto, Broker de Serviços)
- Modelo arquitetônico triangular: Baseado em 3 entidades (webservices 1ª geração:) WSDL: Publica e descreve o serviço. SOAP: Definir o formato das msgs. DDI: Definir o formato do repositório do serviço
Princípios de Design. São 8 segundo Thomas Erl:
- Contrato de Serviço: trata-se de um documento que descreve o que o serviço faz, dentre outras coisas. são neles que estão sendo expostas todas as características, ou seja, todas as funcionalidades que poderão ser usadas por outras aplicações ou serviços. Dessa forma, clientes podem buscar funcionalidades e utilizá-las conforme sua necessidade.
- Baixo Acoplamento: Partes são pouco dependentes. O baixo acoplamento de um serviço está relacionado com sua capacidade de ser independente de outros serviços para realizar sua tarefa. Uma consequência boa do baixo acoplamento é a alta coesão (Divisão de Responsabilidades).
- Abstração de Serviços: serviços devem ser vistos como uma caixa-preta que compõe um sistema. Se eu quiser mudar a implementação, refatorar, manutenir, não há nenhum problema – desde que eu mantenha os padrões de entrada e saída definidos no contrato. O papel principal desse princípio é manter a quantidade e os detalhes do conteúdo do contrato concisos e equilibrados e evitar o acesso desnecessário a detalhes de serviço adicionais. A abstração de serviço tem como objetivo principal criar uma interface de comunicação com o mundo exterior. (Pode mudar, contanto que não afete)
- Reusabilidade de Serviços: Um serviço reutilizável é aquele que não carrega particularidades técnicas de uma implementação ou regra de negócio específica e é genérico o suficiente para atender outros projetos.
- Autonomia de Serviços: É a capacidade de um serviço se auto-administrar. Maior confiabilidade, pois podem operar com menos dependência de recursos. O ato de se autogovernar ou autonomia de serviço pode trazer alguns benefícios claros como, por exemplo, o desempenho. Essa autonomia é medida e disponibilizada nos contratos formais, tendo como finalidade esclarecer o nível de independência aos seus consumidores.
- Independência de Estados de Serviços: A independência de estado é quando um serviço não precisa reter nenhum dado do estado para que outro serviço processe a sua lógica. Ex: HTTP. Ele monta seu cabeçalho e todo o conteúdo da página que é enviada para o navegador, retornando a uma condição de independência de estado em que ele não retém nenhuma solicitação ou memória adicional do navegador.
- Visibilidade: O objetivo principal é fazer com que o serviço se torne visível a todos, aumentando assim a agilidade, a produtividade e a confiabilidade dos consumidores. Os serviços são projetados para que sejam encontrados e seus propósitos e capacidades sejam claramente entendidos, ou seja, os contratos de serviços devem ter metainformações extras que transmitem claramente o que o serviço realmente faz.
- Composição de Serviço: A composição de serviços permite que as capacidades de um serviço sejam combinadas várias vezes com as de outros serviços em novas configurações a fim de resolver problemas diferentes. Ex: Os correios disponibilizam um serviço tal que, dado um CEP, retorna um endereço. Eles também oferecem outro serviço tal que, dado um CEP, retorna os tipos de frete e seus valores. Esses serviços isoladamente resolvem determinados problemas específicos. Quando compostos, esses resolvem outros tipos de problemas. Capacidade de se compor para elaborar um serviço de mais alto nível
- Visibilidade: O objetivo principal é fazer com que o serviço se torne visível a todos, aumentando assim a agilidade, a produtividade e a confiabilidade dos consumidores. Os serviços são projetados para que sejam encontrados e seus propósitos e capacidades sejam claramente entendidos, ou seja, os contratos de serviços devem ter metainformações extras que transmitem claramente o que o serviço realmente faz.
- Independência de Estados de Serviços: A independência de estado é quando um serviço não precisa reter nenhum dado do estado para que outro serviço processe a sua lógica. Ex: HTTP. Ele monta seu cabeçalho e todo o conteúdo da página que é enviada para o navegador, retornando a uma condição de independência de estado em que ele não retém nenhuma solicitação ou memória adicional do navegador.
- Autonomia de Serviços: É a capacidade de um serviço se auto-administrar. Maior confiabilidade, pois podem operar com menos dependência de recursos. O ato de se autogovernar ou autonomia de serviço pode trazer alguns benefícios claros como, por exemplo, o desempenho. Essa autonomia é medida e disponibilizada nos contratos formais, tendo como finalidade esclarecer o nível de independência aos seus consumidores.
- Reusabilidade de Serviços: Um serviço reutilizável é aquele que não carrega particularidades técnicas de uma implementação ou regra de negócio específica e é genérico o suficiente para atender outros projetos.
- Abstração de Serviços: serviços devem ser vistos como uma caixa-preta que compõe um sistema. Se eu quiser mudar a implementação, refatorar, manutenir, não há nenhum problema – desde que eu mantenha os padrões de entrada e saída definidos no contrato. O papel principal desse princípio é manter a quantidade e os detalhes do conteúdo do contrato concisos e equilibrados e evitar o acesso desnecessário a detalhes de serviço adicionais. A abstração de serviço tem como objetivo principal criar uma interface de comunicação com o mundo exterior. (Pode mudar, contanto que não afete)
- Baixo Acoplamento: Partes são pouco dependentes. O baixo acoplamento de um serviço está relacionado com sua capacidade de ser independente de outros serviços para realizar sua tarefa. Uma consequência boa do baixo acoplamento é a alta coesão (Divisão de Responsabilidades).
- Contrato de Serviço: trata-se de um documento que descreve o que o serviço faz, dentre outras coisas. são neles que estão sendo expostas todas as características, ou seja, todas as funcionalidades que poderão ser usadas por outras aplicações ou serviços. Dessa forma, clientes podem buscar funcionalidades e utilizá-las conforme sua necessidade.
CORBA: Arquitetura padrão que possibilita a troca de dados entre sistema distribuídos heterogêneos através de OMA. O Componente fundamental é o ORB, que é responsável pela a interoperabilidade entre objetos. O ORB é responsável por aceitar requisições, envia-las ao objeto correto e entregar a resposta ao consumidor.
- Independente de Linguagem de Programação e Tecnologia.
Imágenes y archivos del mapa
Información
- Descripción
- Concursos Públicos (Desenvolvimento de sistemas web e web services) Tecnologia Mapa Mental sobre SOA - Continuação, creado por PHILLIPE SANTOS el 23/09/2016.
- Creado por
- PHILLIPE SANTOS · sep 2016
- Actualizado
- 21 nov 2016
- Visitas
- 9
- Valoración