Introdução à Tecnologia de Web-Services

Tamanho: px
Começar a partir da página:

Download "Introdução à Tecnologia de Web-Services"

Transcrição

1 Evolução das Tecnologias de Computação Distribuída Introdução à Tecnologia de Web-Services Máquina A Java, VB, Java CVC++ C++,... Request Response Java CORBA RPC Interface IDL Máquina B C++, VB, Java C, CVC++ Java Base de Dados Sistemas Informáticos I, Microsoft Sockets Java Sun CORBA RPC RMI TCP/IP DCOM Modelo Request-Response: Modelo típico das aplicações Client/Server Tecnologias Web CORBA or Java RMI over the Internet? Servlets JSPs ASP CGI Web Server Base de Dados Empresa A Máquina A Firewall Request Response Firewall Máquina B Empresa B Base de Dados HTTP Microsoft CORBA/ Sockets Java Sun RPC JavaRMI TCP/IP DCOM HTML Port 80 is OK... So, use HTTP... 1

2 Intranet Technologies RMI, CORBA, DCOM, MOM,... All these technologies provide App2App interaction within a trusted intranet. And without concern about interoperability between different implementations. Integrar uma Aplicação Java com outra Aplicação Microsoft.NET Máquina A Request Response Máquina B C#.NET Java J2EE Base de Dados Oh Oh, we are playing a difficult game... Some Reasonings... Use HTTP as a transport protocol. (no more connectivity problems...) Represent data as text XML Use Web Technologies to integrate applications (Ex: Web-Server + Servlets) XML Structured way to represent data. It is platform neutral and provides portable, platform independent data. XML provides a meta-language in which we can use specialized languages. 2

3 SOAP SOAP: Simple Object Access Protocol SOAP was initially proposed by Microsoft, Develop Mentor and Userland Software (1998). It is now a standard that defines XML Messages to access remote objects. It can be implemented over HTTP, SMTP or JMS. A SOAP Request Message <SOAP-ENV:Envelope xmlns:soap-env=" " SOAP-ENV:encodingStyle=" "> <SOAP-ENV:Header> <!-- Optional context information --> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:getlasttradeprice <xmlns:m= <tickersymbol>sunw</tickersymbol> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Parâmetro Nome do Web-Service URI do Web- Service A SOAP Response Message <SOAP-ENV:Envelope xmlns:soap-env=" " SOAP-ENV:encodingStyle=" "> <SOAP-ENV:Header> <!-- Optional context information --> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:getlasttradepriceresponse xmlns:m= some_uri"> <price>30.5</price> </m:getlasttradepriceresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Resposta WSDL It is an XML Language for describing Web services, their functions, parameters and return values. Describes what a web service can do, where it resides and how to invoke it. WSDL is essentially the IDL of Web services 3

4 WSDL Basic Protocols <binding name="stockquoteservicebinding" type="stockquoteservicetype"> <soap:binding style="rpc" transport=" <operation name="getquote"> <soap:operation soapaction=" <input> <soap:body type="inmessagerequest" namespace="urn:live-stock-quotes" encoding=" </input> <output> <soap:body type="outmessageresponse" encoding=" </output> </operation> </binding> WSDL SOAP HTTP Service Description XML Messaging Network Protocol What is a Web-Service? A programmable application component that is accessible via standard Internet protocols. Examples: stock quotes, traffic conditions, calculators, news, weather, airplanes checking, web searching,, Goto: Definition Web-Service? Language and platform independent infrastructure for loosely-coupled, inter-operable, app2app communication over the internet. -Separation of specification and implementation -Message-based, synchronous and asynchronous -Standards-based -Using internet protocols -App 2 App 4

5 Web-Services: Protocols Simple Web-Services Transport Protocol: HTTP/HTTPS Data Encoding: SOAP-XML Interface Description: WSDL Service Discovery: UDDI Security: WS-Security, XML-Signature,XML-Encryption Advanced Web-Services Arquitectura Web-Services Service Providers - Create web services and publish them. Service Broker/Registry - Maintains a registry of published services Service Requesters Find the required services by searching the service broker s registry and binding their application to the service provider. 5

6 Integrar uma Aplicação Java com outra Aplicação Microsoft.NET Vantagens dos Web-Services Máquina A Java JDK SOAP Wrapper SOAP Request XML SOAP Response WSDL Description Web services merely serve as the glue between the client and server applications. It is still necessary to use a programming language to design the client and server: Java, C/C++, ASP, C#, VB, PHP, Web- Service Máquina B C#.NET Base de Dados Web services promote interoperability. Web services are based on standards and neutral technologies. Web services solve the connectivity problems between applications. Web services give a new life to legacy applications by making them usable through the Internet. Web-Services against the other technologies?... Web services are complementary to technologies such as J2EE, CORBA,.NET, etc. they do not replace them! They give us a web-friendly tool for system integration: definitely the simplest way to integrate.net, CORBA, J2EE, etc. Desvantagens There is too much hype... Interoperability is currently not fully achieved.. Programming Web-Services is still not an easy task (except in Microsoft.Net). Performance overhead in the communication... 6

7 Some Results Web Services Toolkits 3000 Comparação de tempos (RPC) Microsoft.NET Apache SOAP & AXIS 2500 Sun Microsystems JWSDP Tempo (ms) Sockets RMI JAX-RPC.NET JBOSS IBM WebSphere Bea Weblogic Webmethods Glue Tamanho (bytes) AXIS & Tomcat Programação de Web-Services usando o Apache AXIS 7

8 Instalar Tomcat (v ) Instalar Apache Axis (v 1.3) Instalações... Copiar C:/Axis/webapps/axis C:/Tomcat/webapps/ Axis directories Directory Structure: axis-1_0 Instalar XML API (xercesimpl.jar, xml-apis.jar,...) na directoria Axis/lib e em Tomcat/webapps/axis/WEB-INF/lib/ set CLASSPATH: setenv.bat ou alterar variaveis environment. webapps axis WEB-INF lib docs samples set AXIS_HOME=C:\axis-1_3 Set CLASSPATH =.;C:\j2sdk1.4.2_02\lib\saaj.jar;C:\j2sdk1.4.2_02\lib\jaxrpc.jar;%AXIS_HOME%\lib\activation.jar; %AXIS_HOME%\lib\mailapi.jar;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\axisschema.jar;%AXIS_HOME%\lib\activation.jar;%AXIS_HOME%\lib\commons-logging jar; %AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\dom.jar;%AXIS_HOME%\lib\jdom.jar; %AXIS_HOME%\lib\jaxp-api.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\saaj.jar; %AXIS_HOME%\lib\sax.jar %AXIS_HOME%\lib\xercesImpl.jar;%AXIS_HOME%\lib\xmlapis.jar;%AXIS_HOME%\lib\wsdl4j jar; %AXIS_HOME%\lib\log4j1.2.8.jar ;%AXIS_HOME%\lib\xsltc.jar;%AXIS_HOME%\lib\xalan.jar; C:\j2sdk1.4.2_02\lib\tools.jar; lib classes web.xml Testar Instalação Ver Config do Tomcat Start Tomcat Testar Tomcat e Axis. Validate Axis

9 Web-Service: Método Imediato Desenvolver o Primeiro Web-Service Escrever uma classe em java. Gravar esse ficheiro com terminação.jws em vez de.java ColocarAddFunction.jws na directoriawebapps/axis Examine a descrição WSDL: Invocar o Web-Service através de um Browser:

10 Desenvolver uma App Cliente 1. Usando DII (Dynamic Invocation Interface) 2. Usando um Dynamic Proxy 3. Usando Stubs (gerados a partir do WSDL) Vamos usar a abordagem dos stubs baseados no WSDL Gerar Stubs a partir do WSDL java org.apache.axis.wsdl.wsdl2java -p ADD STUBS são gerados para a package ADD: -AddFunction -AddFunctionService -AddFunctionServiceLocator -AddFunctionSoapBindingStub SE DER ERRO, VERIFICAR CLASSPATH. INCLUIR TODOS OS JARS no FICHEIRO SETENV.BAT Código do Cliente Compilar e Executar!!" # $ % & '(& ) *&&+,- %)./ &$ #, 01, -1. 2&&'3( 2&&'0( % $ * 2 % $4 567) * 2*& %) %).89 *

11 JWS Deployment JWS Deployment é simples mas tem limitações: É preciso colocar o src no servidor tomcat Compilação na altura da invocação Não suporta acções de personalização Activar o Web-Service no Tomcat/Axis Alternativa: activar um Web-Service usando WSDD Criar um Web-Service # javac Calculator.java put Calculator.class em Tomcat/webapps/axis/WEB-INF/classes (A) Configurar Tomcat: serverconfig.wsdd Se quisermos fazer o deploy manual deste web-service editamos o "server-config.wsdd" do TOMCAT inserindo o seguinte: <service name="calculator" provider="java:rpc"> <parameter name="allowedmethods" value="add subtract"/> <parameter name="scope" value="session"/> <parameter name="classname" value="calculator"/> <parameter name="wsdltargetnamespace" value=" r"/> </service> - Atenção, neste caso, temos que fazer um restart ao Tomcat... 11

12 B: Alternativa (ainda manual) Criar um Ficheiro deploy.wsdd Ficheiro: deploy.wsdd Verificar se o serviço está activo no Axis <deployment xmlns=" xmlns:java=" <service name="calculator" provider="java:rpc"> <parameter name="wsdltargetnamespace" value=" <parameter name="classname" value="calculator"/> <parameter name="allowedmethods" value="add subtract"/> <parameter name="scope" value="session"/> </service> </deployment> e podemos fazer o deploy sem restart do Tomcat (deploy.bat): java org.apache.axis.client.adminclient - lhttp://localhost:8080/axis/services/adminservice deploy.wsdd Verificar o método e parâmetros Testar usando um browser: Desenvolver a App Cliente 12

13 1st Step: Gerar stubs cliente Compile and Run java org.apache.axis.wsdl.wsdl2java -p calc javac *.java java CalculatorClient " ## $ %& &'( #%$4 2 #567) 2 ) 2#%$4 2&# %) %) %).8.&: & %;7 Service: MillionaireQuiz Desenvolver uma App Cliente para um Web-Service externo Ver web-service at: Millionaire Quiz Implemented in GLUE WSDL: 13

14 WSDL: WSDL Analyzer Gerar Stubs, Compilar, Executar Generated Stubs // Generate Stubs java org.apache.axis.wsdl.wsdl2java -p quiz // Compile javac *.java // Run java Client 14

15 ServiceLocator and Stub QuizServiceLocator l = null; IQuizService_PortType stub = null; l = new QuizServiceLocator(); stub = l.getiquizservice(); //IQuizService interface //iquizservice_porttype stub //QuizServiceLocator.getIQuizService() Client import java.io.*; import quiz.*; public class Client{ public static void RandomQuestionAndAnswer() { QuizServiceLocator l = null; IQuizServiceStub_PortType stub = null; MultipleChoiceQuestion mcq = null; try { l = new QuizServiceLocator(); stub = l.getiquizservice(); BufferedReader br = new BufferedReader (new InputStreamReader(System.in)); while(true){ mcq= stub.randomquestion(); System.out.println(mcq.getQuestion()); System.out.println("a: " + mcq.getanswera()); System.out.println("b: " + mcq.getanswerb()); System.out.println("c: " + mcq.getanswerc()); System.out.println("d: " + mcq.getanswerd()); System.out.println("Your choice (a,b,c or d): "); String guessedanswer = br.readline(); System.out.println ( stub.checkcorrectanswerbyid (mcq.getid(),guessedanswer)); System.out.println("======================="); } } catch (Exception e) { System.err.println("Execution failed. Exception: " + e); } } public static void main(string[] args ) { RandomQuestionAndAnswer(); } } Client </AULA WEB-SERVICES> 15

Criando Web Services. Palestrante: Daniel Destro do Carmo

Criando Web Services. Palestrante: Daniel Destro do Carmo Criando Web Services com Apache Axis Palestrante: Daniel Destro do Carmo Tópicos do Tutorial Introdução O que são Web Services? Padrões Web Services SOAP WSDL Web Services com Java O que é Apache Axis?

Leia mais

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos Web Services Integração de aplicações na Web Integração de Aplicações na Web Interoperação entre ambientes heterogêneos desafios diversidade de componentes: EJB, CORBA, DCOM... diversidade de linguagens:

Leia mais

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5 Princípios de Sistemas Distribuídos Tecnologias utilizadas em sistemas distribuídos Aula 5 Conceitos de comunicação entre processos Interprocess Communication (IPC) Sistemas distribuídos são construídos

Leia mais

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML. Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

Web Services. Tópicos. Motivação. Tecnologias Web Service. Passo a passo Business Web Conclusão. Integração de aplicações SOAP, WSDL, UDDI, WSFL

Web Services. Tópicos. Motivação. Tecnologias Web Service. Passo a passo Business Web Conclusão. Integração de aplicações SOAP, WSDL, UDDI, WSFL Web Services Antonio Dirceu adrvf@cin.ufpe.br Tópicos Motivação Integração de aplicações Tecnologias Web Service SOAP, WSDL, UDDI, WSFL Passo a passo Business Web Conclusão Motivação Integração de Aplicações

Leia mais

Java RMI. Alcides Calsavara

Java RMI. Alcides Calsavara Java RMI Alcides Calsavara Objetivos Permitir que um método de uma classe Java em execução em uma máquina virtual JVM chame um método de um objeto (instância de uma classe Java) situado em outra máquina

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa Web Service Plínio Antunes Garcia Sam Ould Mohamed el Hacen Sumário Introdução conceitual O Web Service

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local

Leia mais

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services (continuação) WSDL - Web Service Definition Language WSDL permite descrever o serviço que será oferecido

Leia mais

Serviços Web: Arquitetura

Serviços Web: Arquitetura Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática

Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática Java RMI - Remote Method Invocation Folha 5-1 No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

Kassius Vargas Prestes

Kassius Vargas Prestes Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/

Leia mais

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Agenda 1. 2. Web Container TomCat 2 3 J2EE permite criar aplicações Web dinâmicas (com conteúdo dinâmico)

Leia mais

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 20.10.2006. Faculdade de Ciências da Universidade de Lisboa

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/2007 20.10.2006. Faculdade de Ciências da Universidade de Lisboa Alexandre Zua Caldeira Tecnologias de Middleware 2006/2007 Faculdade de Ciências da Universidade de Lisboa 20.10.2006 1 Introdução Definições Limitações do Middleware Estudado Integração com Web Services

Leia mais

Web Services. José Mocito. Web Services. Tecnologias de Middleware 2004/2005. Universidade de Lisboa. 11 de Novembro, 2004

Web Services. José Mocito. Web Services. Tecnologias de Middleware 2004/2005. Universidade de Lisboa. 11 de Novembro, 2004 Tecnologias de 2004/2005 Universidade de Lisboa 11 de Novembro, 2004 ? Parte I Porquê os?? Importantes em cenários de integração entre negócios (B2B - business to business) Necessidade de automatização

Leia mais

Desenvolvimento de Aplicações Corporativas Avançadas. Web Services

Desenvolvimento de Aplicações Corporativas Avançadas. Web Services Desenvolvimento de Aplicações Corporativas Avançadas Web Services Agenda Introdução Web Service Arquitetura Soluções Passos básicos Implementando com Apache Axis Novos protocolos Conclusão O cenário de

Leia mais

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB) Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido

Leia mais

Adriano Reine Bueno Rafael Barros Silva

Adriano Reine Bueno Rafael Barros Silva Adriano Reine Bueno Rafael Barros Silva Introdução RMI Tecnologias Semelhantes Arquitetura RMI Funcionamento Serialização dos dados Criando Aplicações Distribuídas com RMI Segurança Exemplo prático Referências

Leia mais

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Num sistema de objectos distribuídos, dois conceitos são fundamentais. Folha 10-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível

Leia mais

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. Common Object Request Broker Architecture [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008. From: Fintan Bolton Pure CORBA SAMS, 2001 From: Coulouris, Dollimore and

Leia mais

Middleware de Aplicações Paralelas/Distribuídas

Middleware de Aplicações Paralelas/Distribuídas Computação Paralela Middleware de Aplicações Paralelas/Distribuídas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Principais aspectos a gerir pelo Middleware

Leia mais

Aula de hoje: Web Services (Serviços Web) Processamento Paralelo Web Services. Tecnologias básicas da Web. Aplicações na Internet

Aula de hoje: Web Services (Serviços Web) Processamento Paralelo Web Services. Tecnologias básicas da Web. Aplicações na Internet Processamento Paralelo Web Services Aula de hoje: Web Services (Serviços Web) Evolução da Web para apoiar interação entre componentes Tecnologias para Web Services Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br)

Leia mais

5/10/10. Implementação. Building web Apps. Server vs. client side. How to create dynamic contents?" Client side" Server side"

5/10/10. Implementação. Building web Apps. Server vs. client side. How to create dynamic contents? Client side Server side 5/10/10 Implementação Mestrado em Informática Universidade do Minho! 6! Building web Apps How to create dynamic contents?" Client side" Code runs on the client (browser)" Code runs on a virtual machine

Leia mais

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

Leia mais

Introdução a Web Services

Introdução a Web Services Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas

Leia mais

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API Programação Na Web Servlets: Como usar as Servlets 1 António Gonçalves Agenda Template genérico para criar Servlets Servlet 2.4 API Exemplo: Hello World Output: Texto, HTML e hora local. Compilar uma Servlets

Leia mais

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação

Leia mais

Programação Cliente em Sistemas Web

Programação Cliente em Sistemas Web Programação Cliente em Sistemas Web WEBSERVICES Cap 18. - Sistemas distribuídos e serviços web em Deitel, H.M, Sistemas Operacionais, 3 ª edição, Pearson Prentice Hall, 2005 Fonte: Rodrigo Rebouças de

Leia mais

J2EE. J2EE - Surgimento

J2EE. J2EE - Surgimento J2EE Java 2 Enterprise Edition Objetivo: Definir uma plataforma padrão para aplicações distribuídas Simplificar o desenvolvimento de um modelo de aplicações baseadas em componentes J2EE - Surgimento Início:

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

Leia mais

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Tutorial RMI (Remote Method Invocation) por Alabê Duarte Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos

Leia mais

Sistemas Distribuídos Arquiteturas Middlewares

Sistemas Distribuídos Arquiteturas Middlewares Sistemas Distribuídos Arquiteturas s Arquitetura Arquitetura de um sistema é sua estrutura em termos dos componentes e seus relacionamentos Objetivo: garantir que a estrutura satisfará as demandas presentes

Leia mais

Web Technologies. Tópicos da apresentação

Web Technologies. Tópicos da apresentação Web Technologies Tecnologias de Middleware 2004/2005 Hugo Simões hsimoes@di.fc.ul.pt 1 A Web Tópicos da apresentação Tecnologias Web para suporte a clientes remotos (Applets,CGI,Servlets) Servidores Aplicacionais

Leia mais

Departamento de Engenharia Informática Sistemas Distribuídos. Java Web Services Cookbook

Departamento de Engenharia Informática Sistemas Distribuídos. Java Web Services Cookbook Departamento de Engenharia Informática Sistemas Distribuídos Java Web Services Cookbook 12 de Maio de 2009 Índice Nota prévia... 3 Criar um Web Service... 4 Estratégia... 4 Passos básicos... 4 Variantes...

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Protocolos de Aplicação Mecanismos de comunicação

Leia mais

Tolerância a Faltas nos Web Services

Tolerância a Faltas nos Web Services Tolerância a Faltas nos Web Services Reliable Messaging Protocol - RMP RMP Tolerar faltas temporárias na comunicação Garantir a semântica da invocação do Web Service independentemente do protocolo de transporte

Leia mais

Programação por Objectos

Programação por Objectos Programação por Objectos Java: instalação, configuração e ferramentas MEEC@IST Java 1/21 Ferramentas revisão J2SE JDK (última vs, pelo menos vs 5.0) http://java.sun.com/javase/downloads/index.jsp Eclipse,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral

Leia mais

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos

Leia mais

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web: Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em

Leia mais

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello 1/39 Serviços Web (Web Services) Emerson Ribeiro de Mello Departamento de Automação e Sistemas Universidade Federal de Santa Catarina 22 de Maio de 2007 2/39 Arquitetura Orientada a Serviços Arquitetura

Leia mais

Projeto: Plataforma de Integração. Data: 01/08/2014

Projeto: Plataforma de Integração. Data: 01/08/2014 Manual do Usuário - Autenticação Plataforma de Integração Arquitetura de Software 1.0 20/03/2014 1 de 8 Histórico de Revisões Data Versão Descrição 01/08/2014 1.0 Criação do documento 04/08/2014 1.1 Revisão

Leia mais

: : Interoperabilidade entre Sistemas de Informação baseados na WEB - uma abordagem Multicanal

: : Interoperabilidade entre Sistemas de Informação baseados na WEB - uma abordagem Multicanal : : Interoperabilidade entre Sistemas de Informação baseados na WEB - uma abordagem Multicanal Sérgio Magalhães mgi01020@fe.up.pt As vantagens competitivas ganham-se muitas vezes por ser o primeiro a chegar

Leia mais

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Programação para Internet Avançada 4. Web Services Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt São módulos de aplicações de negócios que expõem as regras do negócio como serviços na Internet através

Leia mais

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware. Camadas de Software - o Middleware Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Requerimentos para Arquitecturas Distribuídas

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação

Leia mais

tecnologias web e gestão de identidade

tecnologias web e gestão de identidade tecnologias web e gestão de identidade histórico serviços da era inicial da Internet telnet ftp gopher - estruturas hierárquicas www - hipertexto estudos sobre hipertexto e hipermídia sistemas locais www

Leia mais

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br CORBA Common Object Request Broker Architecture Unicamp Centro de Computação Rubens Queiroz de Almeida queiroz@unicamp.br Objetivos Apresentação Tecnologia CORBA Conceitos Básicos e Terminologia Considerações

Leia mais

Livro de Receitas. Modelação Engenharia de Software Sistemas Distribuídos. 2009-04-17 Versão 1.1. Framework de aplicações com Web Services

Livro de Receitas. Modelação Engenharia de Software Sistemas Distribuídos. 2009-04-17 Versão 1.1. Framework de aplicações com Web Services Modelação Engenharia de Software Sistemas Distribuídos Departamento Engenharia Informática Livro de Receitas Framework de aplicações com Web Services 2009-04-17 Versão 1.1 Índice Índice... 2 Nota prévia...

Leia mais

Sistemas Distribuídos Métodos de Invocação Remota II. Prof. MSc. Hugo Souza

Sistemas Distribuídos Métodos de Invocação Remota II. Prof. MSc. Hugo Souza Sistemas Distribuídos Métodos de Invocação Remota II Prof. MSc. Hugo Souza Nesta aula, complementando os conceitos que vimos nas aulas anteriores [aula 15], vamos praticar a programação de laboratório

Leia mais

Integre pela Internet com os Web Services OpenEdge

Integre pela Internet com os Web Services OpenEdge Integre pela Internet com os Web Services OpenEdge Luciano Oliveira Solution Consultant, Progress OpenEdge Foco da Sessão Implementando OpenEdge Web Services Entendendo Web Services Identificar quando

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Invocação de Objetos

Leia mais

Capítulo V Sistemas de Objectos Distribuídos

Capítulo V Sistemas de Objectos Distribuídos From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley 2001 From: Wolfgang Emmerich Engineering Distributed Objects John Wiley & Sons, Ltd 2000 1 O modelo

Leia mais

Integração Orientada a Serviços

Integração Orientada a Serviços Integração Orientada a Serviços Porto Alegre, Agosto de 2006 Agenda Sobre a e-core SOA O que é? Web Services x SOA Principal Motivação - Integração SOI ESB BPEL JBI ServiceMix Solução Proposta A Empresa

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 11 Objetivos Este capítulo apresenta uma introdução aos sistemas distribuídos em geral Arquiteturas de cliente servidor Características das arquiteturas de 2 e 3 camadas Ambiente

Leia mais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais RMI JAVA MIDDLEWARE Aplicativos RMI, RPC e eventos Protocolo Requesição-Respostal Camadas Middleware Representação Externa dos Dados Sistemas Operacionais RMI REMOTE METHOD INVOCATION Invocação remota

Leia mais

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto

Leia mais

INF01018 Aula Prática 2 RMI Remote Method Invocation

INF01018 Aula Prática 2 RMI Remote Method Invocation 1 / 18 INF01018 Aula Prática 2 RMI Remote Method Invocation Lucas Mello Schnorr, Alexandre Silva Caríssimi {lmschnorr,asc}@inf.ufrgs.br http://www.inf.ufrgs.br/ lmschnorr/ad/ INF01018 Sistemas Operacionais

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP

SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP Web Services & SOAP Tecnologias de Middleware 2004/2005 SOAP Simple Object Access Protocol Os web services necessitam de comunicar entre eles e trocar mensagens. O SOAP define a estrutura e o processamento

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows

Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows 1 - Configuração do J2SDKSE (Java 2 SDK Standard Edition) Deve-se obter o arquivo j2sdk-1_4_2_03-windows-i586-p.exe ou mais recente

Leia mais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

INE5380 - Sistemas Distribuídos

INE5380 - Sistemas Distribuídos INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção

Leia mais

Web Services. Tópicos. Introdução (1/3) CONTEXTO HISTÓRICO WEB SERVICES Conclusões

Web Services. Tópicos. Introdução (1/3) CONTEXTO HISTÓRICO WEB SERVICES Conclusões Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Web Services Conceitual Juliano Moraes, Marcus Breda, Paulo Gil, Rafael

Leia mais

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Invocação de Métodos Remotos RMI (Remote Method Invocation) Invocação de Métodos Remotos RMI (Remote Method Invocation) Programação com Objetos Distribuídos Um sistema de objetos distribuídos permite a operação com objetos remotos A partir de uma aplicação cliente

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

Interoperability through Web Services: Evaluating OGC Standards in Client Development for Spatial Data Infrastructures

Interoperability through Web Services: Evaluating OGC Standards in Client Development for Spatial Data Infrastructures GeoInfo - 2006 Interoperability through Web Services: Evaluating OGC Standards in Client Development for Spatial Data Infrastructures Leonardo Lacerda Alves Clodoveu A. Davis Jr. Information Systems Lab

Leia mais

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

Introdução Conceitos Iniciais Metodologia Web Services Considerações Finais. Introdução. Conceitos Iniciais Metodologia

Introdução Conceitos Iniciais Metodologia Web Services Considerações Finais. Introdução. Conceitos Iniciais Metodologia Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Pós-Graduação em Ciência da Computação WEB SERVICES Objetivo do trabalho; Utilização de ; Alexandra C. P. de Aguiar, Andriele

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II Introdução Instituto de Informátic ca - UFRGS Sistemas Operacionais II Web services (Serviços web) Aula 15 Necessidade de comunicação entre sistemas heterogêneos Ex: corba, DCOM, Java RMI, Sun RPC, etc!

Leia mais

WSDL e UDDI. Pedro Miguel Martins Nunes WSDL. WSDL Exemplo prático Resumo UDDI. Serviço UDDI Estruturas de dados UDDI e WSDL API Resumo

WSDL e UDDI. Pedro Miguel Martins Nunes WSDL. WSDL Exemplo prático Resumo UDDI. Serviço UDDI Estruturas de dados UDDI e WSDL API Resumo e Serviço e e Tecnologias de Middleware 06/07 Curso de Especialização em Informática Departamento de Informática Faculdade de Ciências da Universidade de Lisboa 27.10.2006 e Serviço e 1 2 Serviço e 3 e...o

Leia mais

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCC-0263 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1. Número: Nome: Página 1 de 6 LEIC/LETI, 2014/15, Repescagem do 1º Teste de Sistemas Distribuídos 30 de Junho de 2015 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

Leia mais

Sistemas Distribuídos. Visão Geral Expandida

Sistemas Distribuídos. Visão Geral Expandida Sistemas Distribuídos Visão Geral Expandida Visão Geral! Infra-estrutura! Ambientes de execução e de programação! Projeto! Configuração! Simulação! Testes Visão Geral! Infra-estrutura Heterogeneidade Redes!

Leia mais

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema

Leia mais

Web Services SOAP. Introdução

Web Services SOAP. Introdução Web Services SOAP Introdução 1 Cenários Problemáticos Soluções para aplicações corporativas avançadas Cenário 1: Portal de Turismo Cenário 2: Compra Automática Cenário 3: Supply Chain Management Cenário

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Web Container: e JSP Sumário Protocolo HTTP Exemplos de JSP (Java Server Pages) Exemplos JSP 2 Protocolo HTTP URL: Um URL (Uniform

Leia mais

Desenvolvimento Cliente-Servidor 1

Desenvolvimento Cliente-Servidor 1 Desenvolvimento Cliente- 1 Ambiienttes de Desenvollviimentto Avançados Engenharia Informática Instituto Superior de Engenharia do Porto Alexandre Bragança 1998/99 Ambientes de Desenvolvimento Avançados

Leia mais

Web Services utilizando JAX-WS

Web Services utilizando JAX-WS Web Services utilizando JAX-WS JAX-WS Facilitar o uso da API JAX-RPC e do modelo de implantação Anotações baseados em JSR-181 Exemplo Básico: Anotações: @WebService @WebMethod @WebParam @WebResult Exemplo

Leia mais

Sistemas Distribuídos Métodos de Invocação Remota IV. Prof. MSc. Hugo Souza

Sistemas Distribuídos Métodos de Invocação Remota IV. Prof. MSc. Hugo Souza Sistemas Distribuídos Métodos de Invocação Remota IV Prof. MSc. Hugo Souza Nesta aula, complementando os conceitos que vimos nas aulas anteriores [aula 15, aula 16 e aula 17], vamos praticar a segunda

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

Web Services na plataforma.net

Web Services na plataforma.net Web Services na plataforma.net Jackson Gomes de Souza 1 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Caixa Postal 160 77054-970 Palmas TO Brasil jgomes@ulbra-to.br

Leia mais