A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Serviços Web e a Computação em Nuvem: Definições e Desafios Grupo de Pesquisa FORMAS – Formalsmos e Aplcações Semântticas LABORATÓRIO DE SISTEMAS DISTRIBUÍDOS.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 Serviços Web e a Computação em Nuvem: Definições e Desafios Grupo de Pesquisa FORMAS – Formalsmos e Aplcações Semântticas LABORATÓRIO DE SISTEMAS DISTRIBUÍDOS – LASID DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO - DCC UNIVERSIDADE FEDERAL DA BAHIA - UFBA São Bento do Sul / Santa Catarina Prof a. Dr a. Daniela Barreiro Claro e Fabricio de Oliveira Alves

2 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 Apresentação Agenda Introdução 2 Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios Daniela Barreiro Claro Serviços Web

3 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ção Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios Daniela Barreiro Claro Serviços Web

4 Mundo nas nuvens... 4 Apresentação Agenda Introdução SOA e as Tecnologias Básicas Web semântica e SWS Composição Semântica e seu Ciclo de Vida Grandes Desafios Daniela Barreiro Claro Serviços Web

5 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ção Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios Daniela Barreiro Claro Serviços Web

6 Visão Geral 6 17% 16% 18% 29% Aplicativo A Aplicativo B Aplicativo CAplicativo 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

7 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

8 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. 8 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

9 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 9 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

10 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

11 Computação em Nuvem - Definições NÃO É 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

12 Computação em Nuvem - Definições NÃO É 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

13 Computação em Nuvem - Definições NÃO É 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. 13 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

14 Computação em Nuvem - Definições NÃO É O que Computação em Nuvem NÃO É : full virtualization e a paravirtualization 14 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

15 Computação em Nuvem - Definições pode ser 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

16 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

17 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

18 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

19 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

20 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

21 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

22 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

23 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 23 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

24 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. 24 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

25 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. 25 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

26 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 26 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

27 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

28 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

29 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

30 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 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

31 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

32 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

33 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

34 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

35 Cloud e SOA 35 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

36 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

37 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

38 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 38 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

39 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ção Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios Daniela Barreiro Claro Serviços Web

40 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

41 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

42 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

43 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

44 Implementação da SOA 44 Atualmente... Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

45 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 Alonso G., Casati F., Kuno H., Michiraju V. Web services: Concepts, Architectures and Applications, Springer, Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

46 NÃ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) 46 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

47 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 47 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

48 Onde estão localizados os WS Client TierWeb TierDataTier Browser Web Server HTML, XML JSP, Servlets, XML,... Arquitetura n-tier Business Tier EJB Container EJB, JMS, JTA, JDBC,... Web Services Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

49 Principais Tecnologias da SOA 49 Provedor do Serviço Solicitante do Serviço Repositorio do Serviço Publicar Ligar Localizar Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

50 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 50 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

51 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. 51 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

52 XML – eXtended Markup Language 52 SQL 3 – The Foundation James Fortier CORBA - Fundamentals Jonh Currier Versão do XML usado no documento Elemento raiz do XML Nodos internos Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

53 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 53 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

54 SOAP – Simple Object Access Protocol 54 Client Program SOAP Document Layer SOAP Document Layer XML Document Layer XML Document Layer Character Document Layer Character Document Layer Internet layer (HTTP) FIREWALL Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

55 SOAP – Simple Object Access Protocol 55 SOAP Envelope SOAP Header - opcional SOAP Body SOAP Fault Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

56 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 56 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

57 Tipos de Dados Descrição da mensagem Assinatura Descrição do protocolo Referência local serviço 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

58 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 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

59 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 Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

60 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 60 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

61 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 61 Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

62 Principais Tecnologias 62 Empresa Cliente Repositório UDDI SOAP WSDL Daniela Barreiro Claro Serviços Web Apresentação Agenda Introdução Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

63 Daniela Barreiro Claro Serviços Web 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? 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

64 O que é Web Semântica? 64 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 Serviços Web 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

65 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 É 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. 65 Daniela Barreiro Claro Serviços Web 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

66 Arquitetura da Web Semântica 66 Fonte: Berners-Lee T., Hendler J. et al.The Semantic Web. Scientific Ameriican, May, Daniela Barreiro Claro Serviços Web 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

67 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 Serviços Web 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

68 O que é uma ontologia? 68 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 Serviços Web 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

69 O que é uma ontologia? 69 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 Serviços Web 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

70 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í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 Serviços Web 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

71 O que é uma ontologia? 71 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 Serviços Web 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

72 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 Serviços Web 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

73 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 é simétrica Conhecimento default Por default, um carro tem quatro rodas Relações inversas e : porta faz parte de um carro, e um carro contém uma porta Daniela Barreiro Claro Serviços Web 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

74 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 Serviços Web 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

75 O que é uma ontologia? 75 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 Serviços Web 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

76 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 Serviços Web 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

77 Web Semântica e os Web Services 77 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

78 OWL-S (Web Ontology Language for Services) 78 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

79 OWL-S (Web Ontology Language for Services) 79 Daniela Barreiro Claro Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

80 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 Model Representa o comportamento de um serviço Ontologia Grounding Representa o acesso ao serviço publicado Daniela Barreiro Claro Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

81 OWL-S (Web Ontology Language for Services) 81 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

82 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

83 OWL-S (Web Ontology Language for Services) 83 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

84 WSMO (Web Services Modelling Ontology) 1 Framework para SWS Consiste de 4 conceitos fundamentais: Ontologies Goals Web Services Mediators 84 1.http://www.wsmo.org/ Daniela Barreiro Claro Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

85 WSMO (Web Services Modelling Ontology) 85 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 ofType currency Daniela Barreiro Claro Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

86 WSMO (Web Services Modelling Ontology) 86 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

87 WSMO (Web Services Modelling Ontology) 87 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

88 WSMO (Web Services Modelling Ontology) 88 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

89 SAWSDL (Semantic Annotations for WSDL) 89 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

90 SAWSDL (Semantic Annotations for WSDL) 90 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

91 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

92 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 ObjetivosOWL-SWSMOSAWSDL O que fazProfile Ontologias Modelo de Referência Metas Como trabalhaProcess Mediadores Mapeamento de Schemas Serviços Web Como acessá-loGrounding WSDL Daniela Barreiro Claro Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

93 OWL-S x WSMO x SAWSDL 93 Analise das linguagens semânticas Oliveira, D., Menegazzo C., Claro D.B. In IADIS CIAWI 2009 OWL-SWSMOSAWSDL IOPEProcess/ ProfileServiço Web/ Goals Inputs/ Outputs/ Modelos de referência DESCOBERTAProfile Goals/ Elementos não funcionais Modelos de referência COMPOSIÇÃOProcess 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ÇÃOProcessGrounding WSMO Não utiliza elementos da linguagem Daniela Barreiro Claro Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

94 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 Serviços Web Introdução OWL-S WSMO SAWSDL Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

95 Composição de Serviços Web 95 O que é? Para que serve? Como funciona? Qual tecnologia utiliza? Daniela Barreiro Claro Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

96 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

97 Tipos de serviços 97 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

98 Para que serve? 98 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

99 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

100 Exemplo classico de Composição 100 Daniela Barreiro Claro Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

101 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í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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

102 Como funciona? 102 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

103 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

104 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

105 Composições não-semânticas 105 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:,,,, etc Daniela Barreiro Claro Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

106 Composições semânticas 106 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

107 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

108 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 Serviços Web Definição Características Linguagens Tecnologias Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

109 Fases de uma composição 109 Descoberta Composição Execução Monitoração Descoberta Composição Execução Monitoração Daniela Barreiro Claro Serviços Web 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

110 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 Serviços Web 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

111 Análise de Similaridade Semântica Clássica 111 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 Serviços Web 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

112 Análise de Similaridade Semântica Clássica 112 O que é mais similar a um virus? a)plant b)bacteria Daniela Barreiro Claro Serviços Web 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

113 Análise de Similaridade Semântica Clássica 113 O que é mais similar ao tobacco mosaic virus? a)variola major virus b)plant Daniela Barreiro Claro Serviços Web 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

114 Análise de Similaridade Semântica Clássica 114 O que é mais similar ao tobacco mosaic virus? a)variola major virus b)plant (?) Daniela Barreiro Claro Serviços Web 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

115 Fases de uma composição 115 Descoberta Semântica (OWL-S Discovery) Amorim, R; Claro D.B. et al Daniela Barreiro Claro Serviços Web 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

116 Fases de uma composição 116 Descoberta Semântica (OWL-S Discovery) Daniela Barreiro Claro Serviços Web Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios Amorim, R; Claro D.B. et al Descoberta Composição Execução e Monitoração OWL-S Composer

117 Daniela Barreiro Claro Serviços Web Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios Descoberta Semântica (OWL-S Discovery) 117 Filtros Semânticos –Exact > Plug-In > Subsumes > Sibling > Fail Daniela Barreiro Claro Serviços Web Semânticos Amorim, R; Claro D.B. et al Descoberta Composição Execução e Monitoração OWL-S Composer

118 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 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 Daniela Barreiro Claro Serviços Web

119 Execução 119 Uma API deve ser utilizada para executar a composição semântica do serviço OWL-S Composer 2.0 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 Daniela Barreiro Claro Serviços Web

120 OWL-S Composer 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) 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 Daniela Barreiro Claro Serviços Web

121 OWL-S Composer Sena, V 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 Daniela Barreiro Claro Serviços Web

122 OWL-S Composer 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 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 Daniela Barreiro Claro Serviços Web

123 OWL-S Composer 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 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 Daniela Barreiro Claro Serviços Web

124 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 Descoberta Composição Execução e Monitoração OWL-S Composer Daniela Barreiro Claro Serviços Web

125 OWL-S Composer 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 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 Daniela Barreiro Claro Serviços Web

126 OWL-S Composer Sena, V 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 Daniela Barreiro Claro Serviços Web

127 OWL-S Composer Inclusão de composição com serviços em nuvem Sena, V 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 Daniela Barreiro Claro Serviços Web

128 OWL-S Composer Aspectos Temporais e validacao formal Sena, V 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 Daniela Barreiro Claro Serviços Web

129 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 Serviços Web Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

130 Composições Autonômicas 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 Serviços Web Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

131 Composições Autonômicas 131 Self-healing nas composições semânticas Monitoração Diagnostico Recuperação Ferreira, M., Claro D.B Daniela Barreiro Claro Serviços Web Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

132 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 Serviços Web Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

133 ...e principalmente 133 Comercializar e socializar cada vez mais os Serviços Web Semânticos Daniela Barreiro Claro Serviços Web Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios

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 134 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 Conclusão Equipe Daniela Barreiro Claro Serviços Web

135 Conclusão 135 Serviços cada vez mais sendo utilizados Daniela Barreiro Claro Serviços Web 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

136 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 Serviços Web 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

137 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 Serviços Web 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

138 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 138 Daniela Barreiro Claro Serviços Web 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

139 Muito obrigada! Profª. Daniela Barreiro Claro Fabricio de Oliveira Alves FORMAS/LaSiD/DCC/UFBA 139 Daniela Barreiro Claro Serviços Web Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios


Carregar ppt "Serviços Web e a Computação em Nuvem: Definições e Desafios Grupo de Pesquisa FORMAS – Formalsmos e Aplcações Semântticas LABORATÓRIO DE SISTEMAS DISTRIBUÍDOS."

Apresentações semelhantes


Anúncios Google