1.39k likes | 1.49k Views
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.
E N D
Serviços Web e a Computação em Nuvem: Definições e Desafios Grupo de Pesquisa FORMAS – Formalsmos e AplcaçõesSemâ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 ClaroProfessora Adjunta da UFBA • Depto de Ciência da Computação da UFBA • Fabricio de Oliveira Alves– Graduandoem CC/UFBA • FORMAS (Formalismos e AplicaçõesSemânticas) • Laboratório de SistemasDistribuídos (LaSiD) • Pesquisa OWL-S Composer: pluginparacomposiçãosemântica de WS ComposiçõesConfiáveis de Serviços Web Semânticos ComposiçõesAutonômicas de Serviços Web Verificação e Validação Formal emComposiçõesSemânticas ExtraçaodaInformação 2 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br 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 Apresentação Agenda Introdução Agenda • Visãogeral e mudanças de paradigmas • ComputaçãoemNuvem 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 umacomposição de SWS • Descoberta SWS • ComposiçãoSemântica • Execução • GrandesDesafiosdaComputaçãoemNuvem e dos Serviços Web 3 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
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 Mundo nas nuvens... SAWSDL UDDI-S FT-SOAP WS-Security WS-Transaction OWL WSDL-S Nuvem WS SWS UDDI WS-Replication WS-BPEL SOAP Elasticidade OWL-S WSC EC2 ... 4 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Visão Geral Antigamente, tudo dentro de uma empresa era dissociado... Departamento de marketing não se comunicava com depto comercial, com recursos humanos,... Diversos aplicativos eram construídos isoladamente Muitas funcionalidades redundantes eram desenvolvidas... ... e os esforços e as despesas necessárias para construir estas funcionalidades. 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 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 5
Visão Geral Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios 29% 16% 17% Apresentação Agenda Introdução 18% Aplicativo C Aplicativo D Aplicativo A Aplicativo B • Diferentes aplicativos desenvolvidos independentemente podem resultar em muitas funcionalidades redundantes • Hospedagem complexa de numerosos aplicativos desenvolvidos através de diferentes tecnologias • Desafio para a evolução de uma empresa e expansão da infra-estrutura tecnológica Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 6
VisãoGeral Aplicativos para a automação de processos de negócios específicos Desafio da integração “Colcha de retalhos ponto a ponto” Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios Aplicativo C Aplicativo D Aplicativo A Aplicativo B Apresentação Agenda Introdução Tradução: Java p/ dotNET Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 7
VisãoGeral 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çãoda Internet comomeio de realização de negócios Necessidade de criarambientestolerantes a falhas e redundância. 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 + SOA 8 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
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 -> tudoparaNuvem As aplicaçoes e osdocumentospodem ser acessados de qualquerlugar no mundo. Facilidades Libera dos limites do desktop Maximiza a colaboração entre grupos de diferenteslocalidades 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 9 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Definições Desktop-centricnotion is bound to fall to the universal access Acesso universal provido pela Computação em Nuvem 24/7 confiabilidade Colaboraçãopervasiva Tradicionalmente – perspectiva desktop Executacopias de aplicativosemcadacomputador Documentossaoarmazenadosnoscomputadoresquesãocriados Emboradocumentospossam ser acessadosporoutroscomputadoresnamesmarede, elesnãopodem ser acessadosporcomputadoresforadarede. 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 10 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Definições O queComputaçãoemNuvemNÃO É: ComputaçãoemRede (networking computing) Emcomputaçãoemrede, aplicações e documentossãoarmazenadosemservidores e acessadosporumarede Acessolimitado à rede de computadoresdentrodaempresa Externalização dos dados (Outsourcing) Serviços, dados e aplicações de umaempresaalocadosemoutrasempresas Somenteacessiveispelosempregados via a rededaempresalocadora 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 11 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Definições O queComputaçãoemNuvemNÃO É: Grid Computing Especificonaresolução de problemaspontuais. Podemdividirumaaplicaçãoempedaços e ser executadospormilhares de computadores. Grid Computing X ComputaçãoemNuvem GC: Grande projeto é divididoemmultiploscomputadoresparafazeruso dos seusrecursos CC: Permitequepequenasaplicaçõesrodemaomesmo tempo Virtualization Ë relevantepois é a maneira de se acessarcloud services. 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 12 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Definições O queComputaçãoemNuvemNÃO É: Há a full virtualization e a paravirtualization Full Virtualization Compartilhamento de um sistemaporváriosusuários Isolamento entre osusuarios e entre o programagerenciador Emulsão de hardware emoutramáquina Paravirtualization MultiplosSistemasoperacionaisexecutandoemumamaquinaaomesmo tempo utilizandoosrecursos de maneiramaiseficiente. 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 13 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Definições O queComputaçãoemNuvemNÃO É: full virtualization e a paravirtualization 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 14 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Definições Nuvempode ser : Um grandegrupo de computadoresinterligados Computadorespessoaisouservidoresemrede Publicosouprivados ComputaçãoemNuvemultrapassaoslimitesdaempresa Aplicaçõesemumanuvemestãodisponiveispara um grandegrupo de usuários, cross-enterprise e cross-plataforma Acesso à nuvempela Internet Tecnologiapara o usuário é transparente 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 15 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
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. 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 16 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Definições As propriedades da Cloud Computing é (cont): Powerful Conexão de milhares de computadoresemumanuvemamplia o podercomputacional Accessible Nãolimitado a umaúnicafonte de dados como um desktop Dados sãoarmazenadosemmúltiplosrepositórios Intelligent Muitos dados armazenadosemcomputadoresnasnuvens Mineração de dados e análise é necessáriopara o acesso a informação Programmable Automação das tarefasnasNuvens Dados devem ser automatizados; replicados 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 17 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Aplicações AplicaçõesmaispopularesemNuvem Google Docs & spreadsheets Google Calendar Gmail Picasa Todasestasaplicaçõessãoacessíveisatravés de umaconexão Internet e podem ser usadasporgruposcompartilhadosemqualquerlugar no mundo. Assim, computaçãoemnuvempermiteumamudança: Computador -> usuário Aplicação -> tarefa Dado isolado -> dado compartilhado 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 18 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Histórico AntecedentesemcomputaçãoCliente/Servidor , Peer-to-Peer e ComputaçãoDistribuída Aplicações e ArmazenamentoCentralizado O poder de processamento é limitado Usuáriosacessam o mainframe quando com permissõesdefinidas Acessonao é imediato e nemdoisusuariosnãopodemacessar o mesmo dado no mesmo tempo Dados nãopodem ser modificados, somente se hápermissãoparatal, ouseja, não se podecustomizar um relatórioquejátenhasidopré-definido Modelo C/S difere de Nuvemvistoquenao é user-centric 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 19 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Histórico Computação Peer-to-Peer Define umaarquiteturaemredeondecadacomputador tem capacidades e responsabilidadesequivalentes Todossãoclientes e servidores P2P é um conceitodescentralizado. Controle é descentralizado e o conteudo é dispersoemvariospontos (peer) entre computadores. ComputaçãoDistribuída Computadorpessoalrodando 24/7 tem umacapacidade de processamentogrande Porém, a maiorianãousa o computadoreste tempo, entãoeleficamuito tempo ocioso Computaçãodistribuídavemutilizarestesrecursosociosos. 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 20 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Histórico ComputaçãoColaborativa Trabalhar no mesmoprojeto de forma colaborativa Usuáriospodemcompartilhararquivos, video/audio, etc A maioria das atividadescolaborativassaodesenvolvidasdentrodarededaempresa ComputaçãoemNuvem é um grandeambientecolaborativo Usuários de muitaslocalizaçõesdistintaspodemcolaborar com projetoscross-companies e semlimitesgeográficos. Para issoosprojetosdevem ser hospedadosemnuvem com acesso via Internet 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 21 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
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.” Qualqueraplicaçãoouserviçooferecido via umanuvem é denominadocloud service A aplicaçãorodananuvem via Internet tipicamenteatravés de um Web browser A aplicação se comporta e opera comoumaaplicação de desktop padrão. A principal diferença é que ambos a aplicação e o documentocontinuamlocalizadosnanuvem. 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 22 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem – Prós e Contra Vantagens Financeira Alto podercomputacional com baixocusto; Varioscomputadoresenvolvidos Naohágastos com licençasparasoftwares Melhoria do Desempenho Poucosprogramasrodandopois a maioriaestáemnuvem Poucocustoeminfraestrutura Podercomputacionalnasnuvens Poucanecessidade de comprarequipamentosparalidar com ospicos de grandesprocessamentos 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 23 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem – Prós e Contra Vantagens Poucamanutenção Pouco hardware (poucosservidores), baixocusto de manutenção Baixocusto com software Economianainstalação de software nos desktops Atualização de software Usuáriosnão se preocupammais com software obsoletoou ultra upgrades. 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 24 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem – Prós e Contra Vantagens Aumento do podercomputacional Naohámaislimitedentro de um desktop, mas o podercomputacional é baseadonacapacidadedanuvem Segurança dos dados Dados ficamnasnuvens; caso o computadorfalheou HD tenhaproblema, os dados estão salvos. Dados nasnuvenssãoduplicados Ampliação das compatibilidades entre SO distintos Nasnuvensnãointeressa o SO Podecompartilhardocumentosindependente de S.O. 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 25 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem – Prós e Contra Vantagens Compatibilidade do formato dos documentos Nãoháincompatibilidades entre formatosquandotodoscompartilhamdocumentosnanuvem ColaboraçãoemGrupos Colaboração de documentos e projetos Acesso Universal aosdocumentos Nãohámaisdocumentosqueserãoesquecidos no escritório. Documentosestaonasnuvens 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 26 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem – Prós e Contra Desvantagens Necessita de umaconexão à Internet constante Nãofuncionabem com conexões com baixavelocidade, tipo dial-up Mesmoemumaconexãorapida, aplicações web podemficarlentas Tudo é enviado do computador e para o computador As aplicações web aindanãosãofull-featurescomo o PowerPoint As informaçõesbásicassãosimilares; mascaracterísticasespecíficassãoaindadiferenciadas Dados armazenadospodemnãosãoseguros Quemgarantequeos dados guardados de forma confiáveis? 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 27 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação em Nuvem - Empresas Grandesempresasestãoenvolvidas com a revoluçãodaComputaçãoemNuvem Google Amazon Microsoft IBM HP, etc 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 28 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Cloud Services ServicosnasNuvenspermitemque o negóciosejapublicado e disponibilizadoindependente do host. Ideal parapequenasempresas, evitandocustosexcessivos. Desenvolvimentoorientado a Cloud tem sidouma das maispromissorasformas de desenvolveraplicações Web Nuvem tem a característica de Elasticidade Ondepodeexpandirsem a necessidade de grandesinvestimentosem software e nemem hardware 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 29 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Cloud Services – Prós e Contra Vantagensparadesenvolverorientado à nuvem Escalabilidadeautomática Economia com escalabilidadenaincorporação de novosserviços Umaaplicaçãopodefazeruso de todososrecursos de uma Cloud AplicaçõesemNuvemsão “alugadas” Departamentosisolados de manutençãooudepartamentostécnicosnãosãomaisnecessários Desvantagens A principal desvantagem é a segurança Muitospreferemmanterseus dados, aplicações e operaçõestécnicas sob controleinternonaempresa Nuvemficaroffline Amazon Ec2 ficoupor 8 horasem 2008 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 30 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Tipos de CloudServices 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 AindaháComposições as a Service (CaaS) Permitem as composições de serviços 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 31 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Tipos de CloudServices Infrastructure as a Service Utilização de um servidor virtual e publicaserviçosnesteambiente Provêrecursocomputacional e osclientespodemexecutarosseusserviçosdentrodesteambiente Principais Amazon Elastic Cloud Computing (EC2) GoGrid GoGridfoiuma das primeirasIaaS 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 32 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Tipos de CloudServices Platform as a Service É uma forma de construiraplicações e publicá-lasnanuvem Constroiaplicaçõescomopequenospedaços (legos) Háváriasplataformas RightScale Google Salesforce.com 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 33 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Tipos de CloudServices Service as a Service Aoinvés de proverumaplataforma, jáprovêumaaplicaçãoprontaparauso PaaS prove mecanismosparaquedesenvolveraplicacoesproprias SaaSjáprovê a aplicaçãoemsi Consumidoresnaopagampelapropriedade do software, maspeloseuuso Cadaempresa é denominada de tenant e estetipo de organização é denominadamultitenant architecture VisaoConsumidor: SaaSnãorequerinvestimentosemservidores e nememlicença. VisaoDesenvolvedor: Somente 1 aplicacaoparadarmanutenção 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 34 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Cloud e SOA 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 35 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
Computação Orientada a Serviços Computação Orientada a Serviços Evolução da Computação Distribuída Características da Orientação a Serviços Maior consistência na representação das funcionalidades de dados Menor dependência entre unidades de lógica (serviço) Menor preocupação com os detalhes de implementação Mais oportunidade de reutilizar a unidade de lógica para diversas aplicações Mais oportunidade de combinação de unidades de lógicas Maior capacidade de previsão comportamental 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 Unidade de lógica é reduzida porque a mesma é compartilhada e reutilizada para automatizar diversos processos de negocios. 36 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
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 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 37 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web
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 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 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 38
SOA – Service Oriented Architecture 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 • 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 http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br 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 SOA – Service Oriented Architecture Diversificação de fornecedor Reuso e produtividade Menor carga de trabalho Flexibilidade Atendimento aos requisitos do negocio Extensibilidade Interoperabilidade nativa Robustez Agilidade Organizacional Federação Apresentação Agenda Introdução Principais objetivos da Orientação a Objetos Principais objetivos da Orientação a Serviços: herda os objetivos da OO e aumenta o seu escopo Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 40
SOA – Service Oriented Architecture Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios Fatura getNumero() Apresentação Agenda Introdução • 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 Objeto Serviço Fatura numero: int getNumero():int Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 41
Orientação a Serviços X Orientação a Objetos 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 • Troca de Mensagens • Serviços podem trocar msg síncronas ou assíncronas • São estruturadas em XML Schema • Interface • Pode ser considerado um Serviço • Ponto de entrada oficial para funcionalidades de serviços publicados; Abstrai detalhes do serviço • Encapsulamento • Pode ser visto como a abstração do serviço • Herança • Baixo acoplamento entre serviços, a herança é desestimulada na SOA • Não ha relacionamentos “é-um” Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 42
Grandes Desafios da SOA 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 • Ênfase constante no reuso aumenta a complexidade do projeto do serviço • Maior exigência de desempenho destes serviços • Confiabilidade destes serviços • Disponibilidade destes serviços • Falhas • Pontos únicos de falhas introduzido pelo reuso • Criação do repositório de serviços • Demandas excessivas ao repositório • Otimização na utilização destes serviços • etc Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 43
Implementação da SOA 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 Web Services • Atualmente... Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br 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 http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br 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 http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br 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 http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br 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 DataTier Web Server EJB Container Browser JSP, Servlets, XML,... EJB, JMS, JTA, JDBC, ... HTML, XML Web Services Web Services Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 48
Principais Tecnologias da SOA Computação em Nuvem e SOA Serviços Web e Web Semântica Composições Semânticas e Ciclos de Vida Grandes Desafios Provedor do Serviço Publicar Ligar Repositorio do Serviço Solicitante do Serviço Localizar Apresentação Agenda Introdução 1 3 2 Daniela Barreiro Claro http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br 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 http://homes.dcc.ufba.br/~dclaro/ dclaro@ufba.br Serviços Web 50