Transcript SOA
SOA
Introdução a Arquitetura
Orientada a serviços
UNIDADE I – SOA E WEB SERVICES
Introdução a Arquitetura Orientada a serviços
Terminologia
Service
Oriented Architecture (SOA)
Simple Object Access Protocol (SOAP)
Extensible Markup Language (XML)
Web Service Definition Language (WSDL)
Web Services
Definição
Uma Arquitetura de software trata basicamente de
como os componentes fundamentais de um sistema se
relacionam intrinsecamente e extrinsecamente
(ANSI/IEEE, 2000).
Arquitetura orientada a serviço do inglês SOA (service
oriented archtecture) defini-se por um paradigma para
organização e utilização de competências distribuídas
que estão sob controle de diferentes domínios
proprietários. (BUENO ET al, 2006),
Definição
SOA serve para criar aplicações de negócio
SOA é uma arquitetura de componente caixa-preta e
de baixo acoplamento
Definição
Esta arquitetura apresenta a resposta para o reuso de
software, pois contem componentes de granularidade
grossa, tais componentes são tratados como serviços
Arquitetura orientada a serviço do inglês SOA (service
oriented archtecture) defini-se por um paradigma para
organização e utilização de competências distribuídas
que estão sob controle de diferentes domínios
proprietários. (BUENO ET al, 2006),
Orientação a Serviços
O serviço básico é uma função independente que atende
uma ou mais requisições e oferece uma ou mais respostas, por
meio de uma interface pré-definida e padronizada.
Exemplo do Restaurante, serviço refeição
O serviço de negócio é o encapsulamento lógico da função
de negócio
Exemplo do restaurante, serviço de anotação do pedido,
serviço de preparação da refeição
Base do SOA
Provedor e Consumidor de Serviço Software)
Requisição e Resposta de Serviço (Software)
Provedor de Serviço
Consumidor de
serviço
Base do SOA
O Consumidor do serviço precisa saber como
chamar o serviço e oque esperar em resposta.
O provedor do serviço precisa compreender essa
solicitação e formatar uma resposta de acordo
com a expectativa de resposta do consumidor do
serviço
Base do SOA
O relacionamento entre os componentes que estão
inseridos em uma aplicação precisam estar descritos
em uma espécie de contrato que podem ser, por
exemplo, uma interface Java ou um arquivo XML
(Extensible Markup Language). Dessa forma cria-se uma
rotina que facilita a independência, manutenção e
adaptação (INTEL - Next Generation Center – Curso:
SOA).
Características
Reuso de software “caixa preta”
O reuso de software “caixa-preta” elimina a necessidade
de o desenvolvedor precisar conhecer qualquer parte de
recurso a ser reutilizado no processo de desenvolvimento
de uma aplicação. E m vez disso este reuso se define por
interfaces ou contratos bem definidos que devem ser
respeitados na implementação a ser elaborada ou seja o
esforço sempre ocorre na nova implementação sem a
necessidade de conhecer implementações de terceiros.
Características
Componentes fracamente acoplados
Define-se pelo grau de ligação entre dois componentes
distintos de forma que os mesmos se comuniquem sem
atrito, ou seja, mudanças em um dos componentes não
acarretem em mudanças no outro de modo que cada um
destes preserve sua independência e possa interagir,
apenas, por interfaces bem definidas.
Características
Granularidade Grossa
Granularidade grossa seria um software totalmente
completo que apenas é um provedor de um serviço.
Características
Interpolaridade
A arquitetura orientada a serviço propõe uma quase
completa liberdade de desenvolvimento com a
finalidade de atingir o propósito da interoperabilidade,
que é a capacidade de os sistemas coexistirem ou se
comunicarem independentes de tecnologias ou
fabricantes de hardware ou software.
Características
Modularidade
A modularidade se refere ao grau com que os
componentes podem ser separados e recombinados. Um
sistema modular tem em sua composição unidades ou
módulos projetados de forma independente que se
integram e se comportam como componentes de um
sistema mais abrangente.
Definindo WebServices
Um web service, segundo W3C (World Wide Web Consortium),
é um sistema de software desenvolvido para fornecer uma
interação máquina-a-máquina sobre uma rede. Ele possui
uma interface descrita em um formato padrão (WSDL) . Outros
sistemas interagem com o web service do modo descrito em
sua interface usando mensagens padrão SOAP, tipicamente
com http, e uma serialização XML em conjunto com outros
padrões web.
SOA com WebServices
O web services é a tecnologia mais utilizada para SOA.
Elimina muitos problemas inerentes a interoperabilidade de
serviços, fornecem vários padrões e normas fundamentais
para implementar arquitetura orientada a serviço
Facilitam a construção e composição de serviços modulares
que podem ser integrados e reutilizados em novas aplicações.
SOA com WebServices
Um web service é um sistema de software projetado para
permitir a interoperabilidade na interação entre maquinas
conectadas em uma rede.
É descrito por uma interface padronizada que disponibiliza um
serviço em uma rede como a Internet.
Depois de descrito em uma forma padrão e catalogado o
serviço se torna disponível para ser totalmente reutilizável,
permitindo a comunicação e a interoperabilidade entre
aplicações e plataformas heterogêneas.
SOA com WebServices
Os web services representam parte da lógica de negócios de
uma empresa sendo executados em sistemas remotos que os
matem e os distribuem na rede.
Eles podem ser acessados por protocolos simples presentes na
Internet como o HTTP
Essa comunicação baseada em padrões permite que
qualquer aplicação que adote estes protocolos acesse e
utilize o serviço sem precisar conhecer detalhes de
implementação do serviço solicitado.
SOA com WebServices
O acesso e a descrição de um web service são feitos através
de uma notação padronizada na linguagem XML (eXtensible
markup language),
O XML atende a todos os detalhes necessários para interagir
com o serviço, descrevendo a funcionalidade, a localização,
o modo de invocação e os protocolos utilizados no web
service (MAHMOUD, 2005).
Xml e WebServices
A linguagem de marcação extensível ou XML é muito útil para
o desenvolvimento de diversas aplicações pelo fato de ser
possível criar marcadores de acordo com a necessidade
corrente e permite a representação de muitos tipos de dados.
Xml e WebServices
A linguagem de marcação extensível ou XML é muito útil para
o desenvolvimento de diversas aplicações pelo fato de ser
possível criar marcadores de acordo com a necessidade
corrente e permite a representação de muitos tipos de dados.