serviços web e a computação em nuvem: definições e desafios grupo de pesquisa formas –...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
<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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
...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
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
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
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
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
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
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