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