LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML"

Transcrição

1 LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML Palmas

2 LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML Trabalho apresentado ao curso de Sistemas de Informação do Centro Universitário Luterano de Palmas como requisito parcial da disciplina de Prática de Sistemas de Informação I, orientado pela professora Madianita Bogo Palmas

3 LUIZ WAGNER ARAÚJO NUNES ANÁLISE DA UTILIZAÇÃO DA API JAXR PARA ACESSO A REGISTROS XML Trabalho apresentado ao curso de Sistemas de Informação do Centro Universitário Luterano de Palmas como requisito parcial da disciplina de Prática de Sistemas de Informação I, orientado pela professora Madianita Bogo BANCA EXAMINADORA Profª. M.Sc. Madianita Bogo Centro Universitário Luterano de Palmas Profª. M.Sc. Parcilene Fernandes de Brito Centro Universitário Luterano de Palmas Prof. Ricardo Marx Costa Soares de Jesus Centro Universitário Luterano de Palmas

4 iv SUMÁRIO 1. INTRODUÇÃO REVISÃO DE LITERATURA XML Estrutura de um documento XML Documento de Definição de Tipo - DTD XML Schema Web Service Publicação e Descoberta do Serviço UDDI Troca de Mensagens XML SOAP Descrição do Serviço WSDL Rede de Transporte JWSDP Registros de Negócios UDDI API s descritas pela especificação UDDI Estrutura de Dados UDDI JAXR Exemplo publicação Exemplo Consulta MATERIAL E MÉTODOS Material Hardware Software Método RESULTADOS E DISCUSSÃO Domínio Configurações para implementação com JAXR Compilação e execução de clientes JAXR Registro Direto na Página da IBM JAXR versus Manipulação Direta na Página da IBM Integração Dinâmica CONSIDERAÇÕES FINAIS REFERÊNCIAS BIBLIOGRÁFICAS...59 ANEXOS Anexo I: Código Completo do Programa Cliente JAXR - Publicação...62 Anexo I I: Código Completo do Programa Cliente JAXR - Consulta...71 Anexo III: Tutorial para Contrução e Registro de Web Services...78

5 v LISTA DE FIGURAS Figura 1: Exemplo de um documento XML...15 Figura 2: Exemplo de uma DTD...17 Figura 3: Exemplo de um XML Schema Figura 4: Interligação entre os Papéis, adaptada de Hendricks (2002) Figura 5: Relacionamentos entre as Principais Estruturas de Dados da especificação UDDI retirada de Chappell (2002) Figura 6: Arquitetura de JAXR, retirada de Jwsdp (2005)...31 Figura 7: Tela da Execução do Programa ClienteJAXRPublicacaoOrganizacao.java...33 Figura 8: Fragmento de Código do Programa ClienteJAXRPublicacaoOrganizacao.java.34 Figura 9: Fragmento de código do programa ClienteJAXRPublicacaoOrganizacao.java.. 37 Figura 10: Tela da Execução do Programa ClienteJAXRConsultaOrganizacao.java...40 Figura 11: Fragmento de código do programa ClienteJAXRConsultaOrganizacao.java Figura 12: Fragmento de código do programa ClienteJAXRConsultaOrganizacao.java Figura 13: Fragmento de código do programa ClienteJAXRConsultaOrganizacao.java Figura 14: Fragmento de código do programa ClienteJAXRConsultaOrganizacao.java Figura 15: Fragmento de código do programa ClienteJAXRConsultaOrganizacao.java Figura 16: Conteúdo a ser inserido na variável de ambiente CLASSPATH, retirado de um dos arquivos gerados na instalação do JWSDP....53

6 vi LISTA DE TABELAS Tabela 1: Pilha Básica de Serviços Web disponível em Hendricks (2002) Tabela 2: URL's dos pontos de acesso dos Registros de Serviços de teste da IBM e da Microsoft Tabela 3: Propriedades de Conexão JAXR Padrão adaptada de Jwsdp (2005)...35 Tabela 4: Assinaturas dos métodos findorganizations, findservices e findservicebindings do objeto BusinessQueryManager....42

7 vii LISTA DE ABREVIATURAS API Application Programming Interface B2B Business-to-Business DTD Document Type Definition ebxml Eletronic Business XML FTP File Transfer Protocol HTML Hypertext Markup Language HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol Secure J2EE Java 2 Platform, Enterprise Edition JAXB Java Architecture for XML Binding JAXP Java API for XML Processing

8 viii JAXR Java API for XML Registries JAX-RPC Java API for XML-based RPC JWSDP Java Web Service Developer Pack RMI Remote Method Invocation SGML Standard Generalized Markup Language SMTP Simple Mail Transfer Protocol SOA Service-oriented Architecture SOAP Simple Object Access Protocol TCP/IP Transmission Control Protocol/Internet Protocol UBR UDDI Business Registry UDDI Universal Description, Discovery, and Integration URI Uniform Resource Identifier

9 ix URL Universal Resource Location UUID Universal Unique Identifier WSDL Web Service Description Language XML Extensible Markup Language XSL Extensible Stylesheet Language

10 x RESUMO O principal objetivo dos Web Services é a capacidade de integração dinâmica. Os Registros de Negócios baseados em XML surgiram com a finalidade de facilitar esse processo de integração, permitindo a automatização dos processos de descoberta e integração das aplicações. Este trabalho realiza o estudo da API JAXR para acesso a Registros de Negócios baseados em XML, descrevendo os passos básicos para a criação e execução de programas clientes JAXR, bem como realiza um estudo descrevendo as principais tecnologias utilizadas pelos Web Services. Como resultado, apresenta também discussões sobre os principais questionamentos pertinentes às tecnologias envolvidas no desenvolvimento de Web Services e aos Registros de Negócios.

11 11 1. INTRODUÇÃO A tecnologia de Web Services surgiu com o objetivo principal de permitir a integração dinâmica entre aplicações, utilizando os protocolos de Internet padrão. A integração dinâmica possibilitará que uma aplicação possa buscar informações de outras aplicações na Internet, podendo descobrir os detalhes de implementação dessas aplicações e, com isso, integrar-se sem qualquer intervenção humana nessas tarefas. Nesse contexto, os Registros de Negócios baseados em XML desempenham um importante papel, ajudando no processo de integração das aplicações. Os Registros de Negócios que implementam a especificação UDDI permitem que uma empresa possa publicar seus dados e dos Web Services que disponibilizam, bem como facilitam o processo de busca dessas informações. A utilização de uma API para o desenvolvimento de aplicações que manipulem e gerenciam as informações armazenadas nos Registros de Negócios é de grande valia, pois facilita o desenvolvimento dessas aplicações. A API JAXR permite o desenvolvimento de aplicações que interajam com Registros de Negócios baseados em XML, imprimindo maior flexibilidade na interação dessas aplicações com os Registros de Negócios. O estudo da API JAXR no desenvolvimento de aplicações para manipulação e gerenciamento de informações de empresas nos Registros de Negócios baseados na especificação UDDI tem o condão de revelar os detalhes de implementação dessas aplicações, bem como buscar informações para esclarecer a idéia da integração dinâmica.

12 12 Este trabalho foi dividido da seguinte forma: a seção Revisão de Literatura apresenta um estudo das principais tecnologias utilizadas no desenvolvimento de Web Services e dos Registros de Negócios baseados em XML, dentre elas: XML, SOAP e WSDL. Apresenta também um estudo aprofundado da especificação UDDI e da API JAXR, que integra o JWSDP. Descreve, ainda, os passos básicos para a criação de programas clientes JAXR para publicação e para consulta de informações nos Registros de Negócios baseados em XML; a seção Material e Métodos apresenta uma relação do hardware e do software utilizado no desenvolvimento do trabalho, bem como a metodologia empregada; a seção Resultados e Discussão apresenta os principais questionamentos suscitados, apresentando possíveis soluções para determinadas situações; a seção Considerações Finais apresenta as conclusões sobre o desenvolvimento do trabalho, sugerindo a realização de trabalhos futuros relacionados com a idéia da integração dinâmica entre aplicações; por fim, a seção Referências Bibliográficas apresenta a relação das bibliografias utilizadas no desenvolvimento do trabalho.

13 13 2. REVISÃO DE LITERATURA 2.1. XML A linguagem XML (Extensible Markup Language - Linguagem de Marcação Extensível) foi desenvolvida em 1996 pelo XML Working Group do World Wide Web Consortium (W3C) (DEITEL, 2003). Segundo Pitts (2000), os criadores visaram à elaboração de um subconjunto da SGML (Standard Generalized Markup Language - Linguagem de Marcação Generalizada Padrão) para trabalhar especificamente com a Web. Um dos principais motivos que levaram ao seu desenvolvimento foi a necessidade de um intercâmbio bidirecional de dados, cujas transferências ocorressem através da Web, com a utilização de um padrão multiplataforma não-proprietário. A compatibilidade com plataformas diferentes é uma das vantagens da utilização da linguagem XML sobre a linguagem HTML (Hypertext Markup Language Linguagem de Marcação de Hipertexto). Um documento HTML quando é mostrado em navegadores diferentes, normalmente, apresenta alterações na exibição. Para conseguir que o documento seja apresentado da mesma forma em navegadores ou softwares de exibição diferentes é necessário modificá-lo de acordo com cada navegador ou software de exibição. Um documento XML pode ser exibido em computadores distintos, funcionando em plataformas diversas, utilizando aplicativos diferentes, sem, contudo, ter que ser modificado. Um documento XML não é destinado à apresentação de dados tal como um documento HTML. Para que seja apresentado de forma diferente de seu código original, são utilizados mecanismos de folha de estilo para documentos XML, como a linguagem

14 14 XSL (Extensible Stylesheet Language Linguagem de Estilo Extensível). As folhas de estilo foram desenvolvidas para associar regras de formatação aos elementos de um documento XML e instruir os navegadores ou softwares de exibição sobre como formatar cada elemento e seu conteúdo para visualização pelo usuário. Podem ser criadas várias folhas de estilo XSL para um único documento XML, fornecendo várias possibilidades de exibição (PITTS, 2000). Resumindo, em uma linguagem de marcação o conteúdo é separado da formatação. A formatação é, normalmente, tratada por meio de folhas de estilo, que são instruções distintas que descrevem como várias seções do documento devem ser formatadas (PITTS, 2000) Estrutura de um documento XML As linguagens de marcação descrevem a estrutura do texto dentro do documento com regras explícitas que determinam onde estruturas específicas de documentos começam e terminam. Essas regras criam uma estrutura bem-definida hierarquicamente, semelhante a uma estrutura em forma de árvore. Esta hierarquia é compreendida quando se percorre um documento XML. Os elementos são definidos pelas marcas, com ou sem atributos, e pelo seu conteúdo, que pode ser uma descrição ou outros subelementos. Cada elemento possui uma marca inicial e uma correspondente marca de fechamento. Assim, há uma ordem de apresentação dos elementos no documento (PITTS, 2000). A Figura 1 apresenta um documento XML.

15 15 1. <?xml version ="1.0"?> 2. <!DOCTYPE Livros SYSTEM Livros.dtd > 3. <Livros> 4. <livro ISBN="112"> 5. <titulo>tecnologia XML</titulo> 6. <preco>79.69</preco> 7. <autor> 8. <nome>joao da Silva</nome> </autor> 12. <autor> 13. <nome>maria Souza</nome> 14. </autor> 15. <editora>campus</editora> 16. </livro> 17. </Livros> Figura 1: Exemplo de um documento XML. Analisando o documento XML apresentado na Figura 1 é possível observar a semelhança à forma de uma árvore. O elemento <Livros> é entendido como a raiz da árvore, pois nele estão reunidas todas as informações contidas no documento. Além disso, cada subelemento que compõe a raiz é constituído de seus subelementos, e assim sucessivamente. Nota-se que os elementos são formatados utilizando-se um encadeamento que torna mais visível tal estrutura. A linha 2 do documento XML, apresentado na Figura 1, contém a instrução <!DOCTYPE Livros SYSTEM Livros.dtd >. Esta instrução não é obrigatória, mas relaciona o documento XML com o arquivo Livros.dtd. Assim, o documento XML deverá estar de acordo com as regras especificadas na DTD citada para que seja considerado um documento XML válido. As DTD s serão vistas com mais detalhe na próxima seção. Como foi citado anteriormente, um elemento de um documento XML é definido por marcas de abertura e de fechamento, por seus atributos, por seu conteúdo e por seus subelementos. Uma marca é delimitada pelos símbolos "<" e ">". De um modo geral, a marca de abertura tem a forma "<nomedoelemento>" e a marca de fechamento tem a forma "</nomedoelemento>". Analisando o código apresentado na Figura 1 é possível verificar as marcas de abertura <Livros> e de fechamento </Livros> do elemento "Livros".

16 16 Um subelemento é um elemento que compõe um elemento hierarquicamente superior. Observa-se no código, apresentado na Figura 1, que o elemento "Livros" tem como subelemento o elemento "livro", e este último tem como subelementos os elementos "titulo", "preco", "autor" e "editora", e que o elemento "autor" tem como subelementos os elementos "nome" e "mail". Nota-se que há dois elementos "mail" na primeira ocorrência de autor e nenhum na segunda ocorrência, o que denota que o elemento mail é opcional podendo haver nenhum ou mais elementos. Um atributo é uma fonte de informação adicional de um elemento e é definido na marca de abertura. Tomando como exemplo o código apresentado na Figura 1, o atributo "ISBN" do elemento "livro", presente na marca "<livro ISBN="112">", apresenta o valor 112. Duas verificações podem ser feitas em um documento XML. A primeira é se o documento XML é um documento well-formed (bem-formado). Um documento XML bem-formado é aquele que obedece as regras de sintaxe da linguagem XML. Dentre as regras pode-se citar que um documento XML deve começar com a declaração de XML, deve ter um único elemento raiz, nenhum atributo pode aparecer mais do que uma vez na mesma marca de início, todos os valores do atributo devem ser citados, as marcas devem ser aninhadas adequadamente e todas devem ter pares correspondentes, ou seja, toda marca de início deve ter uma correspondente marca de fim. Voltando a analisar a Figura 1, a segunda verificação a ser feita é se o documento XML é um documento válido. Um documento válido é aquele que está de acordo com as regras definidas na sua respectiva DTD ou Esquema. Por conseqüência, se um documento XML é um documento válido, então podemos dizer que ele é um documento bem-formado. Para que um documento XML seja analisado de acordo com uma DTD, ou com um Esquema, é necessário que ele contenha uma referência à respectiva DTD ou ao respectivo Esquema. Analisando a Figura 1, pode-se observar a existência desta referência na segunda linha do documento XML, conforme foi explicado anteriormente, nesta seção. Outra característica da linguagem XML é a extensibilidade, que está relacionada com a capacidade do criador do documento XML definir as marcas de acordo com o que necessita, ou seja, criar suas próprias marcas de elementos e definir-lhes atributos

17 17 específicos (PITTS, 2000). Com isto, é possível padronizar um conjunto de elementos de acordo com as informações que se deseja descrever. Por exemplo, no documento apresentado na Figura 1, poderia ser acrescentado um subelemento <fone> ao elemento <autor> Documento de Definição de Tipo - DTD Uma DTD é um documento escrito de acordo com a gramática EBNF (Extended Backus- Naur Form), que serve para representar um conjunto de regras que especificam a estrutura dos documentos XML aos quais aquela DTD está anexada. As regras contidas na DTD definem quais são os elementos que um documento XML deve conter, quais os atributos de cada elemento, se um subelemento é obrigatório ou opcional e quantos subelementos de um mesmo tipo um elemento pode ou deve conter (DEITEL, 2003). Uma DTD pode ser declarada interna ou externamente a um documento XML. Quando declarada internamente, ela passa a integrar o documento XML e suas regras são específicas para aquele documento. Já na forma de declaração externa, suas regras podem ser aplicadas a vários documentos XML, bastando apenas que cada documento contenha uma referência àquela DTD. A figura 2 apresenta uma DTD declarada de forma externa. <!ELEMENT Livros (livro+)> <!ELEMENT livro (titulo,preco,autor+,editora)> <!ATTLIST livro ISBN CDATA #REQUIRED> <!ELEMENT titulo (#PCDATA)> <!ELEMENT preco (#PCDATA)> <!ELEMENT autor (nome,mail*)> <!ELEMENT nome (#PCDATA)> <!ELEMENT mail (#PCDATA)> <!ELEMENT editora (#PCDATA)> Figura 2: Exemplo de uma DTD.

18 18 Analisando o documento de definição de tipo DTD, apresentado na Figura 2, pode-se observar que qualquer documento XML, para ser considerado válido de acordo com esta DTD, deve apresentar um elemento raiz chamado Livros. Além disso, este elemento Livros deve ter como subelementos um ou mais elementos livro, sendo que cada elemento livro deve apresentar obrigatoriamente um atributo ISBN, um subelemento titulo, um subelemento preco, um ou mais subelementos autor e um subelemento editora. Por fim, cada elemento autor deve conter um subelemento nome e nenhum ou vários subelementos mail. Os elementos titulo, preco, nome e mail são do tipo PCDATA, o que significa que os seus conteúdos serão formados por dados de caracteres (alfanuméricos) entre as tags de início e de fim. Confrontando o documento XML apresentado na Figura 1 com a DTD apresentada na Figura 2, verifica-se que o documento XML da Figura 1 é um documento válido XML Schema Um XML Schema, tal como uma DTD, é um documento que especifica as regras para documentos XML, e que usa a sintaxe de XML, ou seja, ele é um documento XML em si, para descrever a estrutura de outros documentos XML, apresentando suporte a tipos de dados. De acordo com Deitel (2003), XML Schema é uma recomendação do World Wide Web Consortium (W3C), isto é, uma versão estável adequada à utilização industrial. XML Schemas são tidos como os sucessores de DTD, tendo em vista que oferecem a vantagem de serem escritos em XML, e, por isso, serem extensíveis. Além disso, oferecem suporte a tipos de dados e a namespaces. A figura 3 apresenta um exemplo de um XML Schema.

19 19 1. <?xml version = 1.0?> 2. <xs:schema xmlns:xs= > 3. <xs:element name= Livros > 4. <xs:complextype> 5. <xs:sequence> 6. <xs:element name= livro minoccurs= 1 maxoccurs= unbounded > 7. <xs:complextype> 8. <xs:sequence> 9. <xs:attribute name= ISBN type= xs:integer /> 10. <xs:element name= titulo type= xs:string /> 11. <xs:element name= preco type= xs:decimal /> 12. <xs:element name= autor minoccurs= 1 maxoccurs= unbounded > 13. <xs:complextype> 14. <xs:sequence> 15. <xs:element name= nome type= xs:string /> 16. <xs:element name= mail type= xs:string /> 17. </xs:sequence> 18. </xs:complextype> 19. </xs:element> 20. <xs:element name= editora type= xs:string /> 21. </xs:sequence> 22. </xs:complextype> 23. </xs:element> 24. </xs:sequence> 25. </xs:complextype> 26. </xs:element> 27. </xs:schema> Figura 3: Exemplo de um XML Schema. Um XML Schema possui como elemento raiz o elemento schema, o qual pode conter alguns atributos. Um dos atributos é o xmlns:prefixo, que indica que os elementos e os tipos de dados (schema, element, complextype, sequence, string, boolean etc.) usados no Schema vêm de um determinado namespace e que conterão um determinado prefixo.

20 20 Analisando o XML Schema apresentado na figura 3, observa-se que os elementos (schema, element, complextype, sequence, attribute, integer, string e decimal) usados no Schema vêm do namespace os quais são prefixados com xs:. Conforme mencionado anteriormente, o suporte a tipos de dados é uma das vantagens de XML Schemas sobre DTD s. Observando o XML Schema apresentado na Figura 3, os elementos titulo, preco, nome, mail e editora são declarados como do tipo string, decimal, string, string e string, respectivamente. Além disso, o atributo ISBN é declarado como do tipo integer. Ao contrário, pode-se observar na DTD apresentada na Figura 2 que os elementos titulo, preco", nome, mail e editora são declarados como do tipo PCDATA, e que o atributo ISBN do elemento livro é declarado como do tipo CDATA Web Service Um Web Service é uma parte de lógica de negócio, localizado em algum lugar na Internet, que é acessível através de protocolos de Internet baseados em padrões tais como HTTP ou SMTP (CHAPPELL, 2002). Desta forma, servidores podem disponibilizar serviços na Internet a fim de que outras aplicações possam interagir com eles, utilizando aqueles protocolos padrão. De acordo com Rogue (2005), um serviço é um componente disponível na rede. Como componentes, serviços em geral e Serviços Web, em particular, representam funcionalidades que podem ser facilmente utilizadas sem a necessidade de se conhecer os detalhes de como o serviço está implementado. A tecnologia de Web Services torna possível o intercâmbio de dados entre aplicações heterogêneas, garantindo, assim, interoperabilidade entre tais aplicações. A interoperabilidade é possibilitada graças aos protocolos citados anteriormente e aos padrões adotados na construção de Web Services. Desta forma, é possível, por exemplo, que uma aplicação desenvolvida na plataforma.net faça comunicação com outra aplicação desenvolvida na plataforma Java.

21 21 Um Web Service possui uma estrutura que pode ser representada na forma de uma pilha. Hendricks (2002) publicou a pilha básica de Web Services, constituída por 4 camadas conceituais associadas às suas respectivas tecnologias, a qual é apresentada na Tabela 5. Tabela 1: Pilha Básica de Serviços Web disponível em Hendricks (2002). Publicação e Descoberta do Serviço UDDI (Service Publication/Discovery) Descrição do Serviço (Service Description) Troca de Mensagens XML SOAP (XML Messaging) Rede de Transporte (Transport Network) WSDL SOAP HTTP, SMTP, FTP, HTTPS over TCP/IP As camadas conceituais, apresentadas na pilha da Tabela 1, podem ser mais bem entendidas analisando o relacionamento entre elas. Uma aplicação funciona como um cliente de um Web Service quando precisa localizar outra aplicação ou outro Web Service localizado em algum lugar na Internet. Então, aquela aplicação consulta um registro UDDI buscando um serviço qualquer pelo nome, categoria, identificador ou especificação suportada. Uma vez localizado o serviço, o cliente obtém informação sobre a localização do documento WSDL. O documento WSDL contém informações sobre como contatar o Web Service e o formato das mensagens de requisição no XML Schema. O cliente cria uma mensagem SOAP, de acordo com o XML Schema encontrado na WSDL, e envia uma requisição para o host no qual o serviço está disponível (CHAPPELL, 2002). A adoção dos protocolos de transporte citados garante maior interoperabilidade entre a aplicação cliente e o Web Service.

22 Publicação e Descoberta do Serviço UDDI O UDDI (Universal Description, Discovery, and Integration Descrição, Descoberta e Integração Universais) é um repositório de registro de Web Services públicos e dos negócios que os representam. Através deste repositório, clientes e parceiros de negócios podem integrar suas aplicações. Para isso, o UDDI fornece um registro mundial de Web Services com as finalidades de propaganda, descoberta e integração. Os analistas e os tecnólogos do negócio usam UDDI para descobrir serviços disponíveis na Web, procurando por nomes, por identificadores, por categorias, ou pelas especificações executadas pelo Web Service (CHAPPELL, 2002). Para cumprir sua função de repositório de informações de Web Services, o registro UDDI precisa definir regras a fim de padronizar a descrição dos serviços. Desta forma, a especificação UDDI fornece uma estrutura comercial, usada para descrever um determinado negócio (HENDRICKS, 2002). Maiores detalhes da especificação UDDI e registros de negócios serão apresentados na seção 2.4, por ser um tópico essencial para a compreensão do trabalho Troca de Mensagens XML SOAP O SOAP (Simple Object Access Protocol Protocolo Simples de Acesso ao Objeto) é um protocolo simples, baseado em XML, que permite aplicações trocarem informações sobre HTTP. É um protocolo independente de plataforma e de linguagem (WSDL, 2005). O SOAP fornece uma estrutura de empacotamento padrão para transportar documentos XML sobre uma variedade de tecnologias padrão da Internet, incluindo o SMTP, o HTTP, e o FTP (CHAPPELL, 2002). A possibilidade de usar o protocolo HTTP na comunicação entre aplicações é a principal característica do SOAP, pois todos os navegadores e servidores de Internet suportam HTTP. Desta forma, a interoperabilidade entre aplicações é facilitada por ter um mecanismo de transporte padrão, por exemplo, clientes heterogêneos e servidores podem tornar-se interoperáveis, como clientes Java podem invocar componentes.net.

23 23 De acordo com Soap (2005), uma mensagem SOAP é representada como um documento XML. O elemento raiz do documento é o Envelope, o qual identifica o documento XML como uma mensagem SOAP Descrição do Serviço WSDL A descrição do serviço é feita usando a Linguagem de Descrição de Serviço Web (WSDL Web Service Description Language). Um documento WSDL é construído na forma de um documento XML e descreve a interface de um Web Service, padronizado como um Web Service representa os parâmetros de entrada e saída de uma chamada externa, a estrutura das funções, a natureza da chamada (somente entrada, entrada/saída, entre outros), e o protocolo de ligação de serviço (CHAPPELL, 2002). Além disso, o documento WSDL especifica a localização do serviço e as operações (ou métodos) que este oferece Rede de Transporte Os protocolos de transporte são responsáveis por permitir que os Web Services possam estar disponíveis e serem acessados. Hendricks (2002) afirma que os Web Services são construídos com base em padrões de comunicação existentes, que os torna independentes do transporte JWSDP O JWSDP (Java Web Services Developer Pack Pacote para Desenvolvimento de Serviços Web em Java) é formado por um conjunto de API s de código fonte aberto, desenvolvidas em Java, utilizado para construir, testar e publicar aplicações XML, serviços Web, e aplicações Web com as últimas tecnologias e implementações padrão de serviços Web (JWSDP, 2005). Neste trabalho foi utilizada a versão 1.6 do JWSDP, tendo em vista que é a versão mais atualizada e mais indicada para uso. Dentre as API s que integram o JWSDP estão as API s JAXP (Java API for XML Processing API Java para Processamento de XML), JAXB (Java Architecture for XML Binding Arquitetura Java para Mapeamento XML), JAX-RPC (Java API for XML-based

24 24 RPC API Java para RPC baseado em XML) e JAXR (Java API for XML Registries API Java para Registros XML). JAXP: é a API padrão para processamento de XML na plataforma Java. Permite às aplicações interpretar e transformar documentos XML. O principal pacote da API JAXP é o javax.xml.parser, que implementa as classes SAXParserFactory e DocumentBuilderFactory (CARDOSO, 2004). JAXB: é a API padrão que fornece ferramentas para automatizar o mapeamento entre documentos XML e objetos Java. Esta API mapeia as classes Java em documentos XML que permitem gerar JavaBeans a partir de esquema XML, possibilitando a serialização de objetos para XML e vice-versa. (CARDOSO, 2004). JAX-RPC: é uma API para construção de Web Services e clientes que usam chamadas de procedimento remoto (RPC) e XML. Um mecanismo de RPC é freqüentemente usado no modelo cliente/servidor e possibilita que um cliente possa executar uma chamada a um procedimento localizado em outro sistema. Com a API JAX-RPC, os detalhes da implementação tornam-se transparentes para o desenvolvedor, tal como o RMI faz. JAXR: segundo Chappell (2002), a API JAXR fornece uma maneira padronizada de um programa acessar um registro de negócios, permitindo aos desenvolvedores escrever código que pode acessar registros diferentes, incluindo repositório UDDI e ebxml. Mais detalhes da API JAXR serão apresentados na seção Registros de Negócios Segundo Chappell (2002), uma das grandes promessas da tecnologia de Web Services é, sem dúvida, a capacidade de integração automática de negócio: um recurso de software descobrirá, acessará, integrará e invocará, dinamicamente, novos serviços de companhias desconhecidas, sem a necessidade de intervenção humana.

25 25 Os Registros XML oferecem repositórios centralizados para que as empresas possam anunciar a sua existência, descrever seus negócios e oferecer serviços pela Web que podem ser acessados por seus parceiros (HENDRICKS, 2002). Um Registro de Serviços implementa o que é descrito em uma especificação que define a estrutura de dados das informações de empresas que fornecem serviços e seus recursos de software. A informação, que será armazenada nos Repositórios, inclui dados de negócio, tais como o nome, a descrição e a informação de contato, e dados que descrevem políticas, processos de negócio e ligações de software. Tal como expressa Jaxr (2002), os termos Registro e Repositório são freqüentemente usados juntos e, normalmente, existe uma confusão entre as definições dos mesmos. Quando uma empresa publica informações em um Registro de Serviços, essas são armazenadas em uma unidade de armazenamento denominada Repositório. Assim, o Repositório é a base de dados que guarda o conteúdo submetido por uma empresa ao Registro de Serviços. Jaxr (2002) indica, ainda, que não existe acesso direto ao Repositório por parte de uma organização. O acesso ao Repositório é realizado através do Registro de Serviços, que é uma aplicação que oferece o serviço para que as empresas submetam as suas informações. As instâncias de conteúdo enviadas por uma empresa ao Registro de Serviços são chamadas itens de Repositório. Existem alguns padrões de especificação para registros de negócios baseados em XML, dentre os quais os mais populares são o padrão ebxml e o padrão UDDI. Segundo Hendricks (2002), o padrão ebxml pode ser considerado um superconjunto funcional do UDDI, uma vez que o padrão UDDI especifica apenas o armazenamento de informações básicas sobre um negócio e um índice dos seus Web Services, ao contrário do padrão ebxml, que especifica desde informações básicas sobre um negócio até os detalhes comerciais, legais e logísticos de uma empresa. O conceito de registro está focado no processo de descoberta do SOA (Service-Oriented Architecture Arquitetura Orientada a Serviço), em que são definidos três papéis: o

26 26 provedor do serviço, o registro do serviço e o requisitante do serviço. A Figura 4, adaptada de Hendricks (2002), apresenta a relação entre estes papéis. Provedor do Serviço Publicar Ligar Registro do Serviço Localizar Requisitante do Serviço Figura 4: Interligação entre os Papéis, adaptada de Hendricks (2002). A Figura 4 apresenta a visão geral do funcionamento de um Web Service, que foi apresentado na seção 2.2. Nesse contexto, o Registro de Serviço é utilizado pelo Provedor de Serviço para publicar as informações de seus negócios e serviços. Em contrapartida, o Requisitante de Serviço utiliza o Registro de Serviço para buscar informações sobre negócios e serviços, com o fim de obter os detalhes técnicos de um serviço, necessários para a tarefa futura de ligação/integração com o serviço alvo. A definição encontrada em Jaxr (2002) ajuda a compreender melhor o conceito de registro: A maioria das interações business-to-business (B2B) são baseadas em um processo colaborativo entre duas partes que são acopladas em uma parceria. Um registro é uma terceira parte neutra que ajuda facilitar tal colaboração. Um registro está disponível a organizações como um recurso compartilhado oferecido na forma de um serviço baseado na Web. Um registro é um componente chave em toda arquitetura de Web Services porque

27 27 fornece organizações com a habilidade de publicar, descobrir e utilizar serviços Web. Registros permitem colaboração B2B dinâmica e fracamente acoplada.. Nesse contexto, os registros de negócio funcionam como um elo entre as organizações, os quais prometem facilitar a integração das aplicações, posto que são disponibilizados na forma de serviços baseados na Web e possuem estruturas adequadas para publicação, armazenamento, descoberta e localização dos detalhes de implementação de cada aplicação. O padrão UDDI será utilizado neste trabalho por ser voltado especificamente para serviços Web e descrição de informações relevantes para esses, ao contrário do ebxml que engloba uma visão mais ampla dos negócios das empresas. Adicionalmente, vale ressaltar que o UDDI é simplificado em relação ao padrão ebxml e, segundo Chappell (2002), o padrão UDDI é o mais freqüentemente usado pelos Web Services UDDI O UDDI é o nome de um grupo de registros baseados na Web que expõe informação sobre um negócio ou entidade e suas interfaces técnicas. Estes registros são executados por múltiplos sites operadores e podem ser usados por qualquer um que queira deixar informação disponível sobre um ou mais negócios ou entidades, bem como qualquer um que queira buscar aquela informação. (UDDI, 2002). Chappell (2002) afirma que o projeto UDDI foi uma iniciativa da indústria de criar uma plataforma independente, uma estrutura aberta para descrever serviços, descobrir negócios, e integrar serviços de negócios. O projeto UDDI é mantido pela Comunidade UDDI, a qual consiste de membros de grupo de funcionamento, os quais desenvolvem as especificações, e de membros de grupo consultivo, que definem os requisitos e revêem as especificações. Existem diversos operadores de registro UDDI, que são os Registros de Serviços. Dentre esses operadores destaca-se o da IBM, disponível em o qual foi utilizado no desenvolvimento deste trabalho. Diversos tipos de dados simples podem ser publicados em um registro UDDI, tais como nome, identificadores de negócio, informação de contato, códigos da indústria e

28 28 classificação de produtos, e informações descritivas sobre os serviços disponíveis, bem como a URL do serviço e informações de interface e propriedades do serviço. De acordo com Chappell (2002), conceitualmente um negócio pode registrar três tipos de informação em um registro UDDI: informação básica de contato e identificadores sobre uma companhia, incluindo nome de negócio, endereço, informação de contato, e identificadores únicos tais como números D-U-N-S ou identificadores de taxonomias; informação que descreve um Web Service usando diferentes categorizações (taxonomias), a qual permite que outros possam descobrir seu Web Service baseado na categorização (páginas amarelas); e informação técnica que descreve os comportamentos e funções suportadas de um Web Service hospedado por seu negócio (páginas verdes) API s descritas pela especificação UDDI De acordo com Chappell (2002), a especificação UDDI descreve duas API s: a API de consulta (Inquiry API) e a API de publicação (Publishing API). A API de consulta não requer acesso autenticado e possibilita a localização de informação sobre uma empresa, os serviços que essa oferece, as especificações daqueles serviços e informação sobre o que fazer em uma situação de falha. Chappell (2002) descreve, também, que a API de publicação é usada para criar, armazenar ou atualizar informações localizadas em um registro UDDI, e, como o acesso é autenticado, é utilizado o protocolo HTTPS. Assim, a URL utilizada para consulta é diferente da URL utilizada para publicação. Na Tabela 2 são apresentadas as URL s dos pontos de acesso de consulta e de publicação dos Registros de Serviços de teste da IBM e da Microsoft, obtidas a partir de J2ee (2005). Tabela 2: URL's dos pontos de acesso dos Registros de Serviços de teste da IBM e da Microsoft Registro URL de Consulta URL de Publicação IBM Test Microsoft Test /inquiryapi nquire https://uddi.ibm.com/testregistry/publishapi https://test.uddi.microsoft.com/publish

29 Estrutura de Dados UDDI De acordo com Chappell (2002), as estruturas de dados UDDI são utilizadas como parâmetros da maioria das mensagens SOAP, sejam elas mensagens de requisição ou de resposta. Instâncias destas estruturas são identificadas e referenciadas por um identificador único, conhecido como UUID (Universal Unique Identifier Identificador Único Universal), que é criado pelo Registro de Serviços quando a estrutura de dados é armazenada pela primeira vez no Registro de Serviços. As estruturas de dados UDDI compõem o documento XML que representa a mensagem SOAP. As principais estruturas de dados são apresentadas na Figura 5, retirada de Chappell (2002). Figura 5: Relacionamentos entre as Principais Estruturas de Dados da especificação UDDI retirada de Chappell (2002). A estrutura de dados UDDI, apresentada na Figura 5, pode ser melhor compreendida analisando-se a explicação encontrada em Chappell (2002), que segue:

30 30 A hierarquia de dados UDDI tem como elemento raiz a estrutura <businessentity>, que representa a informação básica de um negócio, como nome, informação de contato, descrição, identificadores, categorias e relacionamentos com outros negócios, já que o UDDI permite que companhias estabeleçam relacionamentos entre si. A estrutura <publisherassertion> é usada para especificar relacionamentos públicos entre duas estruturas <businessentitiy>. De acordo com Chappell (2002), um relacionamento entre duas estruturas <businessentity> torna-se público somente quando as duas companhias criam o mesmo relacionamento. Por exemplo, se a companhia A afirma um relacionamento com a companhia B e a companhia B afirma um relacionamento com a companhia A, então o relacionamento entre as duas companhias torna-se visível ao público. Uma estrutura <businessentity> pode conter uma ou mais estruturas <businessservice>, a qual é usada para descrever um conjunto de serviços oferecidos pelo negócio, os quais podem ser Web Services ou não. A estrutura <bindingtemplate> contém ponteiros para descrições técnicas e URL de pontos de acesso, mas não contém os detalhes das especificações de serviço. Contém, também, uma descrição textual opcional do Web Service, e uma referência para uma ou mais estruturas <tmodel>. A Estrutura <tmodel> não fornece diretamente a especificação do serviço, mas possui ponteiros para as localizações das especificações atuais. Companhias podem usar a informação apontada por um <tmodel> para determinar se um Web Service é compatível com seus requisitos de negócio JAXR JAXR é a API do JWSDP que possibilita a manipulação de registros XML, permitindo a realização de operações de gerenciamento e consulta. Como parte do JWSDP, beneficia-se da portabilidade, característica predominante nos aplicativos e ferramentas desenvolvidos na

31 31 linguagem Java. Com a API JAXR, o trabalho de descoberta e integração de aplicações ganha mais impulso, favorecendo o intercâmbio de dados através da Internet. Segundo Hendricks (2002), JAXR é a camada de abstração de nível superior Java oficial da Sun para a comunicação com um registro XML por meio de alguma forma de mensagem de XML (como SOAP). A Figura 6, retirada de Jwsdp (2005), apresenta a arquitetura de JAXR. Figura 6: Arquitetura de JAXR, retirada de Jwsdp (2005). Jaxr (2002) descreve a arquitetura de JAXR, apresentada na Figura 6, da seguinte forma: JAXR Client (Cliente JAXR): o Cliente JAXR usa a API JAXR para acessar um registro através de um Provedor JAXR. Capability-Specific Interfaces (Interfaces de Capacidade Específica): as interfaces de capacidade específica fornecem capacidades como gerenciamento de ciclo de vida (Life Cycle Management) e gerenciamento de consulta (Query Management). Registry-Specific JAXR Provider (Provedor JAXR Específico de Registro): um Provedor JAXR possibilita que um Cliente JAXR acesse um registro. Diverse Registries (Registros Diversos): há implementações de várias especificações de registro tais como ebxml e UDDI.

32 32 Um Registry Provider (Provedor de Registro) é uma implementação de uma especificação de registro. Por exemplo, provedores de registros UDDI, como os registros da IBM e da Microsoft, implementam a especificação de registro UDDI. Segundo Jwsdp (2005), um Provedor JAXR implementa dois pacotes principais, que são javax.xml.registry e javax.xml.registry.infomodel. O javax.xml.registry possui as interfaces e classes que definem o acesso ao registro. As interfaces mais básicas deste pacote são: a interface Connection, que representa a sessão de um cliente com um provedor de registro; e a interface RegistryService, que permite ao cliente obter as interfaces usadas para acessar o registro. O javax.xml.registry possui também as interfaces primárias QueryManager e BusinessQueryManager, que permitem a um cliente efetuar busca em um registro por informação de acordo com as interfaces javax.xml.registry.infomodel, LifeCycleManager e BusinessLifeCycleManager, que permitem a um cliente modificar informação em um registro salvando-a, atualizando-a ou excluindo-a. Existe, ainda, uma interface opcional, DeclarativeQueryManager, que permite a um cliente usar sintaxe SQL em consultas (JWSDP, 2005). O javax.xml.registry.infomodel possui as interfaces que definem o modelo de informação de JAXR. Estas interfaces definem os tipos de objetos que residem em um registro e como estes se relacionam. A interface básica deste pacote é a interface RegistryObject. Nas seções a seguir, são apresentados dois exemplos de programas clientes JAXR, que foram desenvolvidos a partir de Jwsdp (2005). O primeiro exemplo possibilita a publicação do registro de uma organização no Registro de Serviços de teste da IBM ou no Registro de Serviços de teste da Microsoft. Já o segundo exemplo, possibilita que sejam realizadas buscas por informações de organizações nos Registros de Serviços, tendo como parâmetro de busca o nome da organização Exemplo publicação Nesta seção serão apresentados e discutidos os principais trechos de código de um programa cliente JAXR para a publicação de registro de uma organização, denominado

33 33 ClienteJAXRPublicacaoOrganizacao.java. Será apresentada, inicialmente, a tela da execução do programa, a qual será utilizada pelo usuário para informar os dados que serão publicados no Registro de Serviços. A Figura 7 apresenta a tela do programa. A B C D E F G H I J K Figura 7: Tela da Execução do Programa ClienteJAXRPublicacaoOrganizacao.java Na tela da execução do programa ClienteJAXRPublicacaoOrganizacao.java, apresentada na Figura 7, o usuário escolhe o Registro de Serviços (A) em que os dados serão publicados. Depois, indica seu nome de usuário (B) e sua senha de acesso (C), sendo que para obter acesso a um Registro de Serviços, é necessário que o usuário faça o seu cadastramento. O tutorial apresentado no anexo III descreve os passos necessários para o cadastramento no Registro de Serviços de teste da IBM. Além dos dados de acesso ao Registro de Serviços, o usuário insere os dados que serão publicados e que poderão ser visualizados através de consultas aos registros, sendo eles:

34 34 nome (D) e descrição da organização (E), nome (F) e de um usuário da organização (G), nome (H) e descrição (I) e URL de acesso a um serviço da organização (J). Depois de inserir os dados, é necessário apenas clicar no botão Registrar (K) para que as informações sejam enviadas para publicação no Registro de Serviços escolhido, que no caso da figura é o da IBM. A apresentação e a discussão dos principais trechos de código do programa ClienteJAXRPublicacaoOrganizacao.java são necessárias para demonstrar em detalhes o código básico que um programa cliente JAXR deve conter para publicação de registro de uma organização em um Registro de Serviços UDDI. A Figura 8 apresenta um fragmento do código do programa, que será comentado no decorrer do texto. 1. public void setprops(){ 2. this.props = new Properties(); 3. this.props.setproperty("javax.xml.registry.lifecyclemanagerurl",this.manager); 4. this.props.setproperty("javax.xml.registry.querymanagerurl",this.query); public void connect(){ 7. try{ 8. this.confactory = ConnectionFactory.newInstance(); 9. this.confactory.setproperties(this.props); 10. this.connection = this.confactory.createconnection(); 11. this.regservice = this.connection.getregistryservice(); 12. this.blcmanager = this.regservice.getbusinesslifecyclemanager(); 13. this.passwdauth = new PasswordAuthentication( 14. this.textfield15.gettext(), 15. this.passwordfield1.gettext().tochararray()); 16. Set credentials = new HashSet(); 17. credentials.add(this.passwdauth); 18. this.connection.setcredentials(credentials); 19. catch(jaxrexception e){ 20. javax.swing.joptionpane.showmessagedialog(null, 21. "Erro ao Conectar: "+e.getmessage(), 22. "Registro de Organização",JOptionPane.ERROR_MESSAGE); Figura 8: Fragmento de Código do Programa ClienteJAXRPublicacaoOrganizacao.java Seguindo os passos descritos em Jwsdp (2005), a primeira tarefa a ser completada para se criar um cliente JAXR, seja ele para operações de registro ou de consulta, é estabelecer uma conexão com o Registro de Serviços que será utilizado. Para tanto, é necessário que seja criado um objeto do tipo ConnectionFactory. A linha 9 do fragmento de código

35 35 apresentado na Figura 8 apresenta a criação desse objeto. Em seguida, é necessário configurar as propriedades do objeto ConnectionFactory. As duas propriedades que precisam ser configuradas são apresentadas na Tabela 3. Tabela 3: Propriedades de Conexão JAXR Padrão adaptada de Jwsdp (2005). Nome e Descrição da Propriedade Tipo de Dado javax.xml.registry.querymanagerurl String Especifica a URL do serviço gerenciador de consulta dentro do Provedor de Registro alvo. javax.xml.registry.lifecyclemanagerurl String Especifica a URL do serviço gerenciador de ciclo de vida dentro do Provedor de Registro alvo. As linhas de 1 a 6 do fragmento de código apresentado na Figura 8 descrevem o método setprops(), que realiza a configuração das propriedades em um objeto Propertie denominado props. A propriedade javax.xml.registry.querymanagerurl é configurada com o valor contido no atributo manager, o qual contém a URL do ponto de acesso de publicação do Registro de Serviços escolhido pelo usuário, no item A indicado na Figura 7. A propriedade query, necessária tanto nos programas cliente JAXR de publicação e de consulta, é configurada com a URL do ponto de acesso de consulta do Registro de Serviços escolhido pelo usuário, que pode ser verificado na Tabela 2. Posteriormente, o objeto Propertie é utilizado para atribuir as propriedades ao objeto ConnectionFactory, o qual é utilizado para a criação do objeto Connection, que representa a conexão. As linhas 10 e 11 do fragmento de código apresentado na Figura 8 demonstram estes procedimentos. O segundo passo é criar um objeto RegistryService e com ele obter as interfaces de consulta, no caso de um Cliente JAXR para consulta, e de registro, no caso de um Cliente

36 36 JAXR de registro. O objeto RegistryService é obtido através do método getregistryservice() do objeto Connection. A linha 12 do fragmento de código apresentado na Figura 8 apresenta este procedimento. A interface necessária para um Cliente JAXR de registro é BusinessLifeCycleManager, a qual é obtida a partir do método getbusinesslifecyclemanager() do objeto RegistryService. A linha 13 do fragmento de código apresentado na Figura 8 demonstra este procedimento. Antes de submeter dados a um registro, um Cliente JAXR precisa enviar um nome de usuário e uma senha, através de um conjunto de credenciais, para obter acesso ao registro. Primeiramente precisa ser criado um objeto Credentials e um objeto PasswordAuthentication contendo o nome de usuário e a senha, fornecidos pelo usuário nos itens B e C indicados na Figura 7, respectivamente. Em seguida, é atribuído o objeto PasswordAuthentication ao objeto Credentials. Por fim, o objeto Connection é configurado com as credenciais através do método setcredentials(). As linhas 14 a 19 do fragmento de código apresentado na Figura 8 descrevem estas operações. O terceiro passo é criar os objetos com os dados a serem publicados no Registro de Serviços. No caso deste exemplo, é realizado o registro de uma organização com nome, descrição, nome do contato primário, do contato primário, nome de um serviço, descrição do serviço e URI de acesso. A Figura 9 apresenta um fragmento de código do programa cliente, que será comentado no decorrer do texto.

37 37 1. InternationalString is1, is2, is3, is4; 2. is1 = this.blcmanager.createinternationalstring(this.textfield1.gettext()); 3. Organization org = this.blcmanager.createorganization(is); 4. is2 = this.blcmanager.createinternationalstring(this.textarea1.gettext()); 5. org.setdescription(is2); 6. PersonName personname = this.blcmanager.createpersonname(this.textfield3.gettext()); 7. User user = this.blcmanager.createuser(); 8. user.setpersonname(personname); 9. Collection addresses = new ArrayList(); 10. addresses.add(this.blcmanager.create address(this.textfield4.gettext())); 11. user.set addresses( addresses); 12. org.adduser(user); 13. is3 = this.blcmanager.createinternationalstring(this.textfield7.gettext()); 14. Service service = this.blcmanager.createservice(is3); 15. is4 = this.blcmanager.createinternationalstring(this.textarea2.gettext()); 16. service.setdescription(is4); 17. org.addservice(service); 18. ServiceBinding servicebinding = this.blcmanager.createservicebinding(); 19. servicebinding.setaccessuri(this.textfield2.gettext()); 20. service.addservicebinding(servicebinding); 21. Collection orgsregistry = new ArrayList(); 22. orgsregistry.add(org); 23. BulkResponse br = blcmanager.saveorganizations(orgsregistry); Figura 9: Fragmento de código do programa ClienteJAXRPublicacaoOrganizacao.java A organização a ser registrada é representada pelo objeto Organization, criado a partir do método createorganization() do objeto BusinessLifeCycleManager, o qual tem como parâmetro o nome da organização, representado pelo objeto InternationalString is1, criado com o método createinternationalstring() do objeto BusinessLifeCycleManager. O nome da organização é fornecido pelo usuário no item D, indicado na Figura 7. Em seguida, é atribuída uma descrição à organização, através do método setdescription() do objeto Organization, o qual tem como parâmetro um objeto InternationalString com a descrição da organização. A descrição da organização é fornecida pelo usuário no item E, indicado na Figura 7. As linhas 1 a 5 do fragmento de código apresentado na Figura 9 descrevem estes procedimentos. Para atribuir o nome e o de um contato de uma organização é necessário criar um objeto User, o que é feito a partir do método createuser() do objeto BusinessLifeCycleManager, que cria um objeto User vazio. O nome do usuário precisa ser

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

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

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

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

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

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

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

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

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

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) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

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

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

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus

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

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

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

A Figura... mostra a arquitetura técnica de serviços na Web

A Figura... mostra a arquitetura técnica de serviços na Web Este capítulo proporciona uma visão técnica simplificada de um sistema UDDI. A arquitetura técnica de UDDI consiste de três partes: O Modelo de Informação UDDI Um esquema XML para descrever negócios e

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

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML 1 1. : Conceitos Básicos 2. Aplicação : XHTML 3. Folhas de Estilo em Cascata 2 é um acrônimo para EXtensible Markup Language é uma linguagem de marcação muito parecida com HTML foi designada para descrever

Leia mais

Desenvolvimento de Aplicações Web

Desenvolvimento de Aplicações Web Desenvolvimento de Aplicações Web André Tavares da Silva andre.silva@udesc.br Método de Avaliação Serão realizadas duas provas teóricas e dois trabalhos práticos. MF = 0,1*E + 0,2*P 1 + 0,2*T 1 + 0,2*P

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

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

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

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

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações Universidade de São Paulo Escola Politécnica Programa de Educação Continuada em Engenharia PROGRAMA DE MBA em Gestão e Engenharia do Produto O Produto Internet e suas Aplicações Tecnologias de Informação

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

Leia mais

A API de Publicação (Publishing API) suporta a operação publish que habilita empresas a colocarem e atualizarem a informação em um registro UDDI.

A API de Publicação (Publishing API) suporta a operação publish que habilita empresas a colocarem e atualizarem a informação em um registro UDDI. No capítulo anterior sobre o modelo de informação de UDDI é mostrado como são estruturados os dados sobre empresas, negócios e serviços. Agora que entendido como a informação é estruturada, o próximo entendimento

Leia mais

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi XML e Banco de Dados de Internet Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi Motivação Diversas aplicações Web utilizam Fontes de Dados (BD); Arquitetura Cliente-Servidor (2

Leia mais

PRnet/2013. Linguagem de Programação Web

PRnet/2013. Linguagem de Programação Web Linguagem de Programação Web Linguagem de Programação Web Prnet/2013 Linguagem de Programação Web» Programas navegadores» Tipos de URL» Protocolos: HTTP, TCP/IP» Hipertextos (páginas WEB)» HTML, XHTML»

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

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

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

Leia mais

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 5 INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos

Leia mais

XHTML 1.0 DTDs e Validação

XHTML 1.0 DTDs e Validação XHTML 1.0 DTDs e Validação PRnet/2012 Ferramentas para Web Design 1 HTML 4.0 X XHTML 1.0 Quais são os três principais componentes ou instrumentos mais utilizados na internet? PRnet/2012 Ferramentas para

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP Anexo VI Edital nº 03361/2008 Projeto de Integração das informações de Identificação Civil 1. Definições de interoperabilidade adotadas pela SENASP A Senasp procura adotar os padrões de interoperabilidade

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

Serviços Web: Introdução

Serviços Web: Introdução 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

Arquitetura Orientada a Serviço

Arquitetura Orientada a Serviço Arquitetura Orientada a Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society 1 SOA e Web Services SOA é um modelo

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Rotina de Discovery e Inventário

Rotina de Discovery e Inventário 16/08/2013 Rotina de Discovery e Inventário Fornece orientações necessárias para testar a rotina de Discovery e Inventário. Versão 1.0 01/12/2014 Visão Resumida Data Criação 01/12/2014 Versão Documento

Leia mais

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira SOA - Service Oriented Architecture Marcelo Canevello Ferreira Índice Arquitetura baseada em componentes Introdução a SOA Principais conceitos de SOA SOA Framework Abordagem de integração Conclusões Evolução

Leia mais

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel Software de gerenciamento do sistema Intel do servidor modular Intel Declarações de Caráter Legal AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO RELACIONADAS AOS PRODUTOS INTEL, PARA FINS DE SUPORTE ÀS PLACAS

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Programação para a Web - I. José Humberto da Silva Soares

Programação para a Web - I. José Humberto da Silva Soares Programação para a Web - I José Humberto da Silva Soares Fundamentos de Internet Rede Mundial de Computadores; Fornece serviços, arquivos e informações; Os computadores que têm os recursos são chamados

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc. Implementar servidores de Web/FTP e DFS Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Conteúdo programático Introdução ao protocolo HTTP Serviço web

Leia mais

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto UM NOVO CONCEITO EM AUTOMAÇÃO Série Ponto POR QUE NOVO CONCEITO? O que é um WEBPLC? Um CP na WEB Por que usar INTERNET? Controle do processo de qualquer lugar WEBGATE = conexão INTERNET/ALNETII WEBPLC

Leia mais

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

Um documento XML possui Unidade lógica - os elementos Usuário inventa as marcas através de DTDs XML Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs Unidade física - as entidades Armazenamento separado dos dados Como toda linguagem de marcação: XML

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

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping;

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping; Guia de Orientação para Implementação de Web Services Este documento apresenta alguns direcionamentos referentes à implementação de web services. É uma versão preliminar da construção do Guia de Orientação

Leia mais

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima INFORMÁTICA FUNDAMENTOS DE INTERNET Prof. Marcondes Ribeiro Lima Fundamentos de Internet O que é internet? Nome dado a rede mundial de computadores, na verdade a reunião de milhares de redes conectadas

Leia mais

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais

Documento apresentado para discussão. II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Documento apresentado para discussão II Encontro Nacional de Produtores e Usuários de Informações Sociais, Econômicas e Territoriais Rio de Janeiro, 21 a 25 de agosto de 2006 PID - Projeto de Interoperabilidade

Leia mais

Modelagem de Sistemas Web. Ferramentas e metodologias para projeto de sistemas web

Modelagem de Sistemas Web. Ferramentas e metodologias para projeto de sistemas web Modelagem de Sistemas Web Aula 4 Ferramentas e metodologias para projeto de sistemas web Ferramentas e metodologias para projeto de sistemas web Ferramentas CASE Fontes: Sarajane e Marques Peres Introdução

Leia mais

milenaresende@fimes.edu.br

milenaresende@fimes.edu.br Fundação Integrada Municipal de Ensino Superior Sistemas de Informação A Internet, Intranets e Extranets milenaresende@fimes.edu.br Uso e funcionamento da Internet Os dados da pesquisa de TIC reforçam

Leia mais

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL TRIBUNAL DE CONTAS DO DISTRITO FEDERAL TÉCNICO EM ADMINISTRAÇÃO PÚBLICA E ANALISTA (EXCETO PARA O CARGO 4 e 8) GABARITO 1. (CESPE/2013/MPU/Conhecimentos Básicos para os cargos 34 e 35) Com a cloud computing,

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

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

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

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB Deusa Cesconeti e Jean Eduardo Glazar Departamento de Ciência da Computação Faculdade de Aracruz UNIARACRUZ {dcescone, jean}@fsjb.edu.br RESUMO

Leia mais

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA CONCEITOS BÁSICOS DE INTERNET Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA conceito inicial Amplo sistema de comunicação Conecta muitas redes de computadores Apresenta-se de várias formas Provê

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios

Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas. Criação de uma Serviço de Geração de Relatórios Universidade Federal de Goiás Centro de Recursos Computacionais - CERCOMP Divisão de Sistemas Criação de uma Serviço de Geração de Relatórios Goiânia 12/2011 Versionamento 12/12/2011 Hugo Marciano... 1.0

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

XML (extensible Markup Language)

XML (extensible Markup Language) Sumário 1. Introdução a Aplicações Não-Convencionais 2. Revisão de Modelagem Conceitual 3. BD Orientado a Objetos (BDOO) 4. BD Objeto-Relacional (BDOR) 5. BD Temporal (BDT) 6. BD Geográfico (BDG) 7. BD

Leia mais

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Desenvolvimento em Ambiente Web Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Internet A Internet é um conjunto de redes de computadores de domínio público interligadas pelo mundo inteiro, que tem

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação. GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na

Leia mais

RSS no desenvolvimento de uma Central de Notícias

RSS no desenvolvimento de uma Central de Notícias RSS no desenvolvimento de uma Central de Notícias Darley Passarin 1, Parcilene Fernandes de Brito 1 1 Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA) Palmas TO Brasil darley@centralrss.com.br,

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

Kassius Vargas Prestes

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

Leia mais

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica Desenvolvimento de Web Services com SOAP. 1. Introdução. Com a tecnologia de desenvolvimento

Leia mais

Guia de Consulta Rápida HTTP. Décio Jr. Novatec Editora. www.novateceditora.com.br

Guia de Consulta Rápida HTTP. Décio Jr. Novatec Editora. www.novateceditora.com.br Guia de Consulta Rápida HTTP Décio Jr. Novatec Editora www.novateceditora.com.br Guia de Consulta Rápida HTTP de Décio Jr. Copyright 2001 da Novatec Editora Ltda. Todos os direitos reservados. É proibida

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

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

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

Adriano Reine Bueno Rafael Barros Silva

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

Leia mais

7 Utilização do Mobile Social Gateway

7 Utilização do Mobile Social Gateway 7 Utilização do Mobile Social Gateway Existem três atores envolvidos na arquitetura do Mobile Social Gateway: desenvolvedor do framework MoSoGw: é o responsável pelo desenvolvimento de novas features,

Leia mais

BPMN (Exemplos e Exercícios) e UDDI

BPMN (Exemplos e Exercícios) e UDDI DAS5316 BPMN (Exemplos e Exercícios) e UDDI Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Responsável pela elaboração dos slides Alexandre Perin (perin@das.ufsc.br) Florianópolis (SC), 2010. Roteiro BPMN

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE Kellen Kristine Perazzoli, Manassés Ribeiro RESUMO O grande avanço tecnológico vivenciado nos últimos anos, os web services vem sendo utilizados trazendo

Leia mais

UFG - Instituto de Informática

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

Leia mais

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

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

Manual do Usuário 2013

Manual do Usuário 2013 Manual do Usuário 2013 MANUAL DO USUÁRIO 2013 Introdução Um ambiente virtual de aprendizagem é um programa para computador que permite que a sala de aula migre para a Internet. Simula muitos dos recursos

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

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