Serviços Web e a
Computação em Nuvem:
Definições e Desafios
Grupo de Pesquisa FORMAS – Formalsmos e Aplcações Semântticas
LABORATÓRIO DE SISTEMAS DISTRIBUÍDOS – LASID
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO - DCC
UNIVERSIDADE FEDERAL DA BAHIA - UFBA
Profa. Dra. Daniela Barreiro Claro
e Fabricio de Oliveira Alves
São Bento do Sul / Santa Catarina
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Apresentação
 Daniela Barreiro Claro
Professora Adjunta da UFBA
 Depto de Ciência da Computação da UFBA
 Fabricio de Oliveira Alves – Graduando em CC/UFBA
 FORMAS (Formalismos e Aplicações Semânticas)
 Laboratório de Sistemas Distribuídos (LaSiD)
 Pesquisa
OWL-S Composer: plugin para composição semântica de WS
Composições Confiáveis de Serviços Web Semânticos
Composições Autonômicas de Serviços Web
Verificação e Validação Formal em Composições Semânticas
Extraçao da Informação
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Agenda
 Visão geral e mudanças de paradigmas
 Computação em Nuvem e SOA
 Imprementação dos Serviços Web
 Tecnologias básicas: XML, SOAP, WSDL e UDDI
 Web Semântica
 Breve histórico e principais características da OWL
 Serviços Web semânticos e suas composições
 Principais linguagens: OWL-S, WSMO, SAWSDL
 Ciclo de Vida de uma composição de SWS
 Descoberta SWS
 Composição Semântica
 Execução
 Grandes Desafios da Computação em Nuvem e dos Serviços Web
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
3
SOA e as Tecnologias Básicas
Web semântica e SWS
Composição Semântica e seu Ciclo de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Mundo nas nuvens...
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
4
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Visão Geral
 Antigamente, tudo dentro de uma empresa
era dissociado...
 Departamento de marketing não se comunicava
com depto comercial, com recursos humanos,...
 Diversos aplicativos eram construídos
isoladamente
 Muitas funcionalidades redundantes eram
desenvolvidas...
... e os esforços e as despesas necessárias para construir
estas funcionalidades.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
5
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Visão Geral
18%
17%
Aplicativo A
Aplicativo B
29%
Aplicativo C
16%
Aplicativo D
Diferentes aplicativos desenvolvidos
independentemente podem resultar em muitas
funcionalidades redundantes
 Hospedagem complexa de numerosos aplicativos
desenvolvidos através de diferentes tecnologias
Desafio para a evolução de uma empresa e
expansão da infra-estrutura tecnológica
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
6
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Visão Geral
 Aplicativos para a automação de processos de
negócios específicos
 Desafio da integração
Tradução:
Java p/ dotNET
 “Colcha de retalhos ponto a ponto”
Aplicativo C
Aplicativo A
Aplicativo B
Daniela Barreiro Claro
[email protected]
Aplicativo D
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
7
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Visão Geral
 Diversas aplicações e negócios são agregadas às empresas,
muitas vezes pela compra de novos negócios
 Ex. Oracle que comprou a Sun, bancos que sao comprados
 Há a necessidade de uma infraestrutura com escalabilidade
dinâmica
 Ampliação da Internet como meio de realização de negócios
 Necessidade de criar ambientes tolerantes a falhas e redundância.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
8
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Definições
 Maiores mudanças propostas pela Computação em
Nuvem
 Armazenamento de informações
 Execução das aplicações
 Sai do desktop -> tudo para Nuvem
 As aplicaçoes e os documentos podem ser acessados de
qualquer lugar no mundo.
 Facilidades
 Libera dos limites do desktop
 Maximiza a colaboração entre grupos de diferentes localidades
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
9
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Definições
 Desktop-centric notion is bound to fall to the universal
access
 Acesso universal provido pela Computação em Nuvem
 24/7 confiabilidade
 Colaboração pervasiva
 Tradicionalmente – perspectiva desktop
 Executa copias de aplicativos em cada computador
 Documentos sao armazenados nos computadores que são
criados
 Embora documentos possam ser acessados por outros
computadores na mesma rede, eles não podem ser acessados
por computadores fora da rede.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
1
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Definições
 O que Computação em Nuvem NÃO É:
 Computação em Rede (networking computing)
 Em computação em rede, aplicações e documentos são
armazenados em servidores e acessados por uma rede
 Acesso limitado à rede de computadores dentro da empresa
 Externalização dos dados (Outsourcing)
 Serviços, dados e aplicações de uma empresa alocados em
outras empresas
 Somente acessiveis pelos empregados via a rede da empresa
locadora
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
1
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Definições
 O que Computação em Nuvem NÃO É:
 Grid Computing
 Especifico na resolução de problemas pontuais.
 Podem dividir uma aplicação em pedaços e ser executados
por milhares de computadores.
 Grid Computing X Computação em Nuvem
 GC: Grande projeto é dividido em multiplos computadores
para fazer uso dos seus recursos
 CC: Permite que pequenas aplicações rodem ao mesmo
tempo
 Virtualization
 Ë relevante pois é a maneira de se acessar cloud services.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
1
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Definições
 O que Computação em Nuvem NÃO É:
 Há a full virtualization e a paravirtualization
 Full Virtualization
 Compartilhamento de um sistema por vários usuários
 Isolamento entre os usuarios e entre o programa
gerenciador
 Emulsão de hardware em outra máquina
Paravirtualization
 Multiplos Sistemas operacionais executando em uma
maquina ao mesmo tempo utilizando os recursos de
maneira mais eficiente.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
13
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Definições
 O que Computação em Nuvem NÃO É:
 full virtualization e a paravirtualization
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
14
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Definições
 Nuvem pode ser :
 Um grande grupo de computadores interligados
 Computadores pessoais ou servidores em rede
 Publicos ou privados
 Computação em Nuvem ultrapassa os limites da
empresa
 Aplicações em uma nuvem estão disponiveis para
um grande grupo de usuários, cross-enterprise e
cross-plataforma
 Acesso à nuvem pela Internet
 Tecnologia para o usuário é transparente
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
1
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Definições
 Perspectiva do Google, as propriedades da Cloud
Computing é:
 User-centric
 Uma vez que um usuário esteja conectado na Cloud, ele tem
acesso a tudo que está armazenado, como documentos,
mensagens, imagens, aplicações, etc
 Task-centric
 Ao invés do foco estar na aplicação e no que ela faz; o focus
está na tarefa que se precisa desenvolver e como a aplicação
pode fazer isso;
 Planilhas, Processadores de texto estão cada vez menos
importantes do que os documentos em si.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
1
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Definições
 As propriedades da Cloud Computing é (cont):
 Powerful
 Conexão de milhares de computadores em uma nuvem amplia o
poder computacional
 Accessible
 Não limitado a uma única fonte de dados como um desktop
 Dados são armazenados em múltiplos repositórios
 Intelligent
 Muitos dados armazenados em computadores nas nuvens
 Mineração de dados e análise é necessário para o acesso a
informação
 Programmable
 Automação das tarefas nas Nuvens
 Dados devem ser automatizados; replicados
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
1
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Aplicações
 Aplicações mais populares em Nuvem




Google Docs & spreadsheets
Google Calendar
Gmail
Picasa
 Todas estas aplicações são acessíveis através de uma
conexão Internet e podem ser usadas por grupos
compartilhados em qualquer lugar no mundo.
 Assim, computação em nuvem permite uma mudança:
 Computador -> usuário
 Aplicação -> tarefa
 Dado isolado -> dado compartilhado
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
1
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Histórico
 Antecedentes em computação Cliente/Servidor , Peerto-Peer e Computação Distribuída
 Aplicações e Armazenamento Centralizado
 O poder de processamento é limitado
 Usuários acessam o mainframe quando com permissões
definidas
 Acesso nao é imediato e nem dois usuarios não podem acessar o
mesmo dado no mesmo tempo
 Dados não podem ser modificados, somente se há permissão
para tal, ou seja, não se pode customizar um relatório que já
tenha sido pré-definido
 Modelo C/S difere de Nuvem visto que nao é usercentric
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
1
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Histórico
 Computação Peer-to-Peer
 Define uma arquitetura em rede onde cada computador tem
capacidades e responsabilidades equivalentes
 Todos são clientes e servidores
 P2P é um conceito descentralizado. Controle é descentralizado e
o conteudo é disperso em varios pontos (peer) entre
computadores.
 Computação Distribuída
 Computador pessoal rodando 24/7 tem uma capacidade de
processamento grande
 Porém, a maioria não usa o computador este tempo, então ele
fica muito tempo ocioso
 Computação distribuída vem utilizar estes recursos ociosos.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Histórico
 Computação Colaborativa
 Trabalhar no mesmo projeto de forma colaborativa
 Usuários podem compartilhar arquivos, video/audio, etc
 A maioria das atividades colaborativas sao desenvolvidas dentro
da rede da empresa
 Computação em Nuvem é um grande ambiente
colaborativo
 Usuários de muitas localizações distintas podem
colaborar com projetos cross-companies e sem limites
geográficos.
 Para isso os projetos devem ser hospedados em nuvem
com acesso via Internet
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Funcionamento
 Segundo a SUN:
 “The network is the computer”
“The Cloud is a collection of computers and servers that
are publicly accessible via the Internet.”
 Qualquer aplicação ou serviço oferecido via uma nuvem
é denominado cloud service
 A aplicação roda na nuvem via Internet tipicamente através de
um Web browser
 A aplicação se comporta e opera como uma aplicação de desktop
padrão.
 A principal diferença é que ambos a aplicação e o documento
continuam localizados na nuvem.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem – Prós e Contra
 Vantagens
 Financeira
 Alto poder computacional com baixo custo;
 Varios computadores envolvidos
 Nao há gastos com licenças para softwares
 Melhoria do Desempenho
 Poucos programas rodando pois a maioria está em nuvem
 Pouco custo em infraestrutura
 Poder computacional nas nuvens
 Pouca necessidade de comprar equipamentos para lidar com
os picos de grandes processamentos
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem – Prós e Contra
 Vantagens
 Pouca manutenção
 Pouco hardware (poucos servidores), baixo custo de
manutenção
 Baixo custo com software
Economia na instalação de software nos
desktops
 Atualização de software
 Usuários não se preocupam mais com software
obsoleto ou ultra upgrades.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem – Prós e Contra
 Vantagens
 Aumento do poder computacional
 Nao há mais limite dentro de um desktop, mas o poder
computacional é baseado na capacidade da nuvem
 Segurança dos dados
 Dados ficam nas nuvens; caso o computador falhe ou HD
tenha problema, os dados estão salvos.
 Dados nas nuvens são duplicados
 Ampliação das compatibilidades entre SO distintos
 Nas nuvens não interessa o SO
 Pode compartilhar documentos independente de S.O.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem – Prós e Contra
 Vantagens
 Compatibilidade do formato dos documentos
 Não há incompatibilidades entre formatos quando todos
compartilham documentos na nuvem
 Colaboração em Grupos
 Colaboração de documentos e projetos
 Acesso Universal aos documentos
 Não há mais documentos que serão esquecidos no
escritório.
 Documentos estao nas nuvens
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem – Prós e Contra
 Desvantagens
 Necessita de uma conexão à Internet constante
 Não funciona bem com conexões com baixa velocidade,
tipo dial-up
 Mesmo em uma conexão rapida, aplicações web podem
ficar lentas
 Tudo é enviado do computador e para o computador
 As aplicações web ainda não são full-features como o
PowerPoint
 As informações básicas são similares; mas características específicas
são ainda diferenciadas
 Dados armazenados podem não são seguros
 Quem garante que os dados guardados de forma confiáveis?
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação em Nuvem - Empresas
 Grandes empresas estão envolvidas com a
revolução da Computação em Nuvem





Google
Amazon
Microsoft
IBM
HP, etc
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Cloud Services
 Servicos nas Nuvens permitem que o negócio seja
publicado e disponibilizado independente do host.
 Ideal para pequenas empresas, evitando custos
excessivos.
 Desenvolvimento orientado a Cloud tem sido uma das
mais promissoras formas de desenvolver aplicações
Web
 Nuvem tem a característica de Elasticidade
 Onde pode expandir sem a necessidade de grandes
investimentos em software e nem em hardware
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
2
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Cloud Services – Prós e Contra
 Vantagens para desenvolver orientado à nuvem
 Escalabilidade automática
 Economia com escalabilidade na incorporação de novos serviços
 Uma aplicação pode fazer uso de todos os recursos de uma Cloud
 Aplicações em Nuvem são “alugadas”
 Departamentos isolados de manutenção ou
departamentos técnicos não são mais necessários
 Desvantagens
 A principal desvantagem é a segurança
 Muitos preferem manter seus dados, aplicações e operações técnicas
sob controle interno na empresa
 Nuvem ficar offline
 Amazon Ec2 ficou por 8 horas em 2008
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
3
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Tipos de Cloud Services
 Há principalmente 3 as a Service atualmente
 IaaS – Infrastructure as a Service
 PaaS – Platform as a Service
 SaaS – Service as a Service
 Há também hardware
 HaaS – Hardware as a Service
 Ainda há Composições as a Service (CaaS)
 Permitem as composições de serviços
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
3
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Tipos de Cloud Services
 Infrastructure as a Service
 Utilização de um servidor virtual e publica serviços neste
ambiente
 Provê recurso computacional e os clientes podem executar
os seus serviços dentro deste ambiente
 Principais
 Amazon Elastic Cloud Computing (EC2)
 GoGrid
 GoGrid foi uma das primeiras IaaS
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
3
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Tipos de Cloud Services
 Platform as a Service
 É uma forma de construir aplicações e publicá-las na
nuvem
 Constroi aplicações como pequenos pedaços (legos)
 Há várias plataformas
 RightScale
 Google
 Salesforce.com
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
3
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Tipos de Cloud Services
 Service as a Service
 Ao invés de prover uma plataforma, já provê uma
aplicação pronta para uso
 PaaS prove mecanismos para que desenvolver aplicacoes
proprias
 SaaS já provê a aplicação em si
 Consumidores nao pagam pela propriedade do software,
mas pelo seu uso
 Cada empresa é denominada de tenant e este tipo de
organização é denominada multitenant architecture
 Visao Consumidor: SaaS não requer investimentos em
servidores e nem em licença.
 Visao Desenvolvedor: Somente 1 aplicacao para dar
manutenção
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
3
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Cloud e SOA
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
3
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação Orientada a Serviços
 Computação Orientada a Serviços
 Evolução da Computação Distribuída
 Características da Orientação a Serviços
 Maior consistência na representação das funcionalidades
de dados
 Menor
unidades de lógica (serviço)
a dependência
mesma entre
é compartilhada
e
 Menor preocupação com os detalhes de implementação
reutilizada
para automatizar diversos
 Mais oportunidade de reutilizar a unidade de lógica para
diversas aplicações
 Mais oportunidade de combinação de unidades de lógicas
 Maior capacidade de previsão comportamental
Unidade de lógica é reduzida porque
processos de negocios.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
3
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação Orientada a Serviços
 Principais objetivos da Computação Orientada a
Serviços
 Maior interoperabilidade
 Compartilhamento de dados
 Mais interoperáveis, mais facilmente trocarão informações
 Aplicações não interoperáveis precisam ser integradas
 Maior federação
 Recursos e aplicativos unidos mas mantém a autonomia
individual
 Necessidade de padronização
 Serviços não pertencem a uma aplicação especifica
 Dissolve-se os limites dos aplicativos
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
3
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Computação Orientada a Serviços
 Principais objetivos da Computação Orientada a
Serviços
 Diversificação de fornecedores
 Amplia possibilidade de inovações tecnológicas
 Opção de diversificação estimulada pela concorrência
 Maior agilidade organizacional
 Ser capaz de adaptar-se mais rapidamente a modificações do
mercado
 Superar estrategicamente os concorrentes
 Depto de TI as vezes é um gargalo
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
38
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
SOA – Service Oriented Architecture
 Modelo arquitetônico
 Objetivo
 Aprimorar a eficiência, a agilidade e a produtividade de
uma empresa
 Elementos da SOA
 A lógica na SOA é implementada como serviços e
composições de serviços
 Uma composição de serviços é composta por serviços
montados a fim de fornecer as funcionalidades requeridas
para automatizar uma tarefa
 Uma coleção de serviços padronizados pode formar a base
para um repositório de serviços ou inventario de serviços
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
39
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
SOA – Service Oriented Architecture
Principais objetivos da
Orientação a Objetos
Diversificação
de fornecedor
Flexibilidade
Reuso e
produtividade
Menor carga de trabalho
Atendimento
aos
requisitos do
negocio
Interoperabilidade
nativa
Extensibilidade
Principais objetivos da
Orientação a Serviços: herda
os objetivos da OO e
aumenta o seu escopo
Daniela Barreiro Claro
[email protected]
Robustez
Agilidade Organizacional
Federação
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
40
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
SOA – Service Oriented Architecture
 Orientação a Serviços X Orientação a Objetos
 Classe X Serviços
 Classes podem definir uma combinação de acesso publico e
implementação privada
 Serviços expressam informações publicas
 Métodos e Atributos
Objeto
 Serviços utilizam a nomenclatura de operação
 Não é recomendada a definição de atributos dentro de um
serviço, devido a independência de estados
Serviço
Fatura
Fatura
numero: int
getNumero()
getNumero():int
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
41
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Orientação a Serviços X Orientação a
Objetos
 Troca de Mensagens
 Serviços podem trocar msg síncronas ou assíncronas
 São estruturadas em XML Schema
 Interface
 Pode ser considerado um Serviço
 Ponto de entrada oficial para funcionalidades de serviços
publicados; Abstrai detalhes do serviço
 Encapsulamento
 Pode ser visto como a abstração do serviço
 Herança
 Baixo acoplamento entre serviços, a herança é
desestimulada na SOA
 Não ha relacionamentos “é-um”
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
42
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Grandes Desafios da SOA
 Ênfase constante no reuso aumenta a
complexidade do projeto do serviço
 Maior exigência de desempenho destes serviços
 Confiabilidade destes serviços
 Disponibilidade destes serviços
 Falhas
 Pontos únicos de falhas introduzido pelo reuso
 Criação do repositório de serviços
 Demandas excessivas ao repositório
 Otimização na utilização destes serviços
 etc
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
43
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Implementação da SOA
 Atualmente...
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
44
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
O que é Web Services (Serviços Web)
 “Self-contained, modular business applications,
Internet oriented, standard-based interfaces” UDDI
Consortium
 “A software application identified by a URI, whose
interfaces and bindings are capable of being
defined, described and discovered as XML artifacts”
W3C
 Uma solução utilizada na integração de sistemas
e na comunicação entre aplicações diferentes.
Wikipedia
 “Uma maneira de expor as funcionalidades de um
sistema de informação e torná-las disponível
através de tecnologias padronizadas da Web”Alonso et
al.1
1.Alonso G., Casati F., Kuno H., Michiraju V. Web services: Concepts, Architectures and Applications, Springer, 2004.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
45
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
O que NÃO é Web Service...
 Uma aplicação desktop, Java, Delphi, VB
 Um plugin do Eclipse nem de nenhuma outra IDE
 Uma aplicação Web
 Um funcionalidade na Web
 Uma página ASP, PHP e nem JSP
 Uma arquitetura CORBA
 Um EJB (Enterprise JavaBeans)
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
46
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Vantagens dos Web Services
 Arquitetura SOA (Service Oriented Architecture)
 Requisitando e chamando um serviço.
 Independente de aplicação
 Interoperabilidade
 Protocolos
 Soluções para ambientes distribuídos
 Simples e de fácil manipulação
 Padronização
 A padronização não é um benefício, é uma necessidade.
 Utilização da linguagem XML
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
47
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Onde estão localizados os WS...
Arquitetura n-tier
Client Tier
Web Tier
Business Tier
Browser
Web Server
EJB
Container
HTML, XML
JSP, Servlets,
XML,...
EJB, JMS, JTA,
JDBC, ...
Web Services
DataTier
Web Services
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
48
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Principais Tecnologias da SOA
1
Publicar
Repositorio
do Serviço
Provedor
do
Serviço
Localizar
Ligar 3
Solicitante
do Serviço
2
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
49
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Principais Tecnologias
 Linguagem de comunicação padrão
 XML – eXtended Markup Language
 Linguagem de descrição
 WSDL – Web Services Description Language
 Protocolo de Transporte
 SOAP – Simple Object Access Protocol
 Repositório de Interfaces – Dinâmico
 UDDI – Universal Description, Discovery and
Integration
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
50
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
XML – eXtended Markup Language
 As tecnologias básicas utilizam XML
 Descendente do SGML (Standard Generalized
Markup Language)
 Possui vários níveis de flexibilidade
 Não há full-feature parser, um parser compatível com
todas as funcionalidades.
 XML é um subconjunto da SGML
 É baseado em tags, como o HTML
 Toda tag de início deve ter uma tag de fim.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
51
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
XML – eXtended Markup Language
<?xml version=“1.0” encoding=“UTF-8”>
<Biblioteca>
<Livro>
<Titulo>
SQL 3 – The Foundation
</Titulo>
<Autor>
James Fortier
</Autor>
</Livro>
<Livro>
<Titulo>
CORBA - Fundamentals
</Titulo>
<Autor>
Jonh Currier
</Autor>
</Livro>
</Biblioteca>
Daniela Barreiro Claro
[email protected]
Versão do XML
usado no documento
Elemento raiz do XML
Nodos internos
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
52
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
SOAP – Simple Object Access Protocol
 Muito simples
 Não contém muitas características de Sistemas
Distribuídos
 Exemplo
 Não contém um Distributed Garbage Collector como o RMI
que gerencia os objetos
 Se um cliente SOAP criar um objeto no servidor e este cliente
desaparecer, o SOAP não informa o que deve ser feito.
 O SOAP Message utiliza XML
 Todos os tipos de dados devem ser codificados em XML
Schema
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
53
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
SOAP – Simple Object Access Protocol
Client Program
Client Program
SOAP Document
Layer
SOAP Document
Layer
XML Document
Layer
XML Document
Layer
Character Document
Layer
Character Document
Layer
Internet layer (HTTP)
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
54
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
SOAP – Simple Object Access Protocol
SOAP Envelope
SOAP Header - opcional
SOAP Body
SOAP Fault
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
55
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
WSDL – Web Service Description Language
 Não havia um padrão para acessar as descrições
dos serviços Web
 Existiam soluções independentes
 Microsoft – SCL (SOAP Contract Language)
 IBM – NASSL (Network Accessible Service Specification
Language)




WSDL padronizou a descrição
Representa a interface externa do serviço Web
É equivalente à IDL do CORBA
Contém a localização física do serviço
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
56
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
WSDL – Web Service Description Language
<definition>
Elemento raiz
do WSDL
<types>
Tipos dos dados
trocados entre
serviços
Tipos de Dados </types>
<message>
Descrição da mensagem </message>
Métodos
<portTypes>
Variáveis trocadas
<operation>Assinatura </operation>
</portType>
Onde a
informação está
localizada
Contém o
protocolo e o
endereço do
WS
Local do serviço
<binding> Descrição do protocolo </binding>
<service>
<port> Referência local serviço</port>
</service>
</definition>
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
57
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
UDDI – Universal Description, Discovery and
Integration
 Foi criado por grandes empresas
 Ariba, IBM, Microsoft, Intel e SAP
 Criou-se uma comunidade para dar suporte e
discutir as especificações, além de criar padrões
UDDI.ORG (www.uddi.org)
 Necessidade de publicar o serviço que se está
oferecendo e procurar outros serviços fornecidos
por outras pessoas e que pode ser utilizado.
 É uma pesquisa dinâmica baseada no serviço
 Padrão OASIS, atualmente na sua versão 3.0
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
58
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
UDDI – Universal Description, Discovery and
Integration
Estrutura do UDDI
Publisher
Assertion
Business
Entity
Descreve as
relações entre
duas empresas
Business
Service
Descreve os tipos
diferentes de WS
oferecidos pela
Empresa
Daniela Barreiro Claro
[email protected]
Binding
Template
Info da empresa que
publica o WS. Nome,
end, contato
Informações de
como interagir
com o WS
tModel
Informações
técnicas sobre o
WS
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
59
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
UDDI – Universal Description, Discovery and
Integration
 SOAP e WSDL são padrões W3C
 UDDI é um padrão OASIS
 UDDI tem uma série de dificuldades
 Não provê descobertas semânticas
 Concentrado em empresas e não em domínios
de aplicações
 Muito ambicioso para agrupar tudo em um
único registro centralizado
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
60
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
UDDI – Universal Description, Discovery and
Integration
 Novas opções para o registro de Web
Services
 Vinculados a uma ontologia (semântica)
 Tratam de domínios específicos
 São internos a uma empresa ou publicados
 UDDI-S, OPS, ontology, etc
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
61
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Apresentação
Agenda
Introdução
Principais Tecnologias
1
Empresa
UDDI
Repositório
3
SOAP
WSDL
Cliente
2
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
62
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é Web Semântica?
 Maneira de organizar, classificar e fazer
inferências nos dados que estão disponíveis
na Internet.
 Com a semântica, pode-se manipular
informações via um agente, ou seja, uma
máquina ou uma pessoa
 HTML é limitado a uma apresentação visual
e processado diretamente por humanos
 Motores de busca atuais, se baseiam na
busca sintática, não considerando o
significado das informações.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
63
Conceitos Básicos
Arquitetura
Ontologias
OWL
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
O que é Web Semântica?
 Uma maneira de permitir uma
interpretação machine-to-machine é tornar
os recursos da Web mais acessíveis
 Maneira que computadores possam entender
 Este é o principal objetivo da Web
semântica
 “The semantic Web is not a separate Web but an
extension of the current one, in which information is
given well-defined meaning, better enabling
computers and people to work in cooperation”
Tim Berners-Lee and James Hendler
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
64
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
Exemplos de utilização da Web Semântica
 Atualmente, se procurarmos o preço de um
produto na Internet:
 Utilizamos o Motor de busca através da palavra preço
 Os sites que utilizam a palavra custo não serão
contemplados pelos motores de busca.
 Nem sites em XML resolvem o problema
<preco> 12.00 </preco>
<custo> 12.00 </custo>
 É simples para um ser humano verificar que são iguais;
mas é impossível para uma máquina fazer esta associação
Web Semântica propõe maior facilidade na recuperação da
informação automática por programas e máquinas.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
65
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
Arquitetura da Web Semântica
Fonte: Berners-Lee T., Hendler J. et al.The Semantic Web. Scientific Ameriican, May, 2001.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
66
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é uma ontologia?
 Palavra grega:
 Ontos (ser) e logia (estudo)
 “Estudo do ser enquanto um ser”
 Primeira estrutura de classificação
 Árvore de Porphyres, proposta por Aristóteles
 McGuinness (2004)
 “documento onde as aplicações podem
compreender o seu conteúdo”
 É uma das formas de representação do
conhecimento utilizada na Web Semântica
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
67
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é uma ontologia?
 Através de uma ontologia é possível:
 Inferir em bases de conhecimento
 Ter um raciocínio dedutível
 Classificar automaticamente conceitos
 Buscar informações
 Garantir a interoperabilidade entre vários
sistemas
 Composta principalmente por:
 Conceitos, relações, axiomas e indivíduos
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
68
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é uma ontologia?
 Conceitos
 Princípios, idéias, categorias de objetos
 Relações
 Relacionamento entre conceitos
 Incluem geralmente uma organização
hierárquica de conceitos e de relações que
existem entre estes conceitos.
 Inclui também as regras e os axiomas
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
69
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é uma ontologia?
 Uma ontologia tem a intenção de:
 Organizar, estruturar e restringir para
representar os conceitos do mundo
 Exemplo
 Carro é forçadamente um Veículo
 Mas nem todo veículo é um carro
 Normalmente, se organiza uma ontologia
em uma taxonomia ou hierarquia de
conceitos
 Porque a categorização de conceitos é uma
inferência elementar no dia-a-dia
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
70
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é uma ontologia?
 Segue o diálogo
─ Você conhece um restaurante aqui perto?
─ Tem uma pizzaria na esquina
 Primeiro, generaliza-se (restaurante)
 E logo em seguida se categoriza:
 Pizzaria é um restaurante
 Assim, em um sistema de informática, um
simples conhecimento de hierarquização já
melhora consideravelmente a capacidade
das máquinas.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
71
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é uma ontologia?
 Ontologia X Taxonomias
 O conhecimento ontológico ultrapassa o
conhecimento taxonômico
 Pode-se encontrar em uma ontologia:


Composições, como categorias (categoria de
elementos químicos, categorias anatômicas)
Definições completas: condição necessária e
suficiente
 Uma pessoa é um diretor si e somente si existe uma
organização que é dirigida por esta pessoa.

Restrições de integridade
 Um livro é editado a um e somente um ISBN; um pai
não pode ser mais jovem que seus filhos
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
72
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é uma ontologia?
 Ontologia X Taxonomias
 Pode-se encontrar em uma ontologia:

Funções de cálculo
 Ritmo cardíaco aconselhado por uma pessoa fazendo
um esforço cardio-vascular é (220-idade)*0.65

Propriedades algébricas
 A relação <é casado com > é simétrica

Conhecimento default
 Por default, um carro tem quatro rodas

Relações inversas
 <faz parte de> e <contém>: porta faz parte de um carro,
e um carro contém uma porta
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
73
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é uma ontologia?
• Inicialmente, dois grupos trabalharam com
ontologias separadamente
– OIL (Ontology Inference Layer)
• Grupo europeu
• É uma evolução do RDF e RDF-S
• Descreve as classes utilizando frames e uma lista de
slots (propriedades)
– Mais fácil fazer inferências
– DAML (DARPA Agent Markup Language)
• Grupo dos Estados Unidos
• Extensão do RDF
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
74
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
O que é uma ontologia?
 Unindo forças, os dois grupos deram origem
 DAML+OIL = OWL
 OWL (Web Ontology Language)
 Mais atributos e características e também
facilitar a pesquisa automática
 Deve ser interpretado por máquinas
 Faz parte das recomendações W3C
 Permite escrever as classes, as relações
aumentando assim o vocabulário e as
propriedades em relação à RDF.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
75
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conceitos Básicos
Arquitetura
Ontologias
OWL
Partes de uma OWL
• OWL
– Dividida em três sublinguagens
• OWL-Lite, OWL-DL, OWL-Full
– Cada uma das sublinguagens é uma extensão
da anterior.
• Os elementos da OWL
– A maioria são classes, propriedades, instâncias
de classes e relações
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
76
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
Web Semântica e os Web Services
 SWS (Semantic Web Services)
 Propõem características semânticas aos WS
 As três principais linguagens semânticas
 OWL-S (Ontology Web Language for Services)
 Mais próximo do OWL está a OWL-S
 WSMO
 Web Service Modelling Ontology
 SAWSDL
 Semantic Annotations for WSDL
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
77
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S (Web Ontology Language for Services)
 Deriva da OWL e se baseia na WSDL
 Utiliza a WSDL como comunicação entre os
Web services
 Possui a possibilidade de descrever o
processo de composição de serviços
 Constituída por três ontologias:
 Profile
 Model
 Grounding
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
78
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S (Web Ontology Language for Services)
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
79
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S (Web Ontology Language for Services)
 De um modo geral, as ontologias
representam respectivamente:
 Ontologia Profile
 Descreve os serviços oferecidos por um provedor e que
vão ser solicitados por um cliente.
 Ontologia Model
 Representa o comportamento de um serviço
 Ontologia Grounding
 Representa o acesso ao serviço publicado
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
80
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S (Web Ontology Language for Services)
Profile
Pode ser separado em três categorias:
a organização que fornece o serviço;
a função calculada pelo serviço;
as características de um serviço
É no profile que se define o IOPE
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
81
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S (Web Ontology Language for Services)
 Model
– Esta ontologia contém uma classe PROCESS
que determina a utilização de um serviço como
um processo
– Determina os IOPE
– Tipos de processo existem em três categorias:
• Atomic, Single e Composite
–
Controles de construção
• Sequence, split (paralelo), etc
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
82
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S (Web Ontology Language for Services)
Grounding
Esta ontologia permite acessar
efetivamente o serviço concreto
Tem que haver uma combinação entre o
grounding e o WSDL
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
83
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
WSMO (Web Services Modelling Ontology)1
 Framework para SWS
 Consiste de 4 conceitos fundamentais:
 Ontologies
 Goals
 Web Services
 Mediators
1.http://www.wsmo.org/
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
84
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
WSMO (Web Services Modelling Ontology)
 Ontologies
 No WSMO, os conceitos básicos são: conceitos,
relações, funções, instâncias e axiomas
 Ontologias servem para definir o domínio de
aplicação
 Exemplo de um conceito WSMO simplificado:
concept bank_account
accountNumber ofType validAccountNumber
owner
ofType customer
overLimit
Daniela Barreiro Claro
[email protected]
ofType currency
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
85
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
WSMO (Web Services Modelling Ontology)
 Goals
 Uma requisição utiliza Goals para representar o
tipo de serviço que se está procurando.
 O que o serviço oferece, a tarefa que ele desempenha.
 São descritos utilizando uma ontologia
 Habilidade de modelar os Goals e os Web
Services permite separar conceitualmente
os requisitantes dos provedores do serviço.
 WSMO tem a responsabilidade de fazer as
correspondências (matching) entre o serviço
requisitado e a descrição do serviço.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
86
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
WSMO (Web Services Modelling Ontology)
 Web Services
 No WSMO, o conceito de Web service não está
diretamente relacionado à WSDL, SOAP e UDDI
 É uma descrição formal que permite o
processamento automático dos Web services.
 Aspectos funcionais são descritos no Capability
 Aspectos comportamentais são descritos na
Interface do serviço que contém:
 Choreography
 Orchestration
 O Capability contém IOPE
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
87
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
WSMO (Web Services Modelling Ontology)
 Mediators
 Sistemas flexíveis que lidam com problemas de
heterogeneidade que normalmente ocorrem
entre ontologies, goals e Web services.
 Em WSMO há 4 classes de mediators:
 ooMediators – ontology-to-ontology
 ggMediators – goal-to-goal
 wgMediators – web service-to-goal
 wwMediators – web service-to-web service
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
88
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
SAWSDL (Semantic Annotations for WSDL)
 W3C Recommendation August/2007
 Define como adicionar anotações
semânticas em várias partes do documento
WSDL
 Nas mensagens de input e output, interfaces e
operações
 Define mecanismos para mapear os tipos
XML Schemas para uma ontologia
 Mecanismo de anotação é independente da
linguagem utilizada na ontologia
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
89
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
SAWSDL (Semantic Annotations for WSDL)
 Semantic Annotations são atributos XML
adicionados a um WSDL.
 modelReference
 Associa um componente WSDL ou XML Schema
com um conceito em um modelo semântico
 liftingSchemaMapping e
loweringSchemaMapping
 Mapeamentos entre dados semânticos e XML
Lifting – from XML to semantic data
Lowering – from semantic data to XML
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
90
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S x WSMO x SAWSDL
 Relação entre as linguagens OWL e WSML
Oliveira, D., Menegazzo C., Claro D.B. In IADIS CIAWI 2009
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
91
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S x WSMO x SAWSDL
• Objetivos dos elementos das linguagens de
descrição semântica
Objetivos
OWL-S
WSMO
SAWSDL
Ontologias
O que faz
Modelo de
Referência
Profile
Metas
Mediadores
Como trabalha
Mapeamento
de Schemas
Process
Serviços Web
Como acessá-lo
Grounding
WSDL
Oliveira, D., Menegazzo C., Claro D.B. In IADIS CIAWI 2009
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
92
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S x WSMO x SAWSDL
 Analise das linguagens semânticas
OWL-S
WSMO
SAWSDL
IOPE
Process/ Profile
Serviço Web/ Goals
Inputs/ Outputs/
Modelos de
referência
DESCOBERTA
Profile
Goals/ Elementos
não funcionais
Modelos de
referência
COMPOSIÇÃO
Process
MEDIAÇÃO
DE DADOS
Não há um elemento para
especificar este
critério, porém há
controle dos dados.
Mediadores
INVOCAÇÃO
Process
Grounding WSMO
Coreografia/
Orquestração
Não utiliza elementos
da linguagem
Lifting/Lowering
Schema Mapping
Não utiliza elementos
da linguagem
Oliveira, D., Menegazzo C., Claro D.B. In IADIS CIAWI 2009
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
93
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Introdução
OWL-S
WSMO
SAWSDL
OWL-S x WSMO x SAWSDL
 Relação entre as linguagens semânticas
Oliveira, D., Menegazzo C., Claro D.B. In IADIS CIAWI 2009
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
94
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Composição de Serviços Web
 O que é?
 Para que serve?
 Como funciona?
 Qual tecnologia utiliza?
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
95
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
O que é uma composição?
 É a combinação de serviços Web a fim de
atender a uma solicitação
 Um serviço Web é composto por outros
serviços Web, formando assim um serviço
Web composto
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
96
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Tipos de serviços
 Serviço Atômico
 É um serviço que só contém uma funcionalidade
 Serviço composto
 Contém varias funcionalidades
 Serviço Web pode ser composto de serviços
atômicos e compostos
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
97
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Para que serve?
 Problema
 Suponha que deseja comprar o livro Semantic
Web Services mais barato pela Internet
O que você faz?
 Pesquisa os preços nos sites da livraria Saraiva,
Civilização e SBS
 Compra o livro na SBS pois foi o mais barato e
manda entregar em casa
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
98
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Para que serve?
 Você acabou de utilizar uma composição de
serviços manual
compraLivro
Correio
SEDEX
SBS
pesquisaPreço
Saraiva
Cliente
Civilização
entregaProduto
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
99
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Exemplo classico de Composição
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
100
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Para que serve?
 Em uma composição você pode agregar
complexidade a sua composição, agregando
novos serviços.
 Porém esta integração de serviços não é
feita de maneira física
 WS não são bibliotecas que devem ser
compiladas e integradas na aplicação
 Web services são interfaces que podem ser
invocadas.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
101
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Como funciona?
 Composições de serviços podem ser
descritas através de linguagens de
composições
 Exemplos de linguagens para composição
 WS-BPEL, OWL-S, WSMO, SAWSDL
 Estas linguagens possuem o modelo de
como a composição dos serviços deve ser
feita
 Seqüencial, paralela, etc
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
102
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Problemas de composição
 Pode dividir a composição em dois
principais problemas:
 Orquestração (orchestration)
 Controla os serviços envolvidos na composição
 Coreografia (choreography)
 Controla a maneira como estes serviços são
interligados na composição
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
103
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Problemas de composição
 Orchestration
 Pode ser uma orquestração automática
 AI Planning muito utilizada
 Redes de Petri, statecharts
 Manual
 Composição estática de serviços
 Choreography
 Trata dos matching problems na comunicação de serviços
dentro de uma composição
 Algoritmos semânticos
 Problemas de Descoberta e Seleção
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
104
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Composições não-semânticas
 WS-BPEL
 Web Services Business Process Execution
Language
 Define papéis utilizando a noção de processos
abstratos
 Determina a seqüência de interação dos serviços
Web
 Gerencia falhas e compensações nos serviços
caso ocorra uma falha no processo
 Define atividades que podem ser:
 <invoke>, <reply>, <receive>, <assign>, etc
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
105
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Composições semânticas
 OWL-S
 Permite uma composição automática dos
serviços
 WSMO
 Ainda não muito desenvolvido
 Começando a utilizar Abstract State Machine
 SAWSDL
 Orchestration ainda ignorado pelo SAWSDL.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
106
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Engines de execução
 Estas linguagens possuem seus “engines”
 Run-time environment (ambiente de execução)
que executa a lógica de negócio da composição
invocando os serviços
 OWLSAPI, ActiveBPEL, BPEL4J, Apache ODE...
 Composições de serviços têm muitas
semelhanças com workflow
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
107
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Definição
Características
Linguagens
Tecnologias
Frameworks
 Linguagens para descrever composições de serviços
 OWL-S, WS-BPEL, SAWSDL, WSMO
 Engines para executar a composição (invocar
serviços)
 OWLS API, ActiveBPEL, BPEL4J, Apache ODE
 Diversos frameworks estão sendo propostos para
compor serviços Web





SPOC – Semantic-based Planning Optimized Framework
SAREK – Versão confiável de SPOC
METEOR-S
IRS-III
OWL-S Composer
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
108
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Fases de uma composição
 Descoberta
 Composição
 Execução
Monitoração
Descoberta
Execução
Composição
 Monitoração
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
109
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Análise de Similaridade Semântica Clássica
 É realizada através dos elementos de uma ontologia
 Estes elementos são analisados de acordo com a sua
posiçao na hierarquia
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
110
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Análise de Similaridade Semântica Clássica
• O que é mais similar a
um virus?
a) plant
b) bacteria
Análise baseada na
distância
distancia(A,B):
Número mínimo de nodos
separando A e B
Daniela Barreiro Claro
[email protected]
organism
microorganism
virus
plant
bacteria
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
111
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Análise de Similaridade Semântica Clássica
• O que é mais similar a um
virus?
a) plant
b) bacteria
organism
3 edges
microorganism
plant
2 edges
virus
Daniela Barreiro Claro
[email protected]
bacteria
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
112
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Análise de Similaridade Semântica Clássica
organism
• O que é mais similar ao
tobacco mosaic virus?
a) variola major virus
b) plant
microorganism
virus
plant
bacteria
animal
virus
plant
virus
poxvirus
tobacco mosaic
virus
variola virus
variola major
virus
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
113
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Análise de Similaridade Semântica Clássica
organism
• O que é mais similar ao
tobacco mosaic virus?
a) variola major virus
b) plant (?)
5 edges
microorganism
virus
animal
virus
poxvirus
6 edges
plant
bacteria
plant
virus
tobacco mosaic
virus
variola virus
variola major
virus
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
114
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Fases de uma composição
 Descoberta Semântica (OWL-S Discovery)
Amorim, R; Claro D.B. et al.. 2011
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
115
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Fases de uma composição
 Descoberta Semântica (OWL-S Discovery)
Amorim, R; Claro D.B. et al.. 2011
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
116
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Descoberta Semântica (OWL-S Discovery)
 Filtros Semânticos
– Exact > Plug-In > Subsumes > Sibling > Fail
Amorim, R; Claro D.B. et al.. 2011
Daniela
DanielaBarreiro
BarreiroClaro
Claro
[email protected]
[email protected]
Serviços Web Semâ nticos
http://homes.dcc.ufba.br/~dclaro/
http://www.lasid.ufba.br
Serviços Web
117
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Composição Semântica (OWL-S Composer 2.0)
 Busca por cada serviço através
do OWL-S Discovery
 Lista de serviços ordenados
pelo grau de similaridade
 Os serviços são combinados em
novas composições
 O grau de similaridade da
composição é o menor dos
graus dos serviços
Sena, V., Claro D.B. 2009
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
118
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
Execução
 Uma API deve ser utilizada para executar a
composição semântica do serviço
 OWL-S Composer 2.0
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
119
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
OWL-S Composer 2.0
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
http://sourceforge.net/projects/owl-scomposer/
 Objetivos
– Compor serviços Web manualmente utilizando elementos
da linguagem OWL-S.
(+ Compreensibilidade, + Usabilidade)
– Gerar o código OWL-S referente à composição.
(+ Produtividade)
– Ser um plugin da plataforma Eclipse, integrado ao plugin
Web Tools Platform (WTP).
(+ Produtividade)
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
120
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
OWL-S Composer 2.0
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
http://sourceforge.net/projects/owl-scomposer/
Sena, V. 2008
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
121
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
OWL-S Composer 2.0
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
http://sourceforge.net/projects/owl-scomposer/
 EMF (Eclipse Modeling Framework Project) [EMF,
2009]
– Abordagem de desenvolvimento MDA.
– Visa gerar ferramentas e outras aplicações baseadas em
modelos de classes simples.
– Metamodelos podem ser descritos através de documento XML,
código Java ou documento Ecore.






GEF (Graphical Editing Framework) [GEF, 2009]
GMF (Graphical Modeling Framework) [GMF, 2009]
JET (Java Emitter Templates) [JET, 2009]
JAX-SA [BABIK, 2008]
OWL-S API [MINDSWAP, 2007]
OWL-S Discovery [Amorim, 2009]
Sena, V. 2008
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
122
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
OWL-S Composer 2.0
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
http://sourceforge.net/projects/owl-scomposer/
 Requisitos mínimos para uma ferramenta
de composição de serviços semânticos:
 Funcionalidade - suportar todo o ciclo de vida de
um serviço web;
 Interface - interface simples e funcional;
 Usabilidade - acessar todas as funcionalidades
de forma intuitiva;
 Integração - integração com o ambiente de
desenvolvimento;
 Corretude - código OWL-S legível e correto;
 Grau de similaridade - opções quanto ao grau de
similaridade.
Sena, V. 2008
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
123
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
OWL-S Composer 2.0
Daniela Barreiro Claro
[email protected]
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
http://sourceforge.net/projects/owl-scomposer/
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
124
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
OWL-S Composer 3.0
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
http://sourceforge.net/projects/owl-scomposer/
 Monitoramento
 Monitoramento deve detectar problemas na
execução de serviços Web
 Falha na execução, um novo serviço
semanticamente similar deve ser descoberto
Sena, V. 2008
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
125
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
OWL-S Composer 3.0
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
http://sourceforge.net/projects/owl-scomposer/
Sena, V. 2008
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
126
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
OWL-S Composer 4.0
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
http://sourceforge.net/projects/owl-scomposer/
 Inclusão de composição com serviços em
nuvem
Sena, V. 2008
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
127
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
OWL-S Composer 5.0
Descoberta
Composição
Execução e Monitoração
OWL-S Composer
http://sourceforge.net/projects/owl-scomposer/
 Aspectos Temporais e validacao formal
Sena, V. 2008
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
128
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Quais são as tendências e os desafios...
Composições Autonômicas
Análise da Computação Autonômica
Jacob et al., 2004
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
129
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Composições Autonômicas
 4 atributos: self-*
– Self-configuring : adaptar-se às mudanças no ambiente.
• Manter os objetivos estabelecidos em políticas de alto nível.
• Por exemplo, quando um novo componente é inserido no
sistema, os outros componentes existentes necessitam serem
alterados para a adaptação desse novo estado.
– Self-healing: recuperar-se de erros detectados.
• Detecta, diagnostica e realiza a reparação de problemas
originados de defeitos em hardware e software
– Self-optimazing: melhorias no uso de recursos do sistema.
• Ajuste de parâmetros; desempenho seja otimizado.
• Monitorar, experimentar e ajustar parâmetros de modo a
otimizar o comportamento do sistema
– Self-protecting: detecção de intrusos, no intuito de prever
invasões e saná-las.
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
130
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Composições Autonômicas
 Self-healing nas composições semânticas
 Monitoração
 Diagnostico
 Recuperação
Ferreira, M., Claro D.B. 2010
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
131
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
O que ainda falta...
 Confiabilidade nas Composições
Semânticas
 Verificação e Validação das composições
semânticas
 Segurança nos Serviços Web Semânticos
 Serviços Web stateful
 Análise de desempenho
 Auto-* para as composições
 Meta serviços semânticos
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
132
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
...e principalmente
Comercializar e socializar cada vez mais os
Serviços Web Semânticos
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
133
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conclusão
Equipe
Conclusão
 Overview
 Computação em Nuvem
 SOA
 Tecnologias Básicas
 Web semântica
 Serviços Web Semânticos
 Composição Semântica
 Ciclo de Vida
 Grandes Desafios
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
134
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conclusão
Equipe
Conclusão
 Serviços cada vez mais sendo utilizados
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
135
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conclusão
Equipe
Conclusão
 Hoje, ainda há uma grande necessidade de
tecnologias adicionais para estes Cloud Services
como:





Segurança
Transações
Confiabilidade
Validação e Verificação
Qualidade de Serviço
 Estes mecanismos existem nos ambientes de
computação distribuída e precisam ser
incorporados na Cloud+SOA
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
136
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conclusão
Equipe
Conclusão
Quais os principais rumos
Novo paradigma ???
– Cloud services, data services, etc???
– Light services x Heavy services
– Linked Data -> linked service
– E a Web 3.0???
– E o que mais...
...a história continua!
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
137
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Conclusão
Equipe
Pessoas envolvidas...
Fabricio Alves – OWLS-Composer 4.0 +Computação em Nuvem
Efraim Machado – OWLS-Discovery 3.0 – Aspectos Temporais
Anderson Carvalho – Simulador de Composições
Lorena Erdens– OWL-S Discovery+Precondição e Efeitos
Rodrigo Amorim – OWL-S Discovery
Manuele Ferreira – Self-healing nas Composições Semânticas
Manuele Ferreira – OWL-S Composer 3.0
Vanessa Aline Sena – OWL-S Composer 2.0
Roberto Figueiredo – Self-* nas Composições Semânticas
Douglas Oliveira e Cinara Menegazzo – Comparativo de Ling Semânticas
Késia Vieira e Cinara Menegazzo – Modelo Formal p/ SAWSDL
André Amorim – OWL-S Composer 1.0
Igor Nogueira – Replicação Passiva no Axis 2 - WS Stateful
Marcelo Luz – Replicação Ativa no Axis 2 - WS Stateful
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
138
Computação em Nuvem e SOA
Serviços Web e Web Semântica
Composições Semânticas e Ciclos de Vida
Grandes Desafios
Muito obrigada!
Profª. Daniela Barreiro Claro
[email protected]
Fabricio de Oliveira Alves
[email protected]
http://homes.dcc.ufba.br/~dclaro
FORMAS/LaSiD/DCC/UFBA
Daniela Barreiro Claro
[email protected]
http://homes.dcc.ufba.br/~dclaro/
Serviços Web
139
Download

Diapositive 1 - Rede DCC - Universidade Federal da Bahia