Web Services. Departamento de Engenharia Informática

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

Download "Web Services. Departamento de Engenharia Informática"

Transcrição

1 Web Services Departamento de Engenharia Informática

2 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

3 Motivação dos Web Services Protocolo muito simples para garantir a interoperação entre plataformas de múltiplos fabricantes Tratar todo o tipo de heterogeneidade de dados e informação com XML Permitir utilizar RPC ou MOM (Message Oriented Middleware) 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 Conseguindo maior facilidade de passar através das firewalls 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

4 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 O biztalk suporta web services Sun Microsystems O suporte da Sun ao Java faz com que esta plataforma é uma das que incorpora a tecnologia Java Enterprise e os Web services. Oracle: Oracle 10i Web Service Broker. BPEL server, Oracle BPMS SAP: SAP XI,

5 Uniform Resource Identifiers (URIs) Standard de nomes de recursos na WWW Sintaxe: [prefixo]:[sufixo-específico-do-protocolo] Exemplos: urn:isbn: https://www.ist.utl.pt/index.html Duas funções distintas: Identificar univocamente um recurso na internet Chamados URNs (Uniform Resource Names) e/ou Localizar um recurso na internet Chamados URLs (Uniform Resource Locator)

6 Uma transformação no desenvolvimento dos protocolos Os protocolo tradicionais da aplicação na Internet (IETF et al.): Um protocolo para cada tipo de aplicação: SMTP para , ftp para transferência de ficheiros, HTTP para acesso web, POP para ler , NNTP para netnews, Processo de desenvolvimento de protocolos lento refazer segurança (autenticação) para cada protocolo Cada novo protocolo tem a sua codificação de texto própria Semelhanças em vários protocolos: SMTP-style headers Content-Type: text/plain; charset="us-ascii"; format=flowed Exposição ao parsing Possibilidade de novos buffer overflows para cada protocolo application TCP IP application SOAP HTTP TCP IP

7 A transformação do desenho de protocolos Uma aplicação, um protocolo uma infraestrutura comum para o desenvolvimento Modelo Antigo: RPC para as aplicações proprietárias das empresas Protocolos dedicados para aplicações comuns na internet Muitas aplicações novas Não há engenheiros de redes suficientes Evoluir de especialista da rede especialista da aplicação Um novo protocolo da IEFT demora em média ~5 anos Muitas aplicações (do ao file access) podiam ser estruturadas como RPC custom text protocol (ftp) ASN.1- based (SNMP, X.400) RFC 822 protocol (SMTP, HTTP, RTSP, SIP, ) use XML for protocol bodies (IETF IM & presence) SOAP and other XML protocols

8 Porque podem ter sucesso os Web Services se os RPC falharam (??) SOAP = só mais um protocolo de RPC Muitos precursores: SunRPC, DCE, DCOM, Corba, Modelo Cliente Servidor Todos iam transformar a informática das empresas, integrar os sistemas legados, Porque não o fizeram? Especulação: Não tinha uma interface Web (não eram aplicações a três níveis) Poucas implementações open-source O protocolo não era o mesmo entre o cliente PC (Microsoft) e o backend (IBM, Sun, VMS) As redes empresariais eram locais, ligações à Internet limitadas

9 Modelo dos Web Services (arquitectura básica) Departamento de Engenharia Informática Service Registry Name & Service description Find Publish Client Service Requestor Bind Request /Response Service Provider Service Service description

10 Arquitectura dos Web Services Um serviço de Directório para registo e pesquisa dos serviços UDDI Um protocolo de pedido/resposta para invocação do serviço SOAP Páginas amarelas e directório (endereço, contactos, identificadores, categorizadores,...) Interacção Uma especificação da interface do serviço WSDL Contratos

11 Management Departamento de Engenharia Informática Web Services (standards) Choreography - CDL4WS Orchestration - BPEL4WS Business Processes Transactions WS-Reliability WS-Security Coordination Context Quality of Service UDDI WSDL SOAP XML HTTP, JMS, SMTP Discovery Description Message Transport

12 extensible Markup Language - XML Resolver a heterogeneidade na comunicação e nos dados de forma universal

13 Arquitectura de Integração da Informação Em muitos casos a integração tem de 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. Se o formato canónico tiver uma representação explicita as mensagens deixam de ter se ser construídas pela ordem estrita de invocação, pode verificar-se se estão de acordo com o esperado, podem ser analisadas por ferramentas independentes do RPC Esta é a razão da grande importância do XML

14 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

15 Importância do XML O XML trabalha sobre documentos Os documentos podem ser usados para múltiplos fins: Representar/apresentar a informação num forma visível: em papel ou transformada para html Comunicação de dados entre plataformas heterogéneas Para armazenamento da informação em ficheiros ou em bases de dados

16 Sintaxe XML Regras de construção simples mas rígidas: Existe um elemento raiz único Todos os elementos têm que fechar Fecham pela ordem inversa em que abrem Os nomes são case-sensitive Um documento que respeita as regras diz-se bem formado (well formed) Adicionalmente, pode-se definir uma gramática para validar documentos XML Que sequências de elementos são válidas Que tipo de dados contém o elemento

17 Exemplo de uma estrutura de dados em XML <?xml version= 1.0 encoding = UTF-8?> <! este documento define uma lista de empregados --> <employeelist xmlns="http://www.company.org/emp > <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> </employee> </employeelist> employeelist

18 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 namespaces a que um documento pode ser associado.

19 Benefícios do XML(II) A interpretação das mensagens depende de tags e não da 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.

20 Tecnologia XML Departamento de Engenharia Informática

21 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

22 Exemplo simples mensagem Com definição de namespace Departamento de Engenharia Informática <mensagem xmlns="urn:empresa.pt:mensagem" id="74536"> <!-- isto é um comentário --> <de>joão</de> <para>carla</para> <assunto>reunião</assunto> <texto>confirmo a reunião dia 6</texto> </mensagem>

23 extensible Stylesheet Language (XSL) Permite: Transformar XML em HTML Transformar XML noutro XML Filtrar e ordenar dados XML Apresentar o mesmo documento de formas diferentes dependendo do dispositivo de destino (ecrã, impressão, telefone móvel, etc.)

24 Esquema do Documento A especificação de documentos era inicialmente efectuada em DTD Document Type Definition Em 2001 foi proposto o XML Schema 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

25 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, 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

26 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

27 DTD Simples para o documento employeelist Departamento de Engenharia Informática <!DOCTYPE employeelist [ <!ELEMENT employeelist (employee*)> <!ELEMENT employee (employee_id, name, extn, dept, )> <!ATTLIST emplyee type (perm contract) #REQUIRED> <!ELEMENT employee_id (#PCDATA)> <!ELEMENT NAME (first_name, last_name)> <!ELEMENT first_name (#PCDATA)> <!ELEMENT last_name (#PCDATA)> <!ELEMENT extn (#PCDATA)> <!ELEMENT dept (#PCDATA)> <!ELEMENT (#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. Sintaxe próxima das expressões regulares Element dept. may contain any parsable character data (PCData).

28 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> 2009 José Alves Marques Namespace declaration <!ELEMENT employeelist (employee*)> <!ELEMENT employee (employee_id, name, extn, dept, )> <!ELEMENT name (first_name, last_name)>

29 <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 /> employee:_id must be an integer between 1 and 100,000. <!ELEMENT first_name (PCDATA)> <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> <!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>

30 Tecnologia XML Departamento de Engenharia Informática

31 SAX Simple API for XML Processamento em série Baseado no tratamento de eventos

32 Quando usar Quando pretendemos processar informação em série (data stream). A informação a processar não precisa de manter estado. Importação/exportação de dados

33 DOM - Document Object Model Manipulação de árvore em memória

34 Simple Object Access Protocol SOAP Protocolo de comunicação dos Web Services

35 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

36 Wire stack Visão dos Web Services SOAP Headers Envelope Extensions SOAP XML and SOAP XML Messaging Data Encoding Security Manageability Quality of Service HTTP(S), SMTP, FTP, sockets. Network Protocol

37 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 Usa 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.

38 SOAP Simple Object Access Protocol SOAP 1.1 Message Structure SOAP Envelope Header Entries [Header Element] Body Element Define: Modelo de empacotamento SOAP Envelope Baseado em XML Pode usar vários transportes: HTTP SMTP... [Fault Element]

39 Interacções previstas no SOAP one-way Mensagem simples Client Server request-response RPC Client Server Notification callback notification-response Client Client Server Server

40 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

41 Exemplo Servidor que disponibiliza o último preço praticado para um produto Função Remota float GetLastTradePrice(string symbol)

42 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="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:getlasttradeprice xmlns:m="some-uri"> <symbol>dis</symbol> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

43 SOAP - Resposta HTTP/ OK Content-Type: text/xml; charset="utf-8 Content-Length: nnnn <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <SOAP-ENV:Body> <m:getlasttradepriceresponse xmlns:m="some-uri"> <Price>34.5</Price> </m:getlasttradepriceresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

44 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 da invocação remota O HTTP permite que o servidor não tenha estado A confidencialidade da informação pode ser assegurada pelo HTTP/S

45 SOAP - Pedido POST /ExemploHelloWS/endpoint HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8" Content-Length: 322 SOAPAction: "" Departamento de Engenharia Informática <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:ns1="http://hello"> <soapenv:body> <ns1:sayhello> <ns1:name>friend</ns1:name> </ns1:sayhello> </soapenv:body> </soapenv:envelope> Binding de SOAP sobre HTTP O que há de específico deste transporte? Envelope SOAP com pedido

46 SOAP - Resposta HTTP/ OK Content-Type: text/xml; charset="utf-8" Content-Length: 367 <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:ns1="http://hello"> <soapenv:body> <ns1:sayhelloresponse> <ns1:return>hello friend!</ns1:return> </ns1:sayhelloresponse> </soapenv:body> </soapenv:envelope>

47 SOAP - Erro HTTP/ Internal Server Error Content-Type: text/xml; charset= utf-8 Content-Length: nnn <SOAP - ENV: Envelope xmlns:soap-env http//schemas.xmlsoap.org/soap/enve1ope/ SOAP-ENV:encodingStyle= http//schemas.xmlsoap.org/soap/encoding/ > <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>client.authenticationfailure</faultcode> <faultstring>failed to authenticate client</faultstring> <faultactor>urn:x-skatestown:partnergateway</faultactor> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

48 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=http://schemas.xmlsoap.org/soap/envelope/ SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ /> <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>

49 WSDL - Web Service Definition Language Definição do contrato do Serviço

50 WSDL - Web Service Definition Language A IDL dos Web Services Define o contrato a que o serviço se obriga 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 Diferenças vs IDL de RPC?

51 Interface Concreta Interface Abstracta Departamento de Engenharia Informática WSDL Web Services Description Language WSDL 1.1 Document Structure WSDL Document [Types] {Messages} {Port Types} {Bindings} {Services}

52 WSDL information model part type abstract interface porttype (abstract) message (abstract) operation (concrete) message (concrete) message concrete implementation binding Made concrete by Contains zero or more service concrete endpoint port

53 Definições Port Type Descreve a interface abstracta de um Web service. Atenção porque o termo port é usado com um sentido totalmente diferente dos sockets. Um port de um Web Service é mais parecido com uma interface 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 e não a concretização de um serviço

54 porttype <porttype name= PriceCheckPortType > <operation name= checkprice > <input message= pc:pricecheckrequest /> <output message= pc:pricecheckresponse /> </operation> </porttype> Descreve o que o Serviço 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

55 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 para diferentes operações

56 Tipos de dados <types> <xsd:schema targetnamespace=http://www.skatestown.com/ns/availability xmlns:xsd=http://www.w3.org/2001/xmlschema> <xsd:complextype name= availabilitytype > <xsd: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

57 Binding A função do binding é tornar concreto o serviço definindo a forma como funciona Exemplos: SOAP; HTTP; SMTP 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. Diferente do outro conceito de Binding!

58 Exemplo de binding para HTTP <binding name= PriceCheckSOAPBinding type= pc:pricecheckporttype > <soap:binding style= rpc transport=http://schemas.xmlsoap.org/soap/http/> <operation name= checkprice > <soap:operation soapaction= /> <input> <soap:body use= encoded namespace= encodingstyle= /> </input> <output> <soap:body use= encoded namespace= encodingstyle= </output> </operation> </binding> 2009 José Alves Marques

59 Exemplo de opções no binding Existem variantes do SOAP binding, cujas diferenças são a forma como os dados são transportados no 'body : RPC Literal: transportados em múltiplas 'part' dentro das 'message', especificadas por tipos XSD RPC/literal <! parte concreta omissa, assumir que é RPC/encoded or RPC/literal --> RPC/encoded

60 Exemplo de opções no binding Existem variantes do SOAP binding, cujas diferenças são a forma como os dados são transportados no 'body : Document Literal: transportados numa única 'part' da 'message' especificadas por elementos XSD! parte concreta omissa, assumir que é Document/literal --> document/literal document/encoded - Not Used! document/literal wrapped SOAP message

61 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>

62 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= / </ port> </ service> Define o endereço da rede da rede onde o Web service é disponibilizado. Se existirem vários bindings são definidos vários ports exemplo para http ou o endereço de para SMTP

63 Discovery Stack Service Registry Find Publish Service Requestor Bind Service Provider

64 Universal Description Discovery & Integration (UDDI) Definição de um conjunto de serviços que suportam a descrição e a localização de: Entidades que disponibilizam Web Services (empresas, organizações) Os Web Services disponibilizados As interfaces que devem ser utilizadas para aceder aos Web Services Baseada em standards Web: HTTP, XML, XML Schema, SOAP

65 Informação representada na UDDI A UDDI permite pesquisar informação muito variada sobre os Web Services. Ex: Procurar Web Services que obedeçam a uma determinada interface abstracta Procurar Web Services que estejam classificados de acordo com um esquema conhecido de classificação Determinar os protocolos de transporte e segurança suportados por um determinado Web Service Procurar Web Services classificados com uma palavra-chave O acesso é via as API definidas mas os operadores também disponibilizam sites para acesso via web

66 Modelo estrutural da informação businessentity: descreve uma empresa ou organização que exporta Web Services A informação encontra-se conceptualmente dividida em: Páginas brancas informação geral de contacto Páginas amarelas Classificação do tipo de serviço e localização Páginas verdes Detalhes sobre a invocação do serviço businessservice: descreve um conjunto de Web Services exportado por uma businessentity bindingtemplate: descreve a informação técnica necessária para usar um determinado serviço tmodel: descreve o modelo técnico de uma entidade reutilizável, como um tipo de Web Service, o binding a um protocolo usado por um Web Service, etc.

67 Taxionomia Os serviços registados devem ser categorizados em taxionomias que os permitam pesquisar Existem várias taxionomias normalizadas, ex.: ISO 3166 geografias D-U-N-S Data Universal Numbering System Dun&Bradstreet UN/SPSC- produtos e serviços ONU O UDDI permite que todas as entidades sejam classificadas As pesquisas podem usar múltiplas classificações Para uso interno das organizações podem ser definidos os seus esquemas de classificação. Ex.: qualidade de serviço do fornecedor do web service

68 Arquitectura UDDI - Registries Um Registry é composto por um ou mais nós UDDI Os nós de um Registry gerem colectivamente um conjunto bem definido de dados UDDI. Tipicamente, isto é suportado com replicação entre os nós do Registry A representação física de um Registry é deixada à escolha das implementações

69 Registry Server privado Gere a base de dados com os registos UDDI Modos de acesso Aplicações JAX-R Registry Browser Xindice Interfaces API Acesso directo aos registos

70 Execução dos Web Services Apache Axis

71 Apache Axis Apache Axis é uma plataforma open source para Web Services O Axis engine é o Servidor SOAP que suporta as linguagens Java e C++ É composto por: Axis engine O processador de SOAP Handlers os blocos básicos de parametrização dentro do Axis Chains cadeias de invocação de handlers

72 Relação Transporte O Processador SOAP pode receber mensagens através de vários mecanismos de transporte Os Transport listeners esperam mensagens e invocam o Axis engine Os Transport listeners são servlets cuja função é invocar o Axis engine com uma mensagem SOAP Os transport listener podem ser adicionados ou modificados para requisitos particulares de transporte

73 Handler Chain As chains representam a invocação de handlers A WS specific chain invocam handlers que se aplicam a um web service determinado e são definidos no seu contrato WSDL

74 Servidor A Global chain são handlers que são invocados para todos os web services. Um exemplo o log de todas as invocações recebidas A Transport chain é especifica do transporte e executa operações que se aplicam sempre a um transporte. Por exemplo cifrar o corpo da mensagem O dispatcher faz a invocação da função 2009 José Alves Marques

75 Cliente Departamento de Engenharia Informática

76 JAX - WS Integração dos Web Services com o ambiente Java

77 Stack típico de Interacção View Requestor Provider Developer Java API Java API Web service SOAP message SOAP message Wire-level HTTP packet HTTP packet

78 JAX-WS Java API for XML Web Services Evolução da JAX-RPC (Java API for XML-based RPC) Esconde a complexidade da utilização de SOAP do programador. No servidor: Programador especifica os procedimentos remotos definindo uma interface em Java e criando uma classe que implemente esta interface No cliente: Programador cria uma proxy (objecto local que representa o serviço) que é invocado para executar os métodos. Um cliente JAX-WS pode aceder a Web services definidos noutras plataformas (devido à utilização de HTTP, SOAP e WSDL).

79 JAX-WS- Arquitectura Web Container (e.g. JBoss) Service Client Stub WSDL description Service Endpoint Stub (Tie) Dispatch JAX - WS API Client Side JAX-WS Runtime System WSDL <-> Java Mapping Message Protocol - SOAP Transport Protocol HTTP, etc JAX - WS API Server Side JAX-WS Runtime System

80 JAX-WS - Passos de Execução 2009 José Alves Marques

81 JAX-WS Duas componentes Server-side Definir o WSDL Gerar os ties a partir do WSDL Empacotar aplicação Instalar (deploy) num servidor aplicacional Client-side Gerar os stubs a partir do WSDL Compilar e executar a aplicação

82 Programação do servidor JAX-WS Contract-first (ver lab. 4) Define-se o WSDL Gera-se um esqueleto do servidor usando a ferramenta wsconsume Implementa-se o código do serviço Implementation-first (ver lab. 3) Define-se a classe Java Anota-se a classe para dizer que deve gerar um Web Service O WSDL e os ties são gerados usando a ferramenta wsprovide Vantagens e desvantagens?

83 Quando usar cada abordagem? Implementation-first Oferecer serviços já implementados por web service Construir novo web service de raiz sem ter de aprender a programar WSDL Contract-first Programador conhecedor de WSDL que pretende ter elevado controlo sobre o que é especificado no contrato Substituir a implementação de um web service existente por outro mantendo compatibilidade com clientes Aderir a contrato definido por terceiros (e.g. protocolo definido por consórcio de organizações)

84 Programação do cliente JAX-WS Gerar os stubs a partir do WSDL (wsconsume) Compilar e executar a aplicação

85 Service Endpoint A interface implícita na classe Java com a declara os métodos que um cliente remoto pode invocar no serviço public String sayhello(string name) Algumas das regras Os parâmetros de entrada e de retorno tem de ser suportados pelo JAX-WS

86 Exemplo A implementação é efectuada na própria classe: public String sayhello(string name) { return "Hello " + name + "!"; } A ferramenta wsprovide gera classes stub (cliente) e tie (servidor), que interagem com as bibliotecas de run-time. O wsprovide gera também o documento da WSDL que descreve o serviço As configurações podem ser detalhadas: Em anotações do código Java (capacidade disponível desde o Java 5) Ou em ficheiro de configuração

87 Implementation-First: Java com = "AddNumbers", targetnamespace = "http://duke.org", name="addnumbers") public class AddNumbersImpl { } public int addnumbers(int number1, int number2) throws AddNumbersException { if (number1 < 0 number2 < 0) { throw new AddNumbersException("Negative number cant be added!", "Numbers: " + number1 + ", " + number2); } return number1 + number2; }

88 Implementation-First: Java com = "http://duke.org", use=soapbinding.use.literal) public interface AddNumbersIF extends Remote public int number2) throws RemoteException, AddNumbersException; }

89 Cliente O cliente pode ter um static proxy criado antes da execução (static stub) que é compilado a partir do WSDL pelo wsconsume O cliente pode também usar um dynamic proxy uma classe que é criada durante a execução a partir do WSDL

90 Cliente com Stub Um stub nunca é downloaded ou distribuído aos clientes O stub implementado em Java só é relevante para o run-time do JAX-WS e não é portável para outros ambientes O stub é específico para um protocolo de transporte Com um stub o cliente não precisa do WSDL em tempo de execução

91 JAX-WS - Modelo de Programação Cliente JAX-WS Servidor JAX-WS package helloworldclient; public class HelloClient { public static void main(string[] args) { try { // Call Web Service Operation helloworldserver.helloworldservice service = new helloworldserver.helloworldservice(); helloworldserver.helloworldporttype port = service.gethelloworldport(); java.lang.string name = "Java friend"; package hello; import public class Hello { } public String sayhello(string name) { return "Hello " + name + "!"; } java.lang.string result = port.helloworldoperation(name); System.out.println("Result = "+result); Hello.java } catch (Exception ex) { System.err.println(ex); } } } HelloClient.java

92 Cliente: geração dos stubs Invocação estática (static proxy) Criado antes da execução Gerado e compilado a partir do WSDL Não é portável para outros ambientes Invocação semi-dinâmica (dynamic proxy) Classe criada durante a execução a partir do WSDL que se obtém na altura Antes da execução, apenas a interface abstracta do serviço é conhecida (correspondendo a uma interface Java) Invocação dinâmica (dynamic invocation interface,dii) O cliente em tempo de execução utiliza o WSDL para construir a invocação Antes da execução, nem interface abstracta nem concreta do serviço são conhecidas

93 Cliente com um static proxy public static void main(string args[]) { if (args.length!= 1) { } System.err.println("usage: EchoClient <message>"); System.exit(1); } } EchoService service = new EchoService(); Echo echo = service.getechoport(); System.out.println("Server said: " + echo.echo(args[0]));

94 Cliente com dynamic proxy Departamento de Engenharia Informática public static void main(string[] args) throws Exception{ String namespace = ; String wsldport BillPayPort ; String wsdlservice = Billpayservice ; String wsdllocation = ; URL wsldurl = new URL(wsdllocation); ServiceFactory factory = ServiceFactory.newlnstance(); } Service service = factory.createservice(wsldurl, new QName(namespace, wsdlservice)); // make the call to get the stub corresponding to this service and interface BillPay stub (BillPay) service.getport(new QName(namespace,wsldport), BillPay.class); // invoke methods on the service double lastpaid= stub.getlastpayment( my cable tv provider ); System.out.println( Last payment was + lastpaid); } 2009 José Alves Marques

95 Cliente com invocação dinâmica (DII) public class DIIClient_WSDL{ public static void main(string[] args) throws Exception { String wsdllocation = ; } } String namespace = ; String servicename = Billpayservice ; ServiceFactory factory = ServiceFactory.newlnstanceQ; Service service = (Service) factory.createservice ( new URL(wsdllocation), new QName(namespace,serviceName)); QName portname = new QName(namespace, BillPayPort ); QName operationname = new QName(namespace getlastpayment ); Call call = service.createcall(portname, operationname); Object[] params = { my cable tv provider }; Object lastpaid = (Double)call.invoke(params); System.out.println( Last payment was + lastpaid);

96 JAX-WS Handlers 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.ws.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

97 Handlers Configuração Configuração (cliente ou servidor)... <jws:handler-chains> <jws:handler-chain> <jws:handler> <jws:handler-class>util.loghandler</jws:handler-class> </jws:handler> <jws:handler> <jws:handler-class>util.cipherhandler</jws:handler-class> </jws:handler> </jws:handler-chain> </jws:handler-chains>... Esta configuração especifica que, para cada mensagem SOAP que é recebida ou enviada pelo Web Service, os handlers são invocados na seguinte ordem: À saída (outbound): Log, Cipher À chegada (inbound): Cipher, Log

98 Material Extra não dado nas aulas! Windows Communication Foundation Integração dos Web Services com o ambiente.net 3.0

99 Microsoft.NET Framework VB Windows Forms Presentation Base App Services C# ASP.NET Security C++ SQL Server Data J# Compact Framework Configuration Console & NT Service Communication WCF Deployment & Management Visual Studio José Alves Marques

100 Windows Communication Foundation ( Indigo ) O WFC unifica todas as gerações anteriores de tecnologias de comunicações da Microsoft oferecendo interoperabilidade, extensibilidade, performance e um único modelo de programação ASMX Interop with other platforms.net Remoting Extensibility Location transparency Attribute- Based Programming Enterprise Services WS-* Protocol Support WSE Message- Oriented Programming System.Messaging

101 Windows Communication Foundation (WCF) Unifica de forma consistente o anterior suporte na plataforma.net a: Web Services Invocação remota de objectos (.Net Remoting) Transações distribuídas (MS Transaction Server) Message Queues (MSMQ) Assegurando execução protegida (managed) desse suporte Através de modelo de programação orientado a serviços 4/3/2008 João Barreto

102 (As Muitas) Semelhanças de Base com JAX-WS Baseado em SOAP para comunicação entre processos API simples, alivia programador da complexidade de SOAP, WSDL, etc. No servidor, o programador especifica os procedimentos remotos definindo uma interface C# (ou Java, ou outra...) e criando uma classe que a implemente No cliente, o programador cria um objecto proxy para utilizar os serviços remotos 4/3/2008 João Barreto

103 Definição dos Serviços: Services e Endpoints Service serve múltiplas actions Cada action associada a um método no servidor Cada service associado a múltiplos endpoints No servidor, o programador expõe os seus Endpoints Mensagens enviadas para endpoints Endpoint define: Para onde as mensagens devem ser enviadas (endereço) Como as mensagens devem ser enviadas (Binding) O que as mensagens devem conter (Contract) 4/3/2008 João Barreto

104 Definição dos Serviços: Contracts Service Contracts Mapeia um serviço remoto a uma interface (e.g. C#) Operation Contracts Mapeia uma (ou mais) acções a cada método na interface Message Contracts Permitem definir cabeçalhos específicos para as mensagens SOAP using System.ServiceModel; namespace ServiceLibrary { [ServiceContract(Namespace="http://example.org/echo/")] public interface IEchoService { [OperationContract] string Echo(string msg); } } 4/3/2008 João Barreto

105 Implementação do Serviço Classe que implementa a interface do serviço Behaviors permitem configurar aspectos do processamento local using System.ServiceModel; namespace ServiceLibrary { [ServiceBehavior( InstanceContextMode=InstanceContextMode.Single, ConcurrencyMode=ConcurrencyMode.Multiple)] public class EchoService : IEchoService { }} public string Echo(string msg) { return msg; }... 4/3/2008 João Barreto Uma única instância da classe serve as chamadas remotas Múltiplas chamadas podem acontecer concorrentemente Existe também operationbehavior

106 Definição dos Serviços: Bindings Binding define como o cliente deve enviar mensagens e como o servidor as deve processar WCF já inclui largo conjunto de bindings pré-definidos Mas programador também pode criar novos bindings 4/3/2008 João Barreto

Resumo. Evolução. Web Services. RPC: comparação com Mensagens

Resumo. Evolução. Web Services. RPC: comparação com Mensagens Resumo Positivo RPC: comparação com Mensagens Programação usando uma IDL que é uma linguagem idêntica às linguagens de programação habituais. A interface do serviço encontra-se claramente especificada

Leia mais

Web Services. Objectivo desta aula: Serviços e aplicações de grande escala na Internet. Page 1. Departamento de Engenharia Informática

Web Services. Objectivo desta aula: Serviços e aplicações de grande escala na Internet. Page 1. Departamento de Engenharia Informática Objectivo desta aula: Serviços e aplicações de grande escala na Internet 12/13 Sistemas Distribuídos 1 Web Services 12/13 Sistemas Distribuídos 2 Page 1 Motivação dos Web Services (I) Protocolo muito simples

Leia mais

Resumo. RPC: comparação com Mensagens

Resumo. RPC: comparação com Mensagens Resumo Positivo RPC: comparação com Mensagens Programação usando uma idl que é uma linguagem idêntica às linguagens de programação habituais. A interface do serviço encontra-se claramente especificada

Leia mais

Departamento de Engenharia Informática. Resumo. Sistemas Distribuídos 2009/10

Departamento de Engenharia Informática. Resumo. Sistemas Distribuídos 2009/10 Resumo RPC: comparação com API de Mensagens Positivo A interface do serviço encontra-se claramente especificada e não é apenas um conjunto de mensagens Mecanismo de estabelecimento da ligação entre o cliente

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

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

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

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

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

2.Consulta UDDI. 3.Obtém URL, WSDL. 1.Registra. 4.Invoca o serviço. 5.Retorno (opcional)

2.Consulta UDDI. 3.Obtém URL, WSDL. 1.Registra. 4.Invoca o serviço. 5.Retorno (opcional) WS-* Desenvolvimento 1 Definição Web services são aplicações modulares auto- descritas e auto-contidas, que podem ser conectadas e acopladas a outros web services [IBM] são componentes de software com

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

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

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

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

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

Web Services XML SOAP WSDL UDDI Desenvolvimento Informações Adicionais 1 Web Services Definição Web services são aplicações modulares auto- descritas e auto-contidas, que podem ser conectadas e acopladas

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

Extensões MIDP para Web Services

Extensões MIDP para Web Services Extensões MIDP para Web Services INF-655 Computação Móvel Universidade Federal de Viçosa Departamento de Informática MIDP Architecture MIDP = Mobile Information Device Profile Connection Framework HttpConnection

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

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

Computação Orientada aos Serviços. WCF Semestre de Inverno 11/12 (Parte 1)

Computação Orientada aos Serviços. WCF Semestre de Inverno 11/12 (Parte 1) Computação Orientada aos Serviços WCF Semestre de Inverno 11/12 (Parte 1) WCF O Windows Communication Foundation (WCF) é uma application programming interface (API) na.net Framework para construir aplicações

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

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

Computação Orientada a Serviços

Computaçã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 mais

Sistemas Distribuídos. Web Services. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Web Services. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Web Services Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Visão geral Arquitetura Web Services Desenvolvimento 2 Visão Geral Web Services Usados para disponibilizar serviços na

Leia mais

Minicurso Web Services com PHP

Minicurso Web Services com PHP Minicurso Vinícius Costa de Souza viniciuscs@unisinos.br http://www.inf.unisinos.br/~vinicius julho de 2005 Apresentações Nome Conhecimentos sobre Web Services Conhecimentos sobre PHP Expectativas referentes

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

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 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

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

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

A utilização do JSWDP para construção de Web Services

A utilização do JSWDP para construção de Web Services A utilização do JSWDP para construção de Web Services Fabiana Ferreira Cardoso 1, Francisco A. S. Júnior 1, Madianita Bogo 1 1 Centro de Tecnologia da Informação Centro Universitário Luterano de Palmas

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

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

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

Sistemas Distribuídos e Paralelos

Sistemas Distribuídos e Paralelos Sistemas Distribuídos e Paralelos Web Services Ricardo Mendão Silva Universidade Autónoma de Lisboa r.m.silva@ieee.org November 29, 2014 Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos November

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

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

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

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

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

FRANCISCO DE ASSIS DOS SANTOS JUNIOR. Web Services com JWSDP: melhorias no Servidor HelpNet e Implementação do Cliente

FRANCISCO DE ASSIS DOS SANTOS JUNIOR. Web Services com JWSDP: melhorias no Servidor HelpNet e Implementação do Cliente FRANCISCO DE ASSIS DOS SANTOS JUNIOR Web Services com JWSDP: melhorias no Servidor HelpNet e Implementação do Cliente Palmas 2004 ii FRANCISCO DE ASSIS DOS SANTOS JUNIOR Web Services com JWSDP: melhorias

Leia mais

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes EN-3610 Gerenciamento e Interoperabilidade de Redes Gerenciamento baseado na Web Prof. João Henrique Kleinschmidt Gerenciamento baseado na Web Web browser Acesso ubíquo Interface Web vs Gerenciamento baseado

Leia mais

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.

Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com. Consumindo um Web Service através de uma Aplicação Comercial em Android Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.br 08/2014 Agenda Introdução Conceitos Web Service Por que utilizar

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

: : 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

A Estrutura de um Web Service

A Estrutura de um Web Service A Estrutura de um Web Service Paulo Vitor Antonini Orlandin paulovitor_e@hotmail.com Resumo Atualmente, o Serviço Web é a solução mais utilizada para integração entre sistemas, pois apresenta vantagens

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) (extensible( Markup Language ) Origens (extensible Markup Language linguagem de marcação extensível) Criada em 1996 pelo W3C (World

Leia mais

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA Uma ferramenta de apoio ao desenvolvimento de Web Services Andrés Ignácio Martinez Menéndez

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

REST Um Estilo de Arquitetura de Sistemas Distribuídos

REST Um Estilo de Arquitetura de Sistemas Distribuídos REST Um Estilo de Arquitetura de Sistemas Distribuídos Márcio Alves de Araújo¹, Mauro Antônio Correia Júnior¹ 1 Faculdade de Computação Universidade Federal de Uberlândia (UFU) Monte Carmelo MG Brasil

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

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

R/3 e SAP WAS. 8/28/2003 José Alves Marques. R/3 e SAP WAS(2)

R/3 e SAP WAS. 8/28/2003 José Alves Marques. R/3 e SAP WAS(2) R/3 e SAP WAS O R/3 é um ERP Enterprise Resource Planning Um ERP é o sistema empresarial que disponibiliza módulos para os processos de negócio - de uma empresa Um ERP permite aumentar a eficiência dos

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática 1 Este é o seu teste de avaliação de frequência. Leia as perguntas com atenção antes de responder. Escreva as suas respostas nesta folha de teste, marcando um círculo em volta da opção ou opções que considere

Leia mais

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL Sistemas Distribuídos na Web Pedro Ferreira DI - FCUL Arquitetura da Web Criada por Tim Berners-Lee no CERN de Geneva Propósito: partilha de documentos Desde 1994 mantida pelo World Wide Web Consortium

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

Prof. João Bosco M. Sobral UFSC. Departamento de Informática e Estatística. Jornada Tecnológica 05/10/2005. Universidade Estácio de Sá Florianópolis

Prof. João Bosco M. Sobral UFSC. Departamento de Informática e Estatística. Jornada Tecnológica 05/10/2005. Universidade Estácio de Sá Florianópolis Prof. João Bosco M. Sobral UFSC Departamento de Informática e Estatística A Evolução da Web: Páginas Estáticas Browser, Servidor Web, HTTP, HTML, JavaScript. A Evolução da Web: Páginas Dinâmicas Browser,

Leia mais

Conteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens

Conteú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 mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

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

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

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

API e Integraç ão. Inoxnet WebServices. Versã o 1.10. (c) EBASE Lda. www.inoxnet.com

API e Integraç ão. Inoxnet WebServices. Versã o 1.10. (c) EBASE Lda. www.inoxnet.com API e Integraç ão Inoxnet WebServices Versã o 1.10 (c) EBASE Lda www.inoxnet.com Índice INFORMAÇ ÃO SOBRE ESTE DOCUMENTO...3 Descrição geral... 3 Requisitos... 3 Termos... 4 Convenções... 4 INTRODUÇ ÃO...4

Leia mais

Unidade 14: Web Services Prof. Daniel Caetano

Unidade 14: Web Services Prof. Daniel Caetano Programação Servidor em Sistemas Web 1 Unidade 14: Web Services Prof. Daniel Caetano INTRODUÇÃO Na maior parte deste curso foram estudados serviços desenvolvidos com o uso de tecnologias Servlet. Entretato,

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

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. Melhor aceite que RPC, CORBA e DCOM devido à simplificação dos protocolos (> 90 implementações) Web Services. UDDI e Outras normas

Web Services. Melhor aceite que RPC, CORBA e DCOM devido à simplificação dos protocolos (> 90 implementações) Web Services. UDDI e Outras normas e Tecnologias de Middleware 2004/2005 18 de Novembro de 2004 Conjunto de especificações baseadas em XML e outros standards abertos Potencia a interoperabilidade entre várias aplicações Permite que serviços

Leia mais

ANDERSON LIBERATO DA SILVA

ANDERSON LIBERATO DA SILVA FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM CURSO DE CIÊNCIA DA COMPUTAÇÃO ANDERSON LIBERATO DA SILVA IMPLEMENTAÇÃO DE WEB SERVICE EM PLATAFORMA JAVA LADO

Leia mais

Invocação de Métodos em Objectos Remotos

Invocação de Métodos em Objectos Remotos Invocação de Métodos em Objectos Remotos Invocações de métodos remotas e locais A remote invocation B local C invocation local E invocation local invocation D remote invocation F Page 1 1 Invocação de

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

LUIZ WAGNER ARAÚJO NUNES

LUIZ WAGNER ARAÚJO NUNES LUIZ WAGNER ARAÚJO NUNES IMPLEMENTAÇÃO DE UM WEB SERVICE PARA UMA LOCADORA DE VEÍCULOS - RELAÇÃO B2B Palmas 2006.1 LUIZ WAGNER ARAÚJO NUNES IMPLEMENTAÇÃO DE UM WEB SERVICE PARA UMA LOCADORA DE VEÍCULOS

Leia mais

Introdução à Tecnologia de Web-Services

Introdução à Tecnologia de Web-Services 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,

Leia mais

Estudo comparativo das API s JAX-RPC e JAXM na construção de Web Services

Estudo comparativo das API s JAX-RPC e JAXM na construção de Web Services Estudo comparativo das API s JAX-RPC e JAXM na construção de Web Services Danielle Corrêa Ribeiro 1, Elizabeth Mª Martinho da Silva 1, Francisco A. S. Júnior 1, Thatiane de Oliveira Rosa 1, Madianita Bogo

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

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

Soluções de integração: SOA, web services e REST + XML/XSD

Soluções de integração: SOA, web services e REST + XML/XSD Soluções de integração: SOA, web services e REST + XML/XSD WWW.DOMINANDOTI.COM.BR Acesse nosso site em WWW.DOMINANDOTI.COM.BR Cursos Livros Fórum Simulados Blog Materiais Turmas em Brasília, na sua cidade,

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

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

DESENVOLVIMENTO DE SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa. versão draft

DESENVOLVIMENTO DE SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa. versão draft Prof. Marcelo de Sá Barbosa 1 data Comentários 03/08/2011 Início do semestre. Entrega da ementa e comentários sobres os assuntos. Recomendação da bibliografia. Períodos de provas. Limite de faltas para

Leia mais

Computação Distribuída Cap. VI

Computação Distribuída Cap. VI Cap. VI Licenciatura em Engenharia Informática Universidade Lusófona Prof. José Rogado Prof. José Faísca Arquitectura Orientada aos Serviços (SOA) Modelo de Execução Web Services (WS) O protocolo SOAP

Leia mais

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos

Leia mais

Computação Orientada aos Serviços. Introdução Semestre de Inverno 11/12

Computação Orientada aos Serviços. Introdução Semestre de Inverno 11/12 Computação Orientada aos Serviços Introdução Semestre de Inverno 11/12 Arquitecturas de Sistemas: Centralizadas Terminal Terminal Terminal Terminal Terminal Mainframe Terminal Terminal Terminal Terminal

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

soluções transversais SOLUÇÕES middleware

soluções transversais SOLUÇÕES middleware soluções transversais SOLUÇÕES middleware RESUMO DA SOLUÇÃO ITbank framework 4g performance orquestração interoperabilidade O Middleware SOA ITBank framework 4g implementa uma arquitetura SOA com orquestração

Leia mais

Tutorial. Introdução ao XML e tecnologias associadas. Aplicações e dialectos XML. Sessão 4. 8-10 Fevereiro XATA 06

Tutorial. Introdução ao XML e tecnologias associadas. Aplicações e dialectos XML. Sessão 4. 8-10 Fevereiro XATA 06 Tutorial Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento de Sistemas de Informação Universidade do Minho Conteúdo Vantagens

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

Introdução à Web Services

Introdução à Web Services Introdução à Web Services Emerson Ribeiro de Mello emerson@das.ufsc.br Universidade Federal de Santa Catarina O que falaremos... Pra que isso? O que é Web Services A camada de protocolos O que são: XML-RPC,

Leia mais

Microsoft.NET. Desenvolvimento Baseado em Componentes

Microsoft.NET. Desenvolvimento Baseado em Componentes Microsoft.NET Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Desenvolvimento Baseado em Componentes Resolução de problemas específicos, mas que podem ser re-utilizados em

Leia mais

Tecnologias da Internet (T) Avaliação de Frequência (v1) 60 minutos * 09.05.2012

Tecnologias da Internet (T) Avaliação de Frequência (v1) 60 minutos * 09.05.2012 1 Este é o seu teste de avaliação de frequência. Leia as perguntas com atenção antes de responder e tenha atenção que algumas perguntas podem ter alíneas de resposta em páginas diferentes. Escreva as suas

Leia mais

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla

COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC. Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1 1. Conceitos Básicos a. Invocação remota (RPC/RMI)

Leia mais

Abertura dos serviços: Parlay/OSA

Abertura dos serviços: Parlay/OSA Abertura dos serviços: Parlay/OSA Ideia chave: abrir o desenvolvimento de aplicações de telecomunicações A outras entidades que não os operadores ou fabricantes (3rd party) Definição de APIs normalizadas

Leia mais

1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI)

1 a. Sumário. 1. Conceitos Básicos a. Invocação remota (RPC/RMI) b. Semântica de invocação remota c. Invocação remota de métodos (RMI) PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ COMUNICAÇÃO INTER-PROCESSOS JAVA RMI e RPC Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla 1. Conceitos Básicos a. Invocação remota (RPC/RMI)

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

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB WEBSERVICES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é um WebService e sua utilidade Compreender a lógica de funcionamento de um WebService Capacitar

Leia mais

Web Services e XML Um Novo Paradigma da Computação Distribuída

Web Services e XML Um Novo Paradigma da Computação Distribuída Web Services e XML Um Novo Paradigma da Computação Distribuída Aleksader Knabben Becker Daniela Barreiro Claro João Bosco Sobral aleks@inf.ufsc.br danclaro@inf.ufsc.br bosco@inf.ufsc.br Resumo Universidade

Leia mais

SOA Service Oriented Architecture. Fabiano Oss fabiano.oss@gmail.com

SOA Service Oriented Architecture. Fabiano Oss fabiano.oss@gmail.com SOA Service Oriented Architecture Fabiano Oss fabiano.oss@gmail.com 1 Roteiro SOA Serviços Tecnologias para o desenvolvimento de serviços Modelagem de Negócios 2 O que é SOA É uma arquitetura de desenvolvimento

Leia mais