Serviços Web e a Computação em Nuvem: Definições e Desafios Grupo de Pesquisa FORMAS –...

139
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 São Bento do Sul / Santa Catarina Prof a . Dr a . Daniela Barreiro Claro e Fabricio de Oliveira Alves

Transcript of Serviços Web e a Computação em Nuvem: Definições e Desafios Grupo de Pesquisa FORMAS –...

Page 1: 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.

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

São Bento do Sul / Santa Catarina

Profa. Dra. Daniela Barreiro Claro e Fabricio de Oliveira Alves

Page 2: 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.

Apresentação

Daniela Barreiro ClaroProfessora 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)

PesquisaOWL-S Composer: plugin para composição semântica de WSComposições Confiáveis de Serviços Web SemânticosComposições Autonômicas de Serviços WebVerificação e Validação Formal em Composições SemânticasExtraçao da Informação

ApresentaçãoAgendaIntrodução

2

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 3: 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.

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

3

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 4: 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.

Mundo nas nuvens...

4

ApresentaçãoAgendaIntrodução

SOA e as Tecnologias BásicasWeb semântica e SWS

Composição Semântica e seu Ciclo de VidaGrandes Desafios

Nuvem

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 5: 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.

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.

5

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 6: 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.

Visão Geral

6

17% 16%18% 29%

Aplicativo A Aplicativo B Aplicativo C 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 7: 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.

Visão Geral

Aplicativos para a automação de processos de negócios específicos

Desafio da integração “Colcha de retalhos ponto a ponto”

7

Aplicativo A

Aplicativo B

Aplicativo C

Aplicativo D

Tradução:Java p/ dotNET

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 8: 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.

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.

8Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Computação em Nuvem + SOA

Page 9: 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.

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

9Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 10: 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.

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.

10

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 11: 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.

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

11

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 12: 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.

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.

12

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 13: 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.

Computação em Nuvem - Definições

O que Computação em Nuvem NÃO É:Há a full virtualization e a paravirtualizationFull Virtualization

Compartilhamento de um sistema por vários usuários Isolamento entre os usuarios e entre o programa

gerenciadorEmulsão de hardware em outra máquina

ParavirtualizationMultiplos Sistemas operacionais executando em uma

maquina ao mesmo tempo utilizando os recursos de maneira mais eficiente.

13Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 14: 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.

Computação em Nuvem - Definições

O que Computação em Nuvem NÃO É: full virtualization e a paravirtualization

14Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 15: 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.

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

15

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 16: 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.

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.

16

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 17: 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.

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

17

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 18: 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.

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

18

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 19: 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.

Computação em Nuvem - Histórico

Antecedentes em computação Cliente/Servidor , Peer-to-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 é user-centric

19

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 20: 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.

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.

20

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 21: 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.

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

21

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 22: 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.

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.

22

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 23: 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.

Computação em Nuvem – Prós e Contra

VantagensFinanceira

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

23

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 24: 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.

Computação em Nuvem – Prós e Contra

VantagensPouca manutenção

Pouco hardware (poucos servidores), baixo custo de manutenção

Baixo custo com softwareEconomia na instalação de software nos

desktopsAtualização de software

Usuários não se preocupam mais com software obsoleto ou ultra upgrades.

24

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 25: 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.

Computação em Nuvem – Prós e Contra

VantagensAumento 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.

25

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 26: 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.

Computação em Nuvem – Prós e Contra

VantagensCompatibilidade 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 documentosNão há mais documentos que serão esquecidos no

escritório.Documentos estao nas nuvens

26

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 27: 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.

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?

27

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 28: 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.

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

28

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 29: 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.

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

29

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 30: 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.

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

30

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 31: 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.

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

31

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 32: 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.

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

32

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 33: 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.

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

33

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 34: 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.

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

34

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 35: 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.

Cloud e SOA

35

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 36: 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.

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 dependência entre unidades de lógica (serviço) Menor preocupação com os detalhes de implementação 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

36

Unidade de lógica é reduzida porque a mesma é compartilhada

e reutilizada para automatizar diversos processos de negocios.

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 37: 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.

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

37

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 38: 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.

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

38Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 39: 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.

SOA – Service Oriented Architecture

39

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

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 40: 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.

Interoperabilidade nativa

Federação

Agilidade Organizacional

Diversificação de fornecedor

Menor carga de trabalho

SOA – Service Oriented Architecture

40

Flexibilidade

Reuso e produtividade

Atendimento aos

requisitos do negocio

Extensibilidade

Robustez

Principais objetivos da Orientação a Objetos

Principais objetivos da Orientação a Serviços: herda

os objetivos da OO e aumenta o seu escopo

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 41: 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.

SOA – Service Oriented Architecture

41

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

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

Fatura

numero: int

getNumero():int

Objeto

Fatura

getNumero()

Serviço

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 42: 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.

Orientação a Serviços X Orientação a Objetos

42

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 43: 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.

Grandes Desafios da SOA

43

Ê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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 44: 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.

Implementação da SOA

44

Atualmente...

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 45: 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.

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

45

1.Alonso G., Casati F., Kuno H., Michiraju V. Web services: Concepts, Architectures and Applications, Springer, 2004.

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 46: 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.

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)

46Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 47: 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.

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

47Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 48: 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.

Onde estão localizados os WS...

48

Client Tier Web Tier DataTier

Browser Web Server

HTML, XMLJSP, Servlets,XML,...

Arquitetura n-tier

Business Tier

EJB

Container

EJB, JMS, JTA,JDBC, ...

Web Services Web

Services

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 49: 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.

Principais Tecnologias da SOA

49

Provedor do

Serviço

Solicitante

do Serviço

Repositorio do Serviço

Publicar Ligar

Localizar

1

2

3

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 50: 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.

Principais Tecnologias

Linguagem de comunicação padrãoXML – eXtended Markup Language

Linguagem de descriçãoWSDL – Web Services Description Language

Protocolo de TransporteSOAP – Simple Object Access Protocol

Repositório de Interfaces – DinâmicoUDDI – Universal Description, Discovery and

Integration

50Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 51: 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.

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.

51Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 52: 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.

XML – eXtended Markup Language

52

<?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>

Versão do XML usado no documento

Elemento raiz do XML

Nodos internos

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 53: 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.

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

53Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 54: 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.

SOAP – Simple Object Access Protocol

54

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)

FIREW

ALL

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 55: 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.

SOAP – Simple Object Access Protocol

55

SOAP Envelope

SOAP Header - opcional

SOAP Body

SOAP Fault

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 56: 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.

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

56Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 57: 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.

<definition>

</definition>

<types> Tipos de Dados </types>

<message> Descrição da mensagem </message>

<portTypes>

</portType>

<operation>Assinatura </operation>

<binding> Descrição do protocolo </binding>

<service>

</service>

<port> Referência local serviço</port>

WSDL – Web Service Description Language

57

Elemento raiz do WSDL

Tipos dos dados

trocados entre serviços

Variáveis trocadas

Métodos

Local do serviço

Onde a informação está

localizada

Contém o protocolo e o endereço do

WS

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 58: 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.

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

58Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 59: 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.

UDDI – Universal Description, Discovery and Integration

59

Publisher Assertion

Business Entity

Business Service

Binding Template

tModel

Estrutura do UDDI Info da empresa que publica o WS. Nome,

end, contato

Descreve os tipos diferentes de WS oferecidos pela

Empresa

Informações técnicas sobre o

WS

Descreve as relações entre duas empresas

Informações de como interagir

com o WS

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 60: 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.

UDDI – Universal Description, Discovery and Integration

SOAP e WSDL são padrões W3CUDDI é um padrão OASISUDDI tem uma série de dificuldades

Não provê descobertas semânticasConcentrado em empresas e não em domínios

de aplicaçõesMuito ambicioso para agrupar tudo em um

único registro centralizado

60Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 61: 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.

UDDI – Universal Description, Discovery and Integration

Novas opções para o registro de Web ServicesVinculados a uma ontologia (semântica)Tratam de domínios específicosSão internos a uma empresa ou publicados UDDI-S, OPS, ontology, etc

61Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 62: 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.

Principais Tecnologias

62

Empresa

ClienteRepositório

UDDISOAP

WSDL

1

2

3

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

ApresentaçãoAgendaIntrodução

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 63: 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.

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

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.

63

Page 64: 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.

O que é Web Semântica?

64

Uma maneira de permitir uma interpretação machine-to-machine é tornar os recursos da Web mais acessíveisManeira 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 65: 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.

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.

65Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 66: 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.

Arquitetura da Web Semântica

66

Fonte: Berners-Lee T., Hendler J. et al.The Semantic Web. Scientific Ameriican, May, 2001.

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 67: 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.

O que é uma ontologia?

67

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 68: 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.

O que é uma ontologia?

68

Através de uma ontologia é possível: Inferir em bases de conhecimentoTer um raciocínio dedutível Classificar automaticamente conceitosBuscar informaçõesGarantir a interoperabilidade entre vários

sistemas

Composta principalmente por:Conceitos, relações, axiomas e indivíduos

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 69: 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.

O que é uma ontologia?

69

ConceitosPrincípios, idéias, categorias de objetos

RelaçõesRelacionamento 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 70: 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.

O que é uma ontologia?

70

Uma ontologia tem a intenção de:Organizar, estruturar e restringir para

representar os conceitos do mundo Exemplo

Carro é forçadamente um VeículoMas nem todo veículo é um carro

Normalmente, se organiza uma ontologia em uma taxonomia ou hierarquia de conceitosPorque a categorização de conceitos é uma

inferência elementar no dia-a-dia

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 71: 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.

O que é uma ontologia?

71

Segue o diálogo─ Você conhece um restaurante aqui perto?─ Tem uma pizzaria na esquinaPrimeiro, generaliza-se (restaurante)E logo em seguida se categoriza:

Pizzaria é um restauranteAssim, em um sistema de informática, um

simples conhecimento de hierarquização já melhora consideravelmente a capacidade das máquinas.

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 72: 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.

O que é uma ontologia?

72

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 73: 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.

O que é uma ontologia?

73

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 74: 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.

O que é uma ontologia?

74

• 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 75: 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.

O que é uma ontologia?

75

Unindo forças, os dois grupos deram origemDAML+OIL = OWL

OWL (Web Ontology Language)Mais atributos e características e também

facilitar a pesquisa automáticaDeve ser interpretado por máquinasFaz parte das recomendações W3CPermite escrever as classes, as relações

aumentando assim o vocabulário e as propriedades em relação à RDF.

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 76: 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.

Partes de uma OWL

76

• 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Conceitos BásicosArquiteturaOntologiasOWL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 77: 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.

Web Semântica e os Web Services

77

SWS (Semantic Web Services) Propõem características semânticas aos WSAs 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 78: 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.

OWL-S (Web Ontology Language for Services)

78

Deriva da OWL e se baseia na WSDLUtiliza a WSDL como comunicação entre

os Web servicesPossui a possibilidade de descrever o

processo de composição de serviçosConstituída por três ontologias:

ProfileModel Grounding

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 79: 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.

OWL-S (Web Ontology Language for Services)

79Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 80: 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.

OWL-S (Web Ontology Language for Services)

80

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 ModelRepresenta o comportamento de um serviço

Ontologia GroundingRepresenta o acesso ao serviço publicado

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 81: 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.

OWL-S (Web Ontology Language for Services)

81

ProfilePode 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 82: 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.

OWL-S (Web Ontology Language for Services)

82

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 83: 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.

OWL-S (Web Ontology Language for Services)

83

GroundingEsta ontologia permite acessar

efetivamente o serviço concretoTem que haver uma combinação entre o

grounding e o WSDL

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 84: 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.

WSMO (Web Services Modelling Ontology)1

Framework para SWSConsiste de 4 conceitos fundamentais:

OntologiesGoalsWeb ServicesMediators

84

1.http://www.wsmo.org/

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 85: 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.

WSMO (Web Services Modelling Ontology)

85

OntologiesNo WSMO, os conceitos básicos são: conceitos,

relações, funções, instâncias e axiomasOntologias 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 ofType currency

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 86: 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.

WSMO (Web Services Modelling Ontology)

86

GoalsUma 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 ontologiaHabilidade 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 87: 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.

WSMO (Web Services Modelling Ontology)

87

Web ServicesNo 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 CapabilityAspectos comportamentais são descritos na

Interface do serviço que contém:ChoreographyOrchestration

O Capability contém IOPE

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 88: 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.

WSMO (Web Services Modelling Ontology)

88

MediatorsSistemas 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-ontologyggMediators – goal-to-goalwgMediators – web service-to-goalwwMediators – web service-to-web service

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 89: 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.

SAWSDL (Semantic Annotations for WSDL)

89

W3C Recommendation August/2007Define como adicionar anotações

semânticas em várias partes do documento WSDLNas mensagens de input e output, interfaces e

operaçõesDefine mecanismos para mapear os tipos

XML Schemas para uma ontologiaMecanismo de anotação é independente

da linguagem utilizada na ontologiaDaniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/

[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 90: 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.

SAWSDL (Semantic Annotations for WSDL)

90

Semantic Annotations são atributos XML adicionados a um WSDL.

modelReferenceAssocia um componente WSDL ou XML Schema

com um conceito em um modelo semântico liftingSchemaMapping e

loweringSchemaMappingMapeamentos entre dados semânticos e XMLLifting – from XML to semantic dataLowering – from semantic data to XML

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 91: 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.

OWL-S x WSMO x SAWSDL

91

Relação entre as linguagens OWL e WSML

Oliveira, D., Menegazzo C., Claro D.B. In IADIS CIAWI 2009

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 92: 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.

OWL-S x WSMO x SAWSDL

92

• Objetivos dos elementos das linguagens de descrição semântica

Oliveira, D., Menegazzo C., Claro D.B. In IADIS CIAWI 2009

Objetivos OWL-S WSMO SAWSDL

O que faz ProfileOntologias Modelo de

Referência Metas

Como trabalha ProcessMediadores Mapeamento

de Schemas

Serviços WebComo acessá-lo Grounding WSDL

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 93: 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.

OWL-S x WSMO x SAWSDL

93

Analise das linguagens semânticas

Oliveira, D., Menegazzo C., Claro D.B. In IADIS CIAWI 2009

OWL-S WSMO SAWSDL

IOPE Process/ Profile Serviço Web/ GoalsInputs/ Outputs/

Modelos de referência

DESCOBERTA Profile Goals/ Elementos não funcionais

Modelos de referência

COMPOSIÇÃO Process Coreografia/ Orquestração

Não utiliza elementos da linguagem

MEDIAÇÃO DE DADOS

Não há um elemento para especificar este

critério, porém há controle dos dados.

Mediadores Lifting/Lowering Schema Mapping

INVOCAÇÃO Process Grounding WSMO Não utiliza elementos da linguagem

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 94: 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.

OWL-S x WSMO x SAWSDL

94

Relação entre as linguagens semânticas

Oliveira, D., Menegazzo C., Claro D.B. In IADIS CIAWI 2009

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

IntroduçãoOWL-SWSMOSAWSDL

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 95: 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.

Composição de Serviços Web

95

O que é?

Para que serve?

Como funciona?

Qual tecnologia utiliza?

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 96: 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.

O que é uma composição?

96

É 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 97: 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.

Tipos de serviços

97

Serviço AtômicoÉ um serviço que só contém uma

funcionalidade

Serviço compostoContém varias funcionalidades

Serviço Web pode ser composto de serviços atômicos e compostos

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 98: 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.

Para que serve?

98

ProblemaSuponha 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 99: 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.

Para que serve?

99

Você acabou de utilizar uma composição de serviços manual

Cliente

SBS

Saraiva

Civilização

pesquisaPreço

compraLivro

Correio

SEDEX

entregaProduto

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 100: 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.

Exemplo classico de Composição

100Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 101: 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.

Para que serve?

101

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ísicaWS não são bibliotecas que devem ser

compiladas e integradas na aplicaçãoWeb services são interfaces que podem ser

invocadas.

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 102: 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.

Como funciona?

102

Composições de serviços podem ser descritas através de linguagens de composições

Exemplos de linguagens para composiçãoWS-BPEL, OWL-S, WSMO, SAWSDL

Estas linguagens possuem o modelo de como a composição dos serviços deve ser feitaSeqüencial, paralela, etc

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 103: 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.

Problemas de composição

103

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 104: 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.

Problemas de composição

104

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 105: 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.

Composições não-semânticas

105

WS-BPELWeb Services Business Process Execution

LanguageDefine papéis utilizando a noção de processos

abstratosDetermina a seqüência de interação dos

serviços WebGerencia falhas e compensações nos serviços

caso ocorra uma falha no processoDefine atividades que podem ser:

<invoke>, <reply>, <receive>, <assign>, etc

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 106: 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.

Composições semânticas

106

OWL-SPermite uma composição automática dos

serviços

WSMOAinda não muito desenvolvido

Começando a utilizar Abstract State Machine

SAWSDLOrchestration ainda ignorado pelo SAWSDL.

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 107: 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.

Engines de execução

107

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 108: 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.

Frameworks

108

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DefiniçãoCaracterísticasLinguagensTecnologias

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 109: 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.

Fases de uma composição

109

Descoberta

Composição

Execução

Monitoração

Descoberta

ComposiçãoExecução

Monitoração

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 110: 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.

Análise de Similaridade Semântica Clássica

110

É 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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 111: 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.

Análise de Similaridade Semântica Clássica

111

• O que é mais similar a um virus?

a) plantb) bacteria

Análise baseada na distância distancia(A,B):

Número mínimo de nodos separando A e B

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

virus

m icroorganism

organism

bacteria

plant

Page 112: 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.

Análise de Similaridade Semântica Clássica

112

• O que é mais similar a um virus?

a) plantb) bacteria

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

virus

m icroorganism

organism

bacteria

plant

2 edges

3 edges

Page 113: 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.

Análise de Similaridade Semântica Clássica

113

• O que é mais similar ao tobacco mosaic virus?

a) variola major virusb) plant

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

virus

m icroorganism

organism

bacteria

plant

vario la virus

poxvirus

anim alvirus

vario la m ajorvirus

tobacco m osaicvirus

plantvirus

Page 114: 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.

Análise de Similaridade Semântica Clássica

114

• O que é mais similar ao tobacco mosaic virus?

a) variola major virusb) plant (?)

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

virus

m icroorganism

organism

bacteria

plant

vario la virus

poxvirus

anim alvirus

vario la m ajorvirus

tobacco m osaicvirus

plantvirus

5 edges

6 edges

Page 115: 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.

Fases de uma composição

115

Descoberta Semântica (OWL-S Discovery)

Amorim, R; Claro D.B. et al.. 2011

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 116: 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.

Fases de uma composição

116

Descoberta Semântica (OWL-S Discovery)

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Amorim, R; Claro D.B. et al.. 2011

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Page 117: 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.

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Descoberta Semântica (OWL-S Discovery)

117

Filtros Semânticos– Exact > Plug-In > Subsumes > Sibling > Fail

Daniela Barreiro Claro Serviços Web Semâ[email protected] http://www.lasid.ufba.br

Amorim, R; Claro D.B. et al.. 2011

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Page 118: 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.

Composição Semântica (OWL-S Composer 2.0)

118

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

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 119: 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.

Execução

119

Uma API deve ser utilizada para executar a composição semântica do serviçoOWL-S Composer 2.0

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 120: 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.

OWL-S Composer 2.0

120

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)

http://sourceforge.net/projects/owl-scomposer/

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 121: 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.

OWL-S Composer 2.0

121

http://sourceforge.net/projects/owl-scomposer/

Sena, V. 2008

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 122: 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.

OWL-S Composer 2.0

122

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]

http://sourceforge.net/projects/owl-scomposer/

Sena, V. 2008

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 123: 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.

OWL-S Composer 2.0

123

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.

http://sourceforge.net/projects/owl-scomposer/

Sena, V. 2008

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 124: 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.

OWL-S Composer 2.0

124

http://sourceforge.net/projects/owl-scomposer/

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 125: 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.

OWL-S Composer 3.0

125

MonitoramentoMonitoramento deve detectar problemas

na execução de serviços WebFalha na execução, um novo serviço

semanticamente similar deve ser descoberto

http://sourceforge.net/projects/owl-scomposer/

Sena, V. 2008

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 126: 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.

OWL-S Composer 3.0

126

http://sourceforge.net/projects/owl-scomposer/

Sena, V. 2008

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 127: 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.

OWL-S Composer 4.0

127

Inclusão de composição com serviços em nuvem

http://sourceforge.net/projects/owl-scomposer/

Sena, V. 2008

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 128: 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.

OWL-S Composer 5.0

128

Aspectos Temporais e validacao formal

http://sourceforge.net/projects/owl-scomposer/

Sena, V. 2008

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

DescobertaComposiçãoExecução e MonitoraçãoOWL-S Composer

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 129: 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.

Quais são as tendências e os desafios...

129

Composições AutonômicasAnálise da Computação Autonômica

Jacob et al., 2004

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 130: 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.

Composições Autonômicas

130

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 http://homes.dcc.ufba.br/~dclaro/

[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 131: 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.

Composições Autonômicas

131

Self-healing nas composições semânticasMonitoraçãoDiagnosticoRecuperação

Ferreira, M., Claro D.B. 2010

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 132: 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.

O que ainda falta...

132

Confiabilidade nas Composições Semânticas

Verificação e Validação das composições semânticas

Segurança nos Serviços Web SemânticosServiços Web statefulAnálise de desempenhoAuto-* para as composiçõesMeta serviços semânticos

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 133: 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.

...e principalmente

133

Comercializar e socializar cada vez mais os Serviços Web Semânticos

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Page 134: 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.

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

Conclusão

134

OverviewComputação em NuvemSOA Tecnologias BásicasWeb semântica Serviços Web SemânticosComposição Semântica Ciclo de VidaGrandes Desafios

ConclusãoEquipe

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Page 135: 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.

Conclusão

135

Serviços cada vez mais sendo utilizados

Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

ConclusãoEquipe

Page 136: 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.

Conclusão

136

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

ConclusãoEquipe

Page 137: 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.

Conclusão

137

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 http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

ConclusãoEquipe

Page 138: 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.

Pessoas envolvidas...

Fabricio Alves – OWLS-Composer 4.0 +Computação em NuvemEfraim Machado – OWLS-Discovery 3.0 – Aspectos TemporaisAnderson Carvalho – Simulador de ComposiçõesLorena Erdens– OWL-S Discovery+Precondição e EfeitosRodrigo Amorim – OWL-S DiscoveryManuele Ferreira – Self-healing nas Composições SemânticasManuele Ferreira – OWL-S Composer 3.0Vanessa Aline Sena – OWL-S Composer 2.0Roberto Figueiredo – Self-* nas Composições SemânticasDouglas Oliveira e Cinara Menegazzo – Comparativo de Ling

SemânticasKésia Vieira e Cinara Menegazzo – Modelo Formal p/ SAWSDLAndré Amorim – OWL-S Composer 1.0Igor Nogueira – Replicação Passiva no Axis 2 - WS StatefulMarcelo Luz – Replicação Ativa no Axis 2 - WS Stateful

138Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios

ConclusãoEquipe

Page 139: 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.

Muito obrigada!

Profª. Daniela Barreiro [email protected]

Fabricio de Oliveira [email protected]

http://homes.dcc.ufba.br/~dclaro

FORMAS/LaSiD/DCC/UFBA

139Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/[email protected] Serviços Web

Computação em Nuvem e SOAServiços Web e Web Semântica

Composições Semânticas e Ciclos de VidaGrandes Desafios