Web Services. Evolução
|
|
- Heitor Bergler Eger
- 6 Há anos
- Visualizações:
Transcrição
1 Web Services Evolução 1997 A Sun distribui o JDK 1.1 que inclui o Remote Method Invocation (RMI) que define um modelo de computação distribuída usando objectos Java. O RMI é semelhante ao CORBA e ao DCOM mas funciona só com objectos Java. Microsoft desenvolveu o COM+ sucessor do DCOM muito próximo do modelo CORBA A SUN distribui o Java 2 Platform Entreprise Edition (J2EE) que integra o RMI e o IIOP tornando mais simples a interoperação de sistemas entre sistemas Java e CORBA. O Simple Object Acess Protocol SOAP apareceu pela primeira vez A IBM e a Microsoft propõem as pilhas de protocolos dos Web Services à W3C (World Wide Web Consortium) Wire stack Description stack Discovery stack
2 Motivação dos Web Services Resolver todo o tipo de heterogeneidade de dados e informação com XML Mensagens codificadas em texto para passar através das firewalls Protocolo muito simples para garantir a interoperação entre plataformas de múltiplos fabricantes Permitir utilizar RPC ou MOM sistemas de comunicação síncronos e assíncronos Usar de forma directa o HTTP e HTTPS como protocolos de transferência de informação Usar URL e URI como referências remotas para objectos Permitir a transferência de todo o tipo de informação desde estruturas de dados a documentos estruturados e informação multimédia. Eliminar a distinção de sistemas para transferência de documentos e sistemas para transferência de dados Dinâmica do Mercado IBM : o produto principal é o Websphere que inclui o SOAP, WSDL, UDDI Microsoft:.NET suporta directamente Web Services mas é muito mais abrangente incluindo uma nova linguagem de programação o C # Sun: SunOne, o suporte da Sun ao Java faz com que esta plataforma é uma das que incorpora a tecnologia J2EE e dos Web services. BEA: Weblogic evolução da plataforma de J2EE Oracle: Oracle 10i Web Service Broker. Incorpora a maioria dos conceitos de Web Services mas como é natural considera a base de dados como o broker entre os clientes e serviços. BPEL server SAP: Netweaver Application server, EAI, Business service architecture
3 Modelo dos Web Services Service Registry Find Publish Service Requestor Request Bind /Response Service Provider Arquitectura dos WEB services Um serviço de Directório para registo e pesquisa dos serviços UDDI Um protocolo de pedidoresposta para invocação do serviço SOAP Uma especificação da interface do serviço WSDL Páginas amarelas e directório Interacção Contratos
4 Web services - Composição Descrição da Localização UDDI BPEL4WS WS-Metadata Exchange Componentes Segurança Comunicação Fiável Transacções Coordenação Descrição do Serviço WSDL WS-Policy Mensagem Descrição da Mensagem MTOM SOAP XSD WS-Addressing XML Transporte HTTP HTTPS SMTP extensible Markup Language - XML Resolver a heterogeneidade na comunicação e nos dados de forma universal
5 Arquitectura de Integração da Informação Em muitos casos a integração procura resolver o problema da troca de informação com múltiplas representações A solução mais simples para este problema é representar os dados num formato canónico que todos sabiam utilizar Os dados originais de cada sistema têm de ser mapeado no formato canónico mas depois podem ser usados por todos que sigam o formato. Esta é a razão da grande importância do XML extensible Markup Language O XML deriva de uma linguagem muito mais antiga para definição do formato de impressão de documentos o SGML. O SGML já tinha sido a tecnologia de base no desenvolvimento do HTML. Essencialmente o XML permite através de etiquetas (tags) associar a descrição do formato aos dados de um documento. Toda a descrição é textual o que resolve muito dos problemas de portabilidade. O XML é uma proposta do W3C e é percepcionado como o substituto dos formatos anteriores de representação de dados como o EDI
6 Benefícios do XML Tecnologia não proprietária Independente das plataformas o formato é texto Compatível com o HTTP o XML tem uma sintaxe mais restritiva que o HTML, mas pode ser usado como o HTML pelo que passa pelas firewalls Internacional formato texto que usa UTF-8 ou UTF-16 para representar os caracteres Extensível Novas tags podem ser adicionadas por necessidade de extensão. Para evitar duplicações existem name spaces a que um documento pode ser associado. A interpretação das mensagens depende de tags e não de posição do campo na mensagem Permite a transformação automática dos dados - As transformações são especificadas usando XML Stylesheet Language Transformatiom (XSLT) Auto definida A estrutura de um documento XML tem uma meta-descrição com base Document Type Definition (DTD) ou actualmente com XML schema Ferramentas genéricas ferramentas Open Source em Java e ferramentas já existentes para SGML. Exemplo XML Imprimir Texto <H1> Skateboard Usage Requirements</H1> <P>In order to use the <B>FastGlide</B> skateboard you have to have:</p> <LIST> <ITEM>A strong pair of legs.</item> <ITEM>A reasonably long stretch of smooth road surface.</item> <ITEM>The impulse to impress others.</item> </LIST> <P>If you have all of the above, you can proceed to <LINK HREF= Chapter2.xml >Getting on the Board</LINK>.</P>
7 XML Exemplo Dados <po id= submitted= > <billto> <company>the Skateboard Warehouse</company> <street>one Warehouse Park</street> <sreet>building 17</street> <city>boston</city> <state>ma</state> <postalcode>01775</postalcode> </billto> <shipto> <company>the Skateboard Warehouse</company> <street>one Warehouse Park</street> <street>building 17</street> <city>boston</city> <state>ma</state> <postalcode>01775</postalcode> </shipto> <order> <item sku= 318-BP quantity= 5 > <description>skateboard backpack; five pockets</description> </item> <item sku= 947 TI quantity= 12 > <description>street - style titanium skateboard.</description> </item> <item sku= 008-PR quantity= 1000 > </item> </order> </po> Tecnologia XML Namespaces Permite a unicidade de nomes e resolver colisões. Os Espaços de nomes são normalmente associados a um domínio de aplicação Um nome torna-se único por associação a um URI Xpath Define um mecanismo de acesso a elementos dentro de um documento XML Xlink Mecanismo para indexar outros documentos semelhantes aos hiperlinks do HTML mas mais robusto XSL XML style sheet- documentos XML que definem transformações de documentos em XML DOM - Document Object Model O DOM define os métodos para aceder a um documento XML. Pressupõe que o documento é carregado em memória e que através de uma API se acede aos diferentes elementos SAX - Simple API for XML O SAX é um parser que invoca funções à medida que encontra elementos no documento
8 Esquema do Documento A especificação de documentos era inicialmente efectuada em DTD Document Type Definition em 2001 foi proposto o XML Schema que estende as capacidades do DTD mas cuja principal vantagem é ter uma sintaxe XML que o DTD não tinha Um parser usando um DTD ou XML Schema pode verificar se o documento está sintacticamente correcto e se está conforme com um determinado tipo A meta-descrição pode ser incluída no documento, mas a utilização mais interessante é poder aceder-lhe através de um URI partilhando-o entre aplicações Comparação XML schema e DTD DTD era anterior ao XML pelo que não suporta bem alguns aspectos da norma como por exemplo os namespaces O DTD tinha por objectivo descrever documentos legíveis por humanos e não documentos para representar dados, por conseguinte faltam-lhe alguns construções para exprimir diversas restrições simples, como por ex.: idade só pode ter um valor não negativo entre 0 e 150 A sintaxe do DTD não é a do XML o que torna mais complexas as ferramentas
9 XML Schema Define Elementos obrigatórios e proibidos Estrutura hierárquica dos elementos Atributos necessários ou opcionais dos elementos e gama de valores permitidos Referências de parte de um documento a outros elementos do documento Exemplo de uma estrutura de dados em XML <?xml version= 1.0 encoding = UTF-8?> <employeelist> <employee type= contract > <employee_id>75868</employee_id> <name> <first_name>john</first_name> <last_name>doe</last_name> </name> <extn>27304</extn> <dept> </dept> < >john.doe@flute.com</ > </employee> /employeelist> employeelist
10 DTD Simples para o documento employeelist <!DOCTYPE employeelist [ <!ELEMENT employeelist (employee*)> <!ELEMENT employee (employee_id, name, extn, dept, )> <!ATTLIST emplyee type (perm contract) #REQUIRED> <!ELEMENT employee_id (#PCDATA)> Element emplyeelist consists of zero or more employee elements. NOTE: * = zero or more,? = zero or one, + = one or more Element employee contains elements employee_id, name, dept, and . Attribute type for element employee is required and must have either of these two values: contract or perm. <!ELEMENT NAME (first_name, last_name)> <!ELEMENT first_name (#PCDATA)> <!ELEMENT last_name (#PCDATA)> <!ELEMENT extn (#PCDATA)> <!ELEMENT dept (#PCDATA)> <!ELEMENT (#PCDATA)> ]> Element dept. maycontainanyparsablecharacterdata (PCData). XML Schema para o documento employeelist </xml version= 1.0 encoding= UTF-8?> <xsd:schema xmlns:xsd= targetnamespace= xmlns= > <xsd:element name= employeelist > <xsd:complextype> <xsd:sequence> <xsd:element ref= employee minoccurs= 1 maxoccurs= unbounded /> <xsd:seuqence> </xsd:complextype> </xsd:element> <xsd:element name= employee <xsd:complextype> <xsd:sequence> <xsd:element ref= employee_id minoccurs= 1 maxoccurs= 1 /> <xsd:element ref= name minoccurs= 1 maxoccurs= 1 /> <xsd:element ref= extn minoccurs= 1 maxoccurs= 1 /> <xsd:element ref= dept minoccurs= 1 maxoccurs= 1 /> <xsd:element ref= minoccurs= 1 maxoccurs= 1 /> </xsd:sequence> <xsd:attributegroup ref= employeeattribute /> </xsd:comlextype> </xsd:element> <xsd:element name= name <xsd:complextype> <xsd:sequence> <xsd:element ref= first_name minoccurs= 1 maxoccurs= 1 /> <xsd:element ref= last_name minoccurs= 1 maxoccurs= 1 /> <xsd:sequence> </xsd:complextype> </xsd:element> Namespace declaration <!ELEMENT employeelist (employee*)> <!ELEMENT employee (employee_id, name, extn, dept, )> <!ELEMENT name (first_name, last_name)>
11 <xsd:element name= employee_id > <xsd:simpletype> <xsd:restriction base= xsd:int > <xsd:minlnclusive value= 1 /> <xsd:maxlnclusive value= /> <xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name= first_name type= xsd:string /> <xsd:element name= last_name type= xsd:string /> <xsd:element name= type= xsd:string /> <xsd:element name= dept > <xsd:simpletype> <xsd:restriction base= xsd:string> employee:_id must be an integer between 1 and 100,000. <!ELEMENT first_name (PCDATA)> <!ELEMENT (PCDATA) Department must be specified in the form: <xsd:pattern value= [0-9]{3}-[0-9]{3}-[0-9]{4} /> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name= extn > <xsd:simpletype> <xsd:restrition base= xsd:string > <xsd:pattern value= [0-9]{5} /> </xsd:restrition> </xsd:simpletype> </xsd:element> <xsd:attributegroup name0 employeeattribute > <xsd:attribute name= type use= required > <xsd:simpletype> <xsd:restriction base= xsd:string > <xsd:enumerator value= contract /> Extension must be specified in the form (String consisting of five digits). <!ATTLIST employee type (permicontract) #REQUIRED> Utilização do XML São necessários três elementos: XML Schema (document type definition) XML parser (implementando a interface DOM) Aplicação para processar o documento XML Schema XML document XML Parser DOM Application Output
12 Simple Object Access Protocol SOAP Simple Object Access Protocol - SOAP Objectivo Ubiquitous XML distributed computing infrastructure Características Protocolo de comunicação distribuído permitindo o envio de qualquer tipo de informação entre aplicações Define o protocolo de pedido resposta estrutura das mensagens e da interacção entre cliente e servidor O protocolo de representação de dados baseado em XML. Referências remotas baseadas em URI Protocolo extensível permitindo a incorporação de várias facetas : segurança, tolerância a faltas, através de headers associados às mensagens
13 Wire stack Visão dos Web Services SOAP Headers Envelope Extensions SOAP XML and SOAP HTTP(S), SMTP, FTP, sockets. XML Messaging Data Encoding Network Protocol Security Manageability Quality of Service SOAP No SOAP toda a informação está incluída dentro de uma mensagem o envelope do SOAP. A mensagem tem um ou mais cabeçalhos (headers) e um corpo (body). Extensões às mensagens são os SOAP headers A heterogeneidade é tratada pelo XML assim como convenções para representar tipos de dados abstractos ou tipos de dados complexos Uma interacções do tipo pedido - resposta Um mecanismo de ligação entre as mensagens SOAP e o protocolo HTTP, o mais usado na Internet, contudo o SOAP pode utilizar outros protocolos de transporte como SMTP Um mecanismo para tratar as faltas SOAP fault Na base estão os protocolos de comunicação que podem ser usados: HTTP, SMTP, FTP, ou API de comunicação como os sockets A segurança pode aparecer a qualquer nível, por exemplo, utilizar SSL na comunicação ou assinaturas digitais nos headers.
14 SOAP Simple Object Access Protocol SOAP 1.1 Message Structure SOAP Envelope Header Entries [Header Element] Body Element [Fault Element] Define: Modelo de empacotamento SOAP Envelope Mecanismo de serialização SOAP Encoding Rules Chamada de procedimento remoto SOAP RPC Baseado em XML Pode usar vários transportes: HTTP SMTP... Interacções previstas no SOAP one-way Mensagem simples Client Server request-response RPC Notification callback notification-response Client Client Client Server Server Server
15 Execução simples em Soap É necessário um URL de destino O nome de uma operação Os parâmetros. Os parâmetros são passados por cópia (in e out) Não existem referências para os objectos remotos criadas automaticamente como em Corba ou Java. Informação contextual, como a informação de segurança Exemplo Servidor que disponibiliza o último preço praticado para um produto Função Remota float GetLastTradePrice(string symbol)
16 Soap - Pedido POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8 Content-Length: nnnn SOAPAction: "Some-URI <SOAP-ENV:Envelope xmlns:soap-env=" SOAP-ENV:encodingStyle=" <SOAP- ENV:Body> <m:getlasttradeprice xmlns:m="some-uri"> <symbol>dis</symbol> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> SOAP - Resposta HTTP/ OK Content-Type: text/xml; charset="utf-8 Content-Length: nnnn <SOAP-ENV:Envelope xmlns:soap-env=" SOAP-ENV:encodingStyle=" <SOAP-ENV:Body> <m:getlasttradepriceresponse xmlns:m="some-uri"> <Price>34.5</Price> </m:getlasttradepriceresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
17 Physical (Communication Protocol) Message POST /LookupCentral HTTP/1.1 Host: Content-Type: text/xml; charset= utf-8 Content-Length: nnn SOAPAction: Directory/LookupPerson Out-of-message context (target URI) Out-of-message context (SOAPAction) <SOAP-ENV:Envelope Logical SOAP Message xmlns:soap-env= SOAP-ENV:encodingStyle= /> <SOAP-ENV:Header> SOAP Headers <a: AuthorizationLevel> xmls:a= some-uri > </a:authorizationlevel> In-message context </SOAP-ENV:Header> <SOAP-ENV:Body> <m:lookupperson xmlns:m= Some-URI > <FirstName>Big<FirstName> <LastName>Boss</LastName> </m:lookupperson> </SOAP-ENV:body> SOAP Body </SOAP-ENV:Envelope> SOAPEnvelope +addheader(header:soapheader):void +addbodyelement(element:soapbodyelement):void +getheaderbyname(namespace:string, localpart:string):soapheader message Type:String encodingstyleuri:string bodyelements:vector headers:vector MessageElement +getvalueastype(type:qname):object +output(context:serializationcontext):void Name:String Prefix:String namespaceuri:string Type:QName Parent:MessageElement Element:SOAPEnvelope SOAPHeader +SOAPHeader(namespace:String, localpart:string +SOAPHeader(elem:Element) mustunderstand:boolean actor:string SOAPBodyElement +SOAPBodyElement(elem:Element) RPCParam RPCElement +RPCParam(name:String, value:object) value:object name:string +RPCElement(namespace:String, methodname:string, args:object[]) +getparam(name:string):rpcparam +addparam(param:rpcparam):void methodname:string params:vector
18 Binding do SOAP ao protocolo de Transporte O HTTP é um protocolo de pedido-resposta pelo que torna o protocolo de RPC do SOAP muito simples. Para outros protocolos tem de se criar um protocolo de controlo do RPC. O HTTP permite que o servidor não tenha estado A confidencialidade da informação pode ser assegurada pelo HTTP/S Binding do SOAP ao protocolo de Transporte O SOAP é independente do transporte e pode ser usado com a diferentes protocolos. Distinção entre a mensagem SOAP e a mensagem de transporte O contexto pode ser passado dentro na mensagem SOAP ou na mensagem de transporte No caso do HTTP a informação de contexto é passada através do URI e do SOAP action Se o mecanismo de transporte não tiver possibilidade de ter informação de contexto como, por exemplo, usando directamente os sockets as soluções possíveis são: Por convenção o porto x corresponde ao serviço Y Usando os headers do SOAP Usando um protocolo mínimo para transferir as mensagens do SOAP
19 WSDL - Web Service Definition Language Definição do contrato do Serviço WSDL - Web Service Definition Language A Interface Description Language dos Web Services Define o contrato a que o serviço se obriga Foi submetida para norma ao W3C pela IBM e pela Microsoft em Setembro A definição permite descrever Qual o serviço Que mensagens devem ser enviadas e qual a sua estrutura Como usar os vários protocolos de transporte Onde o serviço está localizado, mais precisamente para que rede a mensagem deve ser enviada A documento WSDL é um documento XML com todas as vantagens que dai advém de extensibilidade (namespaces, xml schema, etc.)
20 Service Description stack WSFL/ XLANG WSEL WSDL WSDL XML Schema Service Orchestration Endpoint Description Service Interface Service Implementation XML WSDL Web Services Description Language WSDL 1.1 Document Structure WSDL Document [Types] {Messages} {Port Types} {Bindings} {Services} Descreve: O que o serviço faz Operações Onde está localizado Endpoint Como invocá-lo Existem bindings para: SOAP 1.1 HTTP GET/POST MIME
21 Definições port Type Descreve a interface abstracta de um Web service. Atenção porque o termo port é aqui usado com um sentido totalmente diferente dos sockets, semelhante a interface de Java message assinatura das operações descrevendo o nome e os parâmetros da operação types colecção de todos os tipos de dados usados na especificação. Estes elementos são reutilizáveis porque definem entidades abstractas porttype <porttype name= PriceCheckPortType > <operation name= checkprice > <input message= pc:pricecheckrequest /> <output message= pc:pricecheckresponse /> </operation> <porttype> Descreve o que o Web service faz As mensagens permitem saber a assinatura dos métodos Normalmente um documento WSDL contem apenas um port type por razões de reutilização
22 Mensagens <! - - Message definitions - -> <! - - A PriceCheckRequest is simply an item code (sku) - -> <message name= PriceCheckRequest > <part name= sku type= xsd:string /> </message> <! - - A PriceCheckResponse consists of an availability structure, - - > <! - - defined above. <message name= PriceCheckResponse > <part name= result type= avail:availabilitytype /> </message> As mensagens podem ser de input, output ou assinalar faltas podem ser usadas nas diferentes operações Tipos de dados <types> <xsd:schema targetnamespace= xmlns:xsd= <xsd:complextype name= availabilitytype > <wsd:sequence> <xsd:element name= sku type= xsd:string /> <xsd:element name= price type= xsd:double /> </xsd:sequence> </xsd:complextype> </xsd:schema> </types> Tipos utilizados no documento WSDL Os tipos são declarados num XML schema
23 binding A função do binding é tornar concreto o serviço definindo a forma como funciona Exemplos: SOAP; HTTP; SMTP Semântica da invocação Request response; one-way; solicit response; notification Protocolo de transporte Valor do Soap action Formatação da mensagem Um porttype pode ter um mais bindings associados, mas cada documento WSDL normalmente só tem um. binding <binding name= PriceCheckSOAPBinding type= pc:pricecheckporttype > <soap:binding style= rpc transport= <operation name= checkprice > <soap:operation soapaction= /> <input> <soap:body use= encoded namespace= encodingstyle= /> </input> <output> <soap:body use= encoded namespace= encodingstyle= </output> </operation> </binding>
24 Exemplo de binding para SMTP <!- - Binding definitions - -> <binding name= PriceCheckSMTPBinding type= pc:pricecheckporttype > <soap:binding style= document Transport= /> <operation name= checkprice > <input> <soap:body use= literal /> </ input> <output> <soap:body use= literal /> </ output> </ operation> </ binding> port <! - - Service definition - -> <service name= PriceCheckService > <port name= PriceCheck binding= pc:pricechecksoapbinding > <soap:address location= </port> </service> <! - - Service definition - - > <service name= PriceCheckSMTPService > <port name= PriceCheckSMTP binding= PriceCheckSMTPBinding > <soap:address location= mailto:pricecheck@skstestown.com /> </ port> </ service> Define o endereço da rede da rede onde o Web service é disponibilizado. Se existissem vários bindings podiam ser definidos vários ports por exemplo para http ou o endereço de para SMTP
25 WSDL information model part type abstract interface porttype (abstract) message (abstract) operation (concrete) message (concrete) message concrete implementation binding Made concrete by service concrete endpoint port Contains zero or more WSDL exemplo (I) <?xml version= 1.0?> <definitions name= PriceCheck targetnamespace= xmlns:pc= xmlns:avail= xmlns:xsd= xmlns:soap= xmlns= > <! - - Type definitions - -> <types> <xsd:schema targetnamespace= xmlns:xsd= <xsd:complextype name= availabilitytype > <wsd:sequence> <xsd:element name= sku type= xsd:string /> <xsd:element name= price type= xsd:double /> </xsd:sequence> </xsd:complextype> </xsd:schema> </types>
26 WSDL exemplo (II) <! - - Message definitions - -> <! - - A PriceCheckRequest is simply an item code (sku) - -> <message name= PriceCheckRequest > <part name= sku type= xsd:string /> </message> <! - - A PriceCheckResponse consists of an availability structure, - - > <! - - defined above. <message name= PriceCheckResponse > <part name= result type= avail:availabilitytype /> </message> <!- - Port type definitions - -> <porttype name= PriceCheckPortType > <operation name= checkprice > <input message= pc:pricecheckrequest /> <output message= pc:pricecheckresponse /> </operation> <porttype> WSDL exemplo (III) <binding name= PriceCheckSOAPBinding type= pc:pricecheckporttype > <soap:binding style= rpc transport= <operation name= checkprice > <soap:operation soapaction= /> <input> <soap:body use= encoded namespace= encodingstyle= /> </input> <output> <soap:body use= encoded namespace= encodingstyle= </output> </operation> </binding> <! - - Service definition - -> <service name= PriceCheckService > <port name= PriceCheck binding= pc:pricechecksoapbinding > <soap:address location= </port> </service> </definitions>
27 UDDI- Discovery stack UDDI Directory ADS/DISCO Inspection Modelo dos Web Services Service Registry Find Publish Service Requestor Bind Service Provider
28 Discovery Stack Protocolo de ligação ou binding entre o cliente e o servidor. Os fornecedores dos serviços publicam a respectiva interface O protocolo de inspecção permite verificar se uma dado serviço existe baseado na sua identificação O UDDI responde às questões Onde é que o Web service está localizado? Qual o processo de negócio que o serviço disponibiliza O UDDI permite encontrar o serviço baseado na sua definição capability lookup JAX - RPC Integração dos Web Services com o ambiente Java
29 Stack Tipico de Interacção View Requestor Provider Developer Java API Java API Web service SOAP message SOAP message Wire-level HTTP packet HTTP packet JAX-RPC Java API for XML-based Remote Procedure Call Em JAX-RPC, uma chamada remota de procedimento é efectuada utilizando o protocolo SOAP (que define a estrutura e regras de representação da informação). A API do JAX-RPC esconde a complexidade da utilização de SOAP do programador. No servidor, o programador especifica os procedimentos remotos definindo uma interface em Java e criando uma classe que implemente esta interface. No cliente, o programador cria uma proxy (objecto local que representa o serviço) que é invocado para executar os métodos. Um cliente JAX-RPC pode aceder a Web services definidos noutras plataformas (devido à utilização de HTTP, SOAP e WSDL).
30 JAX-RPC Passos de Execução JAX-RPC Arquitectura Web Container - Tomcat Service Client Stub WSDL description Service Endpoint Tie JAX-RPC API Client Side JAX-RPC Runtime System WSDL <-> Java Mapping Message Protocol - SOAP Transport Protocol - HTTP Dispatch JAX- RPC API Server Side JAX-RPC Runtime System
31 Service Endpoint A service endpoint interface declara os métodos que um cliente remoto pode invocar no serviço package soma; import java.rmi.remote; import java.rmi.remoteexception; public interface SomaIF extends Remote { public int soma(int arg1, int arg2) throws RemoteException; } Algumas das regras A interface estende a interface Remote O método tem de lançar a RemoteException ou uma subclasse Os parâmetros de entrada e de retorno tem de ser suportados pelo JAX-RPC Exemplo Exemplo de classe de implementação: package soma; public class SomaImpl implements SomaIF { public int soma(int arg1, int arg2) { return arg1 + arg2; } } A ferramenta wscompile gera classes stub (cliente) e tie (servidor), que interagem com as bibliotecas de run-time. O wscompile gera também o documento da WSDL que descreve o serviço Tem de ser fornecido um ficheiro de configuração
32 JAX-RPC Descrição Duas componentes Server-side Gerar o WSDL, ties Instalar (deploy) num Web Container Client-side Gerar os stubs, compilar e executar a aplicação A aplicação cliente pode ser: Aplicação linha de comando Aplicação web Adaptação do modelo RPC JAX-RPC Modelo da Arquitectura Stubs Classes java reconstruídas no cliente que medeiam o acesso aos serviços remotos Ties Classes instaladas no servidor que encaminham os pedidos para a implementação do serviço correspondente Message Protocol - SOAP Transport Protocol - HTTP
33 JAX-RPC Modelo de Programação Cliente JAX-RPC Servidor JAX-RPC public class FlightsClient { public static void main(string[] args) { try { // obter um proxy local para o WS remoto Stub stub = createproxy(); FlightServiceIF teste = (FlightServiceIF) stub; // definir o Endpoint Address (endereço do WS) stub._setproperty( Stub.ENDPOINT_ADDRESS_PROPERTY, " public interface FlightServiceIF extends Remote { public String saygreetings (String clientname) throws RemoteException; } FlightServiceIF.java } // invocar método remoto String resultado = teste.saygreeting("quinas"); System.out.println(resultado); } catch (Exception ex) { // tratamento da excepção } } private static Stub createproxy() { return (Stub) ( new FlightServiceEndpoint_Impl(). getflightserviceifport()) ; } FlightsClient.java public class FlightServiceImpl implements FlightServiceIF { public String saygreeting (String clientname) throws RemoteException { return "TAP greets " + clientname +. ; } } FlightServiceImpl.java Cliente O cliente pode ter um static proxy criado antes da execução (static stub) que é compilado a partir do WSDL pelo wscompile O cliente pode também usar um dynamic proxy uma classe que é criada durante a execução a partir do WSDL
34 Cliente com um static proxy package soma; import javax.xml.rpc.stub; public class SomaClient { public static void main(string[] args) { try { Stub stub = createproxy(); SomaIF soma = (SomaIF)stub; int res = soma.soma(1, 2); } System.out.println("O resultado e': " + res); } catch (Exception ex) { ex.printstacktrace(); } private static Stub createproxy() { // implementação estática de um proxy return (Stub)(new EndpointSoma_Impl().getSomaIFPort()); } } JAX-RPC Handlers (para funcionalidades avançadas) Os handlers podem ser usados por exemplo para efectuar logging ou cifrar/decifrar os envelopes SOAP que passam na rede Handler Estende a classe javax.xml.rpc.handler.handler Métodos relevantes handlerequest(messagecontext context) handleresponse(messagecontext context) handlefault(messagecontext context) Handler Chain Sequência de handlers executados sobre pedidos e respostas
35 Handlers Configuração Cliente: wscompile_config.xml <wsdl location= <handlerchains> <chain runat= client"> <handler classname= handlerclass"> <property name="prop" value="val"/>... </handler> </chain>... </handlerchains> </wsdl> Servidor: jaxrpc-ri.xml <endpoint name= <handlerchains> <chain runat="server"> <handler classname= handlerclass"> <property name="prop" value="val"/>... </handler> </chain>... </handlerchains> </endpoint> Os handlers podem ser usados por exemplo para cifrar/decifrar os envelopes SOAP que passam na rede Para autenticar as mensagens 1) Validação de cartão de crédito Permitir ao portal verificar se o número de cartão de crédito introduzido pelo utilizador deve ser aceite Integrar portal com SCC Web Service Comunicação síncrona resposta imediata
36 Serviço de Turismo Projecto em Sistemas Empresariais Integrados
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 maisSistemas Distribuídos
Chamada Remota de Procedimento março de 2019 RPC: motivação A B send (B, &pedido) receive (B, &resposta) como facilitar esse padrão tão comum? encapsulamento de detalhes de comunicação criação, envio e
Leia maisINFORMÁTICA. Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir:
INFORMÁTICA Prova de Agente Fiscal de Rendas do ICMS-SP/2013 - FCC. Por Ana Lucia Castilho* Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir: A equipe de TI da empresa
Leia maiscontidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.
Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens
Leia maisUNIVERSIDADE. 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 maisWeb 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 maisGERENCIAMENTO BASEADO NA WEB. Baseado em slides gentilmente cedidos pelo Prof. João Henrique Kleinschmidt da UFABC.
GERENCIAMENTO BASEADO NA WEB Baseado em slides gentilmente cedidos pelo Prof. João Henrique Kleinschmidt da UFABC. Gerenciamento baseado na Web 2 Web browser Acesso ubíquo Interface Web vs Gerenciamento
Leia maisRoteiro. Por que Web Services? Computação Distribuída - DCOM e CORBA. Visão Geral XML. João Gustavo Gazolla Borges, Maverson Eduardo Schulze Rosa SOAP
Roteiro Introdução Introdução à Web Services João Gustavo Gazolla Borges, Maverson Eduardo Schulze Rosa DINF / UFPR 10 de novembro de 2006 Motivação Visão Geral XML SOAP WSDL UDDI Segurança Conclusão Definição
Leia maisUniversidade Federal Fluminense Mestrado em Sistemas de Telecomunicações. Disciplina: Fundamentos de Sistemas Multimídia.
Universidade Federal Fluminense Mestrado em Sistemas de Telecomunicações Disciplina: Fundamentos de Sistemas Multimídia Web Services Aluno: Leonardo Severo Alves de Melo leonardo.severo@ig.com.br Introdução
Leia maisXML. Prof. Júlio Machado
XML Prof. Júlio Machado julio.machado@pucrs.br ESQUEMAS Modelo de Esquemas Dois diferentes meios permitem descrever a estrutura de documentos XML e definir novos tipos de dados para elementos e atributos:
Leia maisSumário. XML (extensible Markup Language)
Sumário 1 Introdução Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto-Relacional 3 BD Temporal 4 BD Geográfico 5 XML e Bancos de Dados XML (extensible Markup Language) Tecnologia desenvolvida
Leia maisSistemas 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 maisLEIC/LERC 2007/08 Exame de Época Especial de Sistemas Distribuídos
Número: Nome: LEIC/LERC 2007/08 Exame de Época Especial de Sistemas Distribuídos 8 de Setembro de 2008 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 2h30m Grupo
Leia maisWeb 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 maisUNIVERSIDADE. 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 maisRicardo Couto Antunes da Rocha 2005 Ricardo Couto Antunes da Rocha
Programação com Sockets Ricardo Couto Antunes da Rocha rcarocha@inf.ufg.br 2005 Ricardo Couto Antunes da Rocha Parâmetros de protocolos Objetivo do protocolo Protocolo de transporte: TCP ou UDP Porta (servidora!):
Leia maisDesenvolvimento 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 maisAPIs Java para Web Services
APIs Java para Web Services Ivan Neto Roteiro S Revisão S Web services em Java S Como implementar um web service S Como acessar um web service S Implementando um cliente J2EE S Java EE 5 2 1 O que é um
Leia mais15/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 maisNúmero: Nome: Página 1 de 7. Duração da prova: 1h30m. Grupo I [7] Considere o seguinte excerto (incompleto) de um programa cliente em SUN RPC:
Número: Nome: Página 1 de 7 LEIC/LETI 2016/17, Repescagem do 1º Teste de Sistemas Distribuídos 4 de julho de 2017 Responda no enunciado, usando apenas o espaço fornecido. Identifique todas as folhas. Uma
Leia maisWeb 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 maisXM X L M L WE W B E B Se S r e vices e 0
XML WEB Services 0 Web Services A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable
Leia maisLEIC/LERC 2009/10 Primeiro Teste de Sistemas Distribuídos. Grupo I [6 v]
Número: Nome: LEIC/LERC 2009/10 Primeiro Teste de Sistemas Distribuídos 23 de Abril de 2010 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I [6 v]
Leia maisNum sistema de objectos distribuídos, dois conceitos são fundamentais.
Folha 9-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 maisSistemas Distribuídos
Sistemas Distribuídos RPC Remote Procedure Call 1 Fonte: Alcides Calsavara e Thais V. Batista Chamada de Procedimentos Remotos (RPC) Motivação: comunicação baseada em operações de entrada/saída Ideal:
Leia maisService Oriented Architectures (SOA)
Service Oriented Architectures (SOA) Marcelo Faro (mfal@cin.ufpe.br); Carlos Ferraz (cagf@cin.ufpe.br) CIn/UFPE 22 de janeiro de 2004 O que é uma Arquitetura Orientada a Serviços (SOA) Uma Arquitetura
Leia maisRMI e RPC. RPC significou um passo muito grande em direcção à
Sumário RMI Conceito. Arquitectura de Implementação. Java RMI Características. Interfaces e Objectos Remotos JVM e Java RMI. Passagem de Argumentos e Serialização. Class Downloading. 1 RMI e RPC RPC significou
Leia maisSistemas distribuídos. Prof. Emiliano Monteiro
Sistemas distribuídos Prof. Emiliano Monteiro Serviços web (web services) Nos serviços web um cliente específico de uma determinada aplicação interage pela Internet com um serviço que possui uma interface
Leia maisGrupo I [7v] b) [0,3] Em que componente do sistema de RPC será utilizado o campo identificador de operação?
Número: Nome: Página 1 de 7 LEIC/LETI 2013/14, 1º Teste de Sistemas Distribuídos, 29 de Março de 2014 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
Leia maisIntroduçã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 maisLEIC/LERC 2008/09 1º Exame de Sistemas Distribuídos
Número: Nome: LEIC/LERC 2008/09 1º Exame de Sistemas Distribuídos 11 de Julho de 2009 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 2h30m - 12 Páginas Grupo I
Leia maisJava RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Leia maisCommon Object Request Broker Architecture
Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores
Leia maisWeb Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services
Universidade Federal de Santa Catarina DSOOII Web Services Web Services - Introdução Havia inconsistência de plataformas, sistemas operacionais e/ou linguagens de programação; Acadêmicos: Ariane Talita
Leia maisXML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de
Capítulo 9: XML XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de documentos XML: XSLT Mapeamento entre documentos
Leia maisPrincipais conceitos de CORBA
Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem
Leia maisXML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de
Capítulo 9: XML XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de documentos XML: XSLT Mapeamento entre documentos
Leia maisInvocação Remota. Prof. Leonardo Barreto Campos. 1/29
Invocação Remota Prof. Leonardo Barreto Campos 1/29 Sumário Introdução Chamada de Procedimento Remoto Invocação a Método Remoto Leitura Complementar Bibliografia 2/29 Introdução Essa aula trata como os
Leia maisSOAP. 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 maisWeb Services. Sistemas Distribuídos Marcos Costa
Web Services Sistemas Distribuídos Marcos Costa masc@cin.ufpe.br Definição! WebServices.org! Web Services are encapsulated, loosely coupled contracted functions offered via standard protocols 2 Definição
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia maisUNIVERSIDADE FEDERAL DO MARANHÃO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO DIEGO RABELO MACIEL
UNIVERSIDADE FEDERAL DO MARANHÃO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO DIEGO RABELO MACIEL IMPLEMENTAÇÃO DE UM DISCO VIRTUAL SEGURO BASEADO EM WEB SERVICES São Luís 2007
Leia maisSTD29006 Sistemas Distribuídos
STD29006 Sistemas Distribuídos Serviços Web Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/std 22 de setembro
Leia maisWeb 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 maisXML. Prof. Júlio Machado
XML Prof. Júlio Machado julio.machado@pucrs.br INTRODUÇÃO O que é XML? É a sigla de Extensible Markup Language Linguagem de especificação para descrever dados Padrão aberto e largamente usado Definido
Leia maisPMR3507 Fábrica digital
LSA Laboratório de Sistemas de Automação www.pmrlsa.poli.usp.br PMR3507 Fábrica digital Do EDI ao SOA Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas
Leia maisINTRODUÇÃO. RPC x RMI
1 INTRODUÇÃO RPC x RMI 2 INTRODUÇÃO RPC Remote procedure call Este termo é utilizado para aplicativos clientes que fazem normalmente chamadas a procedimentos remotos que estão em outro processo e hosts.
Leia maisSimple Object Access Protocol Entendendo o Simple Object Access Protocol (SOAP)
por Marcus Rommel Barbosa Leopoldo Simple Object Access Protocol Entendendo o Simple Object Access Protocol (SOAP) Neste artigo vamos fazer uma análise geral da base da tecnologia SOAP. Conheceremos as
Leia maisSistemas Operacionais II
Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como
Leia maisDesenvolvimento de Aplicações Distribuídas
SOA e Web Services Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura
Leia maisWeb 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 maisSistemas Distribuídos Aula 10
Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação
Leia maisGrupo I [5,5v] Considere o seguinte código que ilustra uma componente programática de um sistema de RPC, neste caso do SUN-RPC.
Número: Nome: Página 1 de 7 LEIC/LERC 2012/13, 1º Teste de Sistemas Distribuídos, 16 de Abril de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
Leia maisConteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens
Web Services Pós-Graduação em Tecnologias para o desenvolvimento de aplicações WEB Conteúdo da Aula de Hoje Conceitos básicos Teste com WS Implementação de WS (Provedor e usuário) Instrutor : Avaliação
Leia maisXML (extensible Markup Language)
Sumário 1 Aplicações Não-Convencionais 2 Revisão e Dicas de Modelagem Conceitual 3 BD Orientado a Objetos e Objeto- Relacional 4 BD Temporal 5 BD Geográfico 6 BD XML XML (extensible Markup Language) Tecnologia
Leia maisSistemas 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 maisJava RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
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 maisSistemas 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 maisLEIC/LERC 2010/11 1º Teste de Sistemas Distribuídos
Número: Nome: LEIC/LERC 2010/11 1º Teste de Sistemas Distribuídos 9 de Abril de 2011 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I [5 v.] 1. [1,1
Leia maisSistemas de Objetos Distribuídos
Sistemas de Objetos Distribuídos Alex Carneiro Carlos Eduardo Elmadjian Karina Awoki Prof. Fabio Kon POO 2016.1 Agenda Conceitos Histórico CORBA Demos Comparação com SOA Conclusão 1 CONCEITOS Sistemas
Leia maisAula 23: Web Services (I)
Aula 23: Web Services (I) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) Web Services (I) TEPIS II 1 / 30 Web Services: Introdução Serviços
Leia maisIBM WebSphere MQ. Introdução
Introdução Arquitectura Application Messaging Interface WebSphere Aplication Server WebSphere Business Integration Server Vantagens e desvantagens Introdução Plataforma de integração e infraestrutura de
Leia maisSumário. 1 Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto- Relacional 3 BD Temporal 4 BD Geográfico 5 BDs XML
Sumário 1 Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto- Relacional 3 BD Temporal 4 BD Geográfico 5 BDs XML XML (extensible Markup Language) Tecnologia desenvolvida pela W3C W3C: World
Leia maiswww/~cagf/sdgrad Serviço de Nomes CORBA e Interoperabilidade de ORBs
www/~cagf/sdgrad Serviço de Nomes CORBA e Interoperabilidade de ORBs 2002-2003 Carlos A. G. Ferraz 2 Serviço de Nomes CORBA Páginas Brancas Permite encontrar objetos através de nomes Nomes Referência de
Leia maisO que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.
Web Services Por que os Web Services são atrativos para a integração de sistemas? Pois os Web services são componentes que possibilitam que as aplicações se comuniquem utilizando protocolos padrão da internet
Leia maisComposição. Rafael Ferraz 9 Dezembro 2004
Composição Rafael Ferraz 9 Dezembro 2004 Introdução. Guia da apresentação Enquadramento. Conceito. Motivação. Middleware de composição. Composição vs. coordenação. 2/77 Guia da apresentação. Coordenação
Leia maisUMA ABORDAGEM PARA BUSCA POR WEB SERVICES
RAFAEL KRÜGER TAVARES UMA ABORDAGEM PARA BUSCA POR WEB SERVICES COM REQUISITOS DE QOS FLORIANÓPOLIS 2006 II UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Rafael
Leia maisLEIC/LERC 2011/12, 1º
Número: Nome: Página 1 de 10 LEIC/LERC 2011/12, 1º Teste de Sistemas Distribuídos, 13 de Abril de 2012 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo
Leia maisJavaTM RMI - Remote Method Invocation
JavaTM RMI - Remote Method Invocation Java e Engenharia de Software Orientada a Objetos por Jorge H. C. Fernandes (jhcf@di.ufpe.br) CESAR-DI-UFPE Julho de 1999 Objetivos desta Aula Mostrar o modelo de
Leia maisManual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Simplificada (Juridica) Versão: 1.0. Autor: Angelo Bestetti Junior
Manual de Integração Tecnologia: WebServices SOAP XML Área: CDC Produto: CDC Simplificada (Juridica) Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...
Leia maisSumário. Message Oriented Middleware (MOM) Sincronização na Comunicação. Comunicação Assíncrona
Sumário Message Oriented Middleware (MOM) October 16, 2008 Comunicação Assíncrona (MOM) Conceito Java Message Service Implementação Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes
Leia maisSistemas Distribuídos: Conceitos e Projeto RPC e RMI
Sistemas Distribuídos: Conceitos e Projeto RPC e RMI Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br 15 de abril
Leia maisService 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 maisRui Carneiro, Rui Pereira, Tiago Orfão
Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt
Leia maisSERVIÇOS WEB. Frankley Gustavo F. Mesquita, Tamiris Souza Fonseca. 27 de junho de 2016
Frankley Gustavo F. Mesquita Tamiris Souza Fonseca 27 de junho de 2016 Sumário 1 2 3 4 5 6 7 8 O padrão Web foi desenvolvido pelo Laboratório Europeu de Física de Partículas (CERN - European Particle Physics
Leia maisMessage Oriented Middleware (MOM)
Message Oriented Middleware (MOM) November 1, 2009 Sumário Comunicação Assíncrona (MOM) Conceito Java Message Service Implementação Comunicação Assíncrona Problema: Nem sempre as entidades comunicantes
Leia maisWeb Services REST JAX-RS
Web Services REST JAX-RS Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Principais tecnologias envolvidas Testando os serviços desenvolvidos JAX-RS Principais anotações JAX-RS Principais anotações
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisPrincí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 maisCapítulo 3: Chamadas de Procedimentos Remotos
Chamada de Procedimentos Remotos RPC - Remote Procedure Call Capítulo 3: Chamadas de Procedimentos Remotos Modelo de programação da comunicação num sistema cliente-servidor Obvia as limitações referidas
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
- Aula 5 - PROGRAMAÇÃO DISTRIBUÍDA COM RMI 1 (Remote Method Invocation) 1. INTRODUÇÃO Sistemas distribuídos necessitam que aplicações, executando em vários espaços de endereçamento, normalmente em diferentes
Leia maisSérgio Koch Van-Dall
PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO WEB SERVICES Sérgio Koch Van-Dall sergiod@inf.furb.br Orientador: Prof. Paulo Fernando da Silva UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIAS
Leia maisNúmero: Nome: Página 1 de 7
Número: Nome: Página 1 de 7 LEIC/LETI 2017/18, Repescagem 1º Teste de Sistemas Distribuídos, 3 de julho de 2018 Responda no enunciado, usando apenas o espaço fornecido. Identifique todas as folhas. Uma
Leia maisProgramaçã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 maisCriação de um Web Services em.net
Web Service em.net 1 Criação de um Web Services em.net 1. Criar um novo Web Site com template ASP.NET Web Service, de acordo com a figura seguinte. O Visual studio cria um directório com os ficheiros indicados
Leia maisSistemas Distribuídos
Chamada Remota de Procedimento abril de 2017 RPC: motivação A B send (B, &pedido) receive (B, &resposta) como facilitar esse padrão tão comum? encapsulamento de detalhes de comunicação criação, envio e
Leia maisCriação de um Web Services em.net
Web Service em.net 1 Criação de um Web Services em.net 1. Criar um novo projecto do tipo ASP.NET Web Service, de acordo com a figura seguinte. O.Net cria um directório virtual com os ficheiros indicados
Leia maisSistemas 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 maisProgramando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior
Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD
Leia maisComputação Orientada a Serviços
Universidade Tecnológica Federal do Paraná Campus Cornélio Procópio Computação Orientada a Serviços Elias Canhadas Genvigir Roteiro de Apresentação Introdução Problema Computação Orientada a Serviços Serviços
Leia maisServiço de Nomes CORBA. Serviço de Nomes CORBA e Interoperabilidade de ORBs. Serviço de Nomes CORBA. Serviço de Nomes CORBA. Serviço de Nomes CORBA
www/~cagf/sdgrad Páginas Brancas e Interoperabilidade de s Permite encontrar objetos através de nomes Nomes Referência de Objeto Essa associação é denominada name binding Um name context é o espaço onde
Leia mais