O documento discute WSDL/UDDI. Apresenta uma visão geral de Web Services e WSDL, incluindo seus elementos e estrutura. Também discute UDDI como um protocolo para publicar e descobrir serviços em uma arquitetura orientada a serviços. Por fim, fornece um exemplo prático de implementação de um serviço web simples usando WSDL e a biblioteca Apache Axis.
Ce guide fournit un exemple de la manière dont Spring Boot vous aide à accélérer le développement d'applications. Au fur et à mesure que vous lirez plus de guides de démarrage de Spring, vous verrez plus de cas d'utilisation de Spring Boot. Ce guide est destiné à vous donner un aperçu rapide de Spring Boot. Si vous souhaitez créer votre propre projet basé sur Spring Boot, visitez Spring Initializr, remplissez les détails de votre projet, choisissez vos options et téléchargez un projet groupé sous forme de fichier zip.
Cette présentation donne une idée bien détaillée sur les web services. Elle présente aussi les types de web services(SOAP, REST), et enfin comment les développer dans le langage de programmation java.
Chaque jour, de nombreux développeurs utilisent le framework Spring pour l’injection de dépendances et la gestion des transactions. Majeures, ces 2 fonctionnalités ne nécessitent pas un gros effort d’apprentissage. Pour autant, leurs mises en œuvre par le framework est complexe. Par curiosité intellectuelle, mais également afin d’éviter certains pièges et de profiter pleinement des capacités de Spring, il est intéressant de comprendre les mécanismes internes du framework qu’on utilise au quotidien : cycle de vie d’un bean, proxy, intercepteur, post-processeur, fabrique de beans, hiérarchie de contextes, portée …
Les slides de cette présentation ont pour objectif de vous les faire les introduire.
Ce guide fournit un exemple de la manière dont Spring Boot vous aide à accélérer le développement d'applications. Au fur et à mesure que vous lirez plus de guides de démarrage de Spring, vous verrez plus de cas d'utilisation de Spring Boot. Ce guide est destiné à vous donner un aperçu rapide de Spring Boot. Si vous souhaitez créer votre propre projet basé sur Spring Boot, visitez Spring Initializr, remplissez les détails de votre projet, choisissez vos options et téléchargez un projet groupé sous forme de fichier zip.
Cette présentation donne une idée bien détaillée sur les web services. Elle présente aussi les types de web services(SOAP, REST), et enfin comment les développer dans le langage de programmation java.
Chaque jour, de nombreux développeurs utilisent le framework Spring pour l’injection de dépendances et la gestion des transactions. Majeures, ces 2 fonctionnalités ne nécessitent pas un gros effort d’apprentissage. Pour autant, leurs mises en œuvre par le framework est complexe. Par curiosité intellectuelle, mais également afin d’éviter certains pièges et de profiter pleinement des capacités de Spring, il est intéressant de comprendre les mécanismes internes du framework qu’on utilise au quotidien : cycle de vie d’un bean, proxy, intercepteur, post-processeur, fabrique de beans, hiérarchie de contextes, portée …
Les slides de cette présentation ont pour objectif de vous les faire les introduire.
SOAP is a protocol for exchanging structured information in a decentralized, distributed environment using XML. It uses RPC and HTTP. REST focuses on accessing named resources through a consistent interface and represents resource state. SOAP is better for enterprise security and transactions while REST is lighter weight and less complex, using standard HTTP and supporting JSON. The choice depends on needs - SOAP for banking apps, REST for simpler web services.
Qu'est ce que Java et JEE ?
Comment se fait l'évolution de Java ?
Les architectures SOA.
Les technologies (JSR).
Les frameworks.
Le middleware.
Les outils.
Partindo de uma introdução ao Node, entenderemos o funcionamento da Engine JavaScript V8, o Loop de Eventos, o Ambiente de Desenvolvimento até criarmos um pequeno Microsserviço com Node.js e o framework Express.
A walkthrough the main principles to reach solid NodeJS Applications with TypeScript language, Jest as Test Runner and NestJS as framework for structure.
O documento descreve o diagrama de sequência, que determina a ordem de eventos entre objetos durante um processo. Ele mostra mensagens enviadas, métodos chamados e como objetos interagem. O diagrama geralmente se baseia em um caso de uso e ilustra a sequência de ações.
Les primitives java, conditions, boucles..
Object, classes, Carcatéristiques...
Héritage et accessibilité (package, visibilité)
polymorphisme
Tableau et collections
Connexion base de données via JDBC
Séminaire sur Machines, Deep Learning For Web Mobile and Embedded Application with DL4J and TFJS :
Les vidéos de ce séminaire sont publiée sur les adresses suivantes :
- https://www.youtube.com/watch?v=uGSa4NigFKs
- https://www.youtube.com/watch?v=2yRAu78slgc
- https://www.youtube.com/watch?v=1ThjK3xLWII
- https://www.youtube.com/watch?v=N7LCa6aiqFs
Ce séminaire a été animé à l’ENSET de Mohammedia, dans le cadre du Projet Européen H2020 CybSPEED (Cyber Physical Systems for Pedagogical Rehabilitation in Special Education) dans lequel notre laboratoire de recherche SSDIA (Signaux, Systèmes Distribués et Intelligence Artificielle) est partenaire aux cotés des pays partenaires (France, Espagne, Grèce, Bulgarie, Japan et Chillie). Un projet Multi-disciplinaire autour de l'Intelligence Artificielle, visant à créer un robot destiné à assister les personnes à besoins spécifiques, en particulier les personnes atteintes par la maladie de l’autisme. Ce séminaire traite deux thématiques principales Lattice Computing animé par le professeur Vassillis Kaburlasos, EMaTTech, KAVALA, GRECE et Outils de mise en oeuvre de Machines et Deep Learning pour les applications Web Mobiles et embarquées, animé par moi même. Ce séminaire a un caractère de formation, de sensibilisation et de maîtrise des outils de développement des algorithmes de l'IA pour un public hétérogène Multi-disciplinaire (Informatique, Génie Electrique, Génie Mécanique, Ingénierie Pédagogique, Biologie, Chimie, etc..) constitué principalement des doctorants de notre Labo SSDIA, d'autres Labo affiliés au CeDOC de la FST de Mohammedia ainsi que des enseignants chercheurs de l'ENSET, de EMaTTech Kavala, Grèce et d'autres enseignants chercheurs venant de d'autres centres comme CRMF de Marrakech.
Ce séminaire vise particulièrement à expliquer quelques concepts liés à l’intelligence artificielle. Principalement Machines et Deep Learning et comment mettre en œuvre les Frameworks de machines et deep lerning dans des applications Web, Mobile et embarquées en utilisant Principalement Deeplearning4J pour les applications Java coté backend ou coté FrontEnd Desktop, Web ou Mobiles Android, et TensorFlowJS pour les applications Java Scripts coté Browser Web et Coté Applications Mobiles Hybrides ou NodeJS coté Backend.
Cette série de vidéo aborde les éléments suivants :
• Concepes généraux de l’Intelligence Artificielle, L’IA Distribuée et Systèmes Multi Agents
• Concepts fondamentaux de Machines et Deep Learning
• Réseaux de neurones artificiels : MLP, CNN
• Période d’incertitude des réseaux de neurones
• Catalyseur de l’Intelligence Artificielle
o Architectures Parallèles GPU (CUDA, OpenCL)
o Systèmes Distribués
o Application Mobile et IOT
o Algorithmes de MDL
o Framework de MDL
• Machines et Deep Learning avec TensorFlowJS : Architecture
o Architecture et Mise en oeuvre
• Machines et Deep Learning avec le Framework DL4J
o Architecture et Mise en oeuvre
Spring Boot is a framework for creating stand-alone, production-grade Spring based applications that can be "just run". It aims to provide a radically faster and widely accessible starting experience for developing Spring applications. Spring Boot applications can be started using java -jar or traditional WAR deployments and require very little Spring configuration. The document then discusses system requirements, development environment, creating a simple Hello World application, using Spring Boot Admin to monitor applications, configuring databases, Spring Data JPA, REST controllers, caching with EhCache, building web applications with Thymeleaf, and project structure.
The document discusses various methods for sharing data between Angular components, including:
1) Parent to child components using @Input to pass data via templates.
2) Child to parent using @ViewChild and AfterViewInit lifecycle hook to access child component properties.
3) Child to parent using @Output and event emitters to emit data on user events like button clicks.
4) Between unrelated components using a shared service with RxJs Subjects to share stream of data between all components accessing the service.
NestJS (https://nestjs.com/) is a Node.js framework for building server-side applications. This slide give you a brief introduction of Nest, and shows the examples like Service, Middleware, and Pipe, etc.
This Edureka "Node.js Express tutorial" will help you to learn the Node.js express fundamentals with examples. Express.js is flexible and minimal node.js web application framework that provides robust set of features to develop mobile and web applications. It facilitates the rapid development of node.js applications. Below are the topics covered in this tutorial:
1) Why Express.js?
2) What is Express.js?
3) Express Installation
4) Express Routes
5) Express Middlewares
The document discusses consuming REST web services with Android. It covers:
1) The need to have an online application, data formats like JSON and XML, and types of web services like SOAP and REST.
2) Transforming data received from web services into Java objects using libraries like Spring, Volley, and Google Gson.
3) Making HTTP requests to REST services and handling responses.
O documento discute os conceitos de web services, REST e SOAP. Define web services como sistemas de software que permitem a interação entre máquinas através de redes. Compara SOAP e REST, destacando que SOAP usa XML e HTTP enquanto REST usa métodos HTTP para acessar recursos representados por URIs.
SOAP is a protocol for exchanging structured information in a decentralized, distributed environment using XML. It uses RPC and HTTP. REST focuses on accessing named resources through a consistent interface and represents resource state. SOAP is better for enterprise security and transactions while REST is lighter weight and less complex, using standard HTTP and supporting JSON. The choice depends on needs - SOAP for banking apps, REST for simpler web services.
Qu'est ce que Java et JEE ?
Comment se fait l'évolution de Java ?
Les architectures SOA.
Les technologies (JSR).
Les frameworks.
Le middleware.
Les outils.
Partindo de uma introdução ao Node, entenderemos o funcionamento da Engine JavaScript V8, o Loop de Eventos, o Ambiente de Desenvolvimento até criarmos um pequeno Microsserviço com Node.js e o framework Express.
A walkthrough the main principles to reach solid NodeJS Applications with TypeScript language, Jest as Test Runner and NestJS as framework for structure.
O documento descreve o diagrama de sequência, que determina a ordem de eventos entre objetos durante um processo. Ele mostra mensagens enviadas, métodos chamados e como objetos interagem. O diagrama geralmente se baseia em um caso de uso e ilustra a sequência de ações.
Les primitives java, conditions, boucles..
Object, classes, Carcatéristiques...
Héritage et accessibilité (package, visibilité)
polymorphisme
Tableau et collections
Connexion base de données via JDBC
Séminaire sur Machines, Deep Learning For Web Mobile and Embedded Application with DL4J and TFJS :
Les vidéos de ce séminaire sont publiée sur les adresses suivantes :
- https://www.youtube.com/watch?v=uGSa4NigFKs
- https://www.youtube.com/watch?v=2yRAu78slgc
- https://www.youtube.com/watch?v=1ThjK3xLWII
- https://www.youtube.com/watch?v=N7LCa6aiqFs
Ce séminaire a été animé à l’ENSET de Mohammedia, dans le cadre du Projet Européen H2020 CybSPEED (Cyber Physical Systems for Pedagogical Rehabilitation in Special Education) dans lequel notre laboratoire de recherche SSDIA (Signaux, Systèmes Distribués et Intelligence Artificielle) est partenaire aux cotés des pays partenaires (France, Espagne, Grèce, Bulgarie, Japan et Chillie). Un projet Multi-disciplinaire autour de l'Intelligence Artificielle, visant à créer un robot destiné à assister les personnes à besoins spécifiques, en particulier les personnes atteintes par la maladie de l’autisme. Ce séminaire traite deux thématiques principales Lattice Computing animé par le professeur Vassillis Kaburlasos, EMaTTech, KAVALA, GRECE et Outils de mise en oeuvre de Machines et Deep Learning pour les applications Web Mobiles et embarquées, animé par moi même. Ce séminaire a un caractère de formation, de sensibilisation et de maîtrise des outils de développement des algorithmes de l'IA pour un public hétérogène Multi-disciplinaire (Informatique, Génie Electrique, Génie Mécanique, Ingénierie Pédagogique, Biologie, Chimie, etc..) constitué principalement des doctorants de notre Labo SSDIA, d'autres Labo affiliés au CeDOC de la FST de Mohammedia ainsi que des enseignants chercheurs de l'ENSET, de EMaTTech Kavala, Grèce et d'autres enseignants chercheurs venant de d'autres centres comme CRMF de Marrakech.
Ce séminaire vise particulièrement à expliquer quelques concepts liés à l’intelligence artificielle. Principalement Machines et Deep Learning et comment mettre en œuvre les Frameworks de machines et deep lerning dans des applications Web, Mobile et embarquées en utilisant Principalement Deeplearning4J pour les applications Java coté backend ou coté FrontEnd Desktop, Web ou Mobiles Android, et TensorFlowJS pour les applications Java Scripts coté Browser Web et Coté Applications Mobiles Hybrides ou NodeJS coté Backend.
Cette série de vidéo aborde les éléments suivants :
• Concepes généraux de l’Intelligence Artificielle, L’IA Distribuée et Systèmes Multi Agents
• Concepts fondamentaux de Machines et Deep Learning
• Réseaux de neurones artificiels : MLP, CNN
• Période d’incertitude des réseaux de neurones
• Catalyseur de l’Intelligence Artificielle
o Architectures Parallèles GPU (CUDA, OpenCL)
o Systèmes Distribués
o Application Mobile et IOT
o Algorithmes de MDL
o Framework de MDL
• Machines et Deep Learning avec TensorFlowJS : Architecture
o Architecture et Mise en oeuvre
• Machines et Deep Learning avec le Framework DL4J
o Architecture et Mise en oeuvre
Spring Boot is a framework for creating stand-alone, production-grade Spring based applications that can be "just run". It aims to provide a radically faster and widely accessible starting experience for developing Spring applications. Spring Boot applications can be started using java -jar or traditional WAR deployments and require very little Spring configuration. The document then discusses system requirements, development environment, creating a simple Hello World application, using Spring Boot Admin to monitor applications, configuring databases, Spring Data JPA, REST controllers, caching with EhCache, building web applications with Thymeleaf, and project structure.
The document discusses various methods for sharing data between Angular components, including:
1) Parent to child components using @Input to pass data via templates.
2) Child to parent using @ViewChild and AfterViewInit lifecycle hook to access child component properties.
3) Child to parent using @Output and event emitters to emit data on user events like button clicks.
4) Between unrelated components using a shared service with RxJs Subjects to share stream of data between all components accessing the service.
NestJS (https://nestjs.com/) is a Node.js framework for building server-side applications. This slide give you a brief introduction of Nest, and shows the examples like Service, Middleware, and Pipe, etc.
This Edureka "Node.js Express tutorial" will help you to learn the Node.js express fundamentals with examples. Express.js is flexible and minimal node.js web application framework that provides robust set of features to develop mobile and web applications. It facilitates the rapid development of node.js applications. Below are the topics covered in this tutorial:
1) Why Express.js?
2) What is Express.js?
3) Express Installation
4) Express Routes
5) Express Middlewares
The document discusses consuming REST web services with Android. It covers:
1) The need to have an online application, data formats like JSON and XML, and types of web services like SOAP and REST.
2) Transforming data received from web services into Java objects using libraries like Spring, Volley, and Google Gson.
3) Making HTTP requests to REST services and handling responses.
O documento discute os conceitos de web services, REST e SOAP. Define web services como sistemas de software que permitem a interação entre máquinas através de redes. Compara SOAP e REST, destacando que SOAP usa XML e HTTP enquanto REST usa métodos HTTP para acessar recursos representados por URIs.
O documento fornece uma introdução à arquitetura da Web, incluindo protocolos TCP/IP e HTTP, comunicação cliente-servidor, endereços IP e portas. Também discute o funcionamento básico do servidor e cliente Web, URLs, e ferramentas como XAMPP para desenvolvimento local.
O documento fornece uma introdução à arquitetura da Web, incluindo protocolos TCP/IP e HTTP, comunicação cliente-servidor, endereços IP e portas. Também discute o funcionamento básico do servidor e cliente Web, URLs, e ferramentas como XAMPP para desenvolvimento local.
O documento descreve o que é COMET e como ele pode ser usado para fornecer atualizações em tempo real de um servidor para um cliente web mantendo uma conexão persistente. Ele discute como COMET funciona, exemplos de implementação e como frameworks como CometD e DWR facilitam seu uso.
Web services permitem a integração e comunicação entre aplicações, permitindo que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Web services usam XML para enviar e receber dados entre aplicações e são identificados por URIs. SOAP é o padrão para troca de mensagens entre aplicações e web services.
Este documento discute processamento de dados XML, abordando:
1) Como escrever e ler documentos XML;
2) As etapas de leitura de um documento XML, que envolvem validação, substituição de entidades e verificação de formatos;
3) As interfaces e classes da API SAX usadas para processamento baseado em eventos.
O documento discute estratégias de comunicação entre aplicações distribuídas, incluindo Web Services. Web Services permitem a troca de dados entre aplicações através da web usando XML, HTTP e outras tecnologias. O documento também descreve como WSDL, SOAP, UDDI facilitam a descoberta e consumo de Web Services.
O documento descreve os principais conceitos do framework DWR, incluindo sua anatomia, configuração e utilização de creators e converters para mapear objetos entre JavaScript e Java. Ele também explica brevemente os tipos de frameworks Ajax e como o DWR encapsula a comunicação entre o cliente e o servidor através da especificação JSON.
O documento apresenta uma agenda de cursos sobre desenvolvimento web com AJAX e WEB 2.0. No primeiro dia, o curso irá cobrir XMLHttpRequest, API DOM, frameworks AJAX como ExtJS e Mootools e exemplo de aplicações. No segundo dia, os alunos irão finalizar um projeto de aplicação WEB 2.0 iniciado no dia anterior e ter uma conclusão sobre o assunto. O documento também fornece detalhes sobre as tecnologias abordadas no curso.
Aplicações de tempo real com Meteor.jsRafael Sales
O documento descreve o Meteor, uma plataforma open-source para criar aplicações web modernas em tempo real usando programação reativa e JavaScript no cliente e servidor. O Meteor permite compartilhar código e APIs entre cliente e servidor, incluindo a API do banco de dados, para facilitar o desenvolvimento.
O Java WSDP é um conjunto de tecnologias para desenvolver web services em Java, incluindo JAX-WS, JAXB, StAX e SAAJ. Ele fornece uma API simples para comunicação remota via XML e permite implementar serviços com anotações. O wsgen gera classes necessárias e o wsimport cria objetos para invocar serviços remotamente com base em WSDL.
1) O documento discute Servlets e JSP, tecnologias Java para desenvolvimento de aplicações web.
2) Servlets são objetos Java que estendem a funcionalidade de servidores HTTP de forma independente de plataforma.
3) JSPs permitem programação através da saída e inclusão de código Java em páginas, gerando um servlet na primeira requisição.
O documento apresenta uma introdução sobre web services, incluindo sua arquitetura, WSDL, protocolo SOAP e abordagens de desenvolvimento bottom-up e top-down. Dois exemplos de web services usando JDeveloper 12c são descritos.
Este documento discute Servlets e JSPs, incluindo por que usá-los, o que fazem clientes e servidores web, e como eles se comunicam usando HTML e HTTP. Também explica como containers mapeiam requisições para servlets usando um deployment descriptor.
1) Um firewall é um dispositivo de segurança que aplica políticas de rede em determinados pontos da rede para filtrar pacotes e proxy de aplicações entre redes TCP/IP.
2) Um roteador opera na camada 3 do modelo OSI para escolher a melhor rota para encaminhar pacotes entre redes de computadores.
3) Um switch reencaminha quadros entre nós de rede, identificando cada porta e evitando colisões entre segmentos.
O documento discute os fundamentos de servlets em Java, cobrindo tópicos como:
1) A estrutura básica de servlets com os métodos doGet, doPost e init que definem o ciclo de vida;
2) Como gerar respostas HTML e texto simples a partir de um servlet;
3) Que o código principal fica nos métodos doGet e doPost, enquanto o init é chamado uma única vez.
Este documento discute conceitos básicos de web services usando .NET. Web services permitem a execução remota de procedimentos através de HTTP e XML. O documento descreve como criar um web service simples para ler e escrever registros de vendas de um banco de dados remoto.
O documento discute entrada e saída de dados em Qt, incluindo leitura e escrita de dados binários e texto. Qt fornece a classe QIODevice como uma abstração poderosa para dispositivos de entrada e saída, e subclasses como QFile para acessar arquivos. QDataStream é usado para ler e escrever dados binários de forma independente de plataforma entre aplicações Qt.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
1. WDSL/UDDI
Universidade Federal do Pará
Instituto de Ciências Exatas e Naturais
Faculdade de Computação
Disciplina: Sistemas Distribuídos
Equipe:
Alexandre Monassa
Anderson Bandeira
Raphael Brito
3. Introdução a Web Services
Web Service é uma solução utilizada na
integração de sistemas e na comunicação entre
aplicações diferentes. Os Web Services são
componentes que permitem às aplicações
enviar e receber dados em formato XML. Cada
aplicação pode ter a sua própria "linguagem",
que é traduzida para uma linguagem universal,
o formato XML.
(Wikipédia)
4. Introdução a Web Services
●Descreve uma coleção de operacões;
●São acessados Remotamente;
●Usa padrão de mensagens XML;
●Ele descreve todos os detalhes para interagir
com o serviço:
○ Mensagens formatadas;
○ Protocolo de transporte e local;
○ Independência de hardware ou software;
○ Independência de linguagens de programação;
5. Lingaguem Universal,
de Marcação
WSDL
●Web Services Definition Language;
●Baseado na linguagem XML para descrever uma
interface de serviço web;
●Usa também SOAP para prover Web Services na
internet;
●Atualmente está na versão 2.0;
●Apresentaremos somente a versão 2.0;
●Responde a todas as requisições HTTP (GET e
POST);
●O WSDL define os serviços como uma coleção de
nós (endpoints) de rede capazes de trocar
mensagens;
Protocolo de troca de
informações estruturadas
em um Web Service
6. Introdução a Web Services
●Outras propriedades que os Web Services podem
ter:
●Um web service pode ser auto-descrito. Seu
serviço inclui documentação capaz de ser lida por
humanos e facilmente integravel a outros
serviços. A Gramática XML pode ser usada para
identificar todos os métodos públicos, argumentos
de métodos, e valores de retorno;
●Um web service pode ser descoberto. Quanto um
Web Service é criado ele pode ser publicado, e
mecanismos de pesquisa podem localizá-lo e
descobrir sua interface pública.
7. Exemplo de Web Service na
internet
●A Amazon.com possui um web Service com
outros parceiros como empresas de entrega;
●Um cliente que comprou um item sabe o
Status do produto (se já saiu ou está em que
parte do transporte);
●Assim quando um parceiro publica uma
informação atualizada contendo a
mensagem “Em transporte, cidade São
Paulo, tempo até Belém 2 dias”, o cliente
pode receber esta informação diretamente
do Amazon.com;
8. WSDL
●Defini mensagens e portas abstratas;
●Implementa essas mensagens e portas;
●A definição abstrata de mensagens e portas estão
separadas de suas implementações (semelhante
ao IDL do Corba);
●Uma porta é um endereço de rede com um nome
qualificador reusável pelo Web Service;
●Uma coleçao de portas define o serviço;
9. WSDL
●Mensagens são descrições abstratas dos
dados que serão trocados;
●O reuso de portas é feito pelas
especificações de dados e os protocolos
concretos;
●As portas e as mensagens são ligadas a
um determinado protocolo e formato de
mensagens;
●Dessa forma o WSDL descreve a interface
pública do Web Service;
10. WSDL
●Assim um Cliente que se conecta ao Web
Service poderá enxergar as operações
que estão disponíveis no servidor;
●Os tipos de dados no WSDL estão no
formato XML;
●O Cliente faz as chamadas para as
operações através do SOAP;
13. Elementos do WSDL
espaço de nomes
de destino
estilo de
documento
abstrato
estilo
requisição-
resposta como ond
e
types message interface bindings services
definitions
concreto
(Coulouris, 2007)
14. WSDL
●O WSDL Contém os seguintes elementos
de marcação:
○ Type
○ portType;
○ Message;
○ Operation;
○ Bind;
○ Service;
○ Port;
15. Elementos do WSDL
● Types: Descreve dados que são usados para descrever
mensagens;
<types>
<schema targetNamespace="http://example.com/stockquote.xsd“
xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="TradePrice">
...
</element>
</schema>
</types>
○ Port: Endereço ou ponto de conexão do web Service
16. ● Message: Uma mensagem corresponde a uma operação. A
mensagem contém a informação necessária para a performance da
operação.
<message name=“itemInformation”>
<part name=“theElement” element=“aliarForItem” />
</message>
● portType:Define um webService, a operação que será utilizada e as
mensagens que serão usadas para rodar a operação;
... <portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/> </operation>
</portType> ...
● Operações: São métodos ou chamadas de funções assim como em
Orientação a objetos;
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/> </operation>
</portType> …
Elementos do WSDL
17. ● Binding: Define a interface de transporte e estilo, assim como as operações;
● <binding name="StockQuoteSoapBinding“
type="tns:StockQuotePortType">
<soap:binding style="document“
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation
soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
● Port : Especifica um endereço para uma ligação, definindo então um endpoint único. Parte concreta do
WSDL
<port name="StockQuotePort“
binding="tns:StockQuoteBinding">
<soap:address location="http://example.com/stockquote"/>
</port>
● Service: Container de um conjunto de funções. Parte concreta do WSDL;
<wsdl:definitions .... >
Elementos do WSDL
18. Estrutura
●Estrutura principal do documento WSDL
<definitions>
<types>
definição de tipos........
</types>
<message>
definição de mensagens....
</message>
<portType>
definição de porta…
</portType>
<binding>
definiçao de binding (associação entre nome/endereço)....
</binding>
</definitions>
19. Tipos de operação
Tipo Definição
One-Way A operação pode receber uma
mensagem mas não retornará uma
resposta
Request-response A operação pode receber uma
requisição e retornará uma resposta
Solicit-response A operação pode enviar uma requisição
e esperar por uma resposta
Notification A operação pode enviar uma
mensagem mas não esperará por uma
resposta
20. Operação One-Way
● Exemplo:
<message name="newTermValues">
<part name="term" type="xs:string"/>
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="setTerm">
<input name="newTerm" message="newTermValues"/>
</operation>
</portType >
● A porta glossaryterms define uma operação one-way chamada
setTerm;
● SetTerm permite somente entrada de um novo termo de glossario ,
usando a mensagem newTermValue
21. Operação Request-Response
● Exemplo
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
● A Porta GlossaryTerms define uma operação Request-Response chamada getTerm;
● A operação getTerm requer um entrada chamada getTermRequest com o parâmetro
chamado term, e retornará, uma saída chamada getResponseTermResponse com o
parâmetro chamado valor
22. Operação Solicit-Reponse
● Exemplo
<wsdl:definitions .... >
<wsdl:portType .... > *
<wsdl:operation name="nmtoken" parameterOrder="
nmtokens">
<wsdl:output name="nmtoken"? message="qname"/>
<wsdl:input name="nmtoken"? message="qname"/>
<wsdl:fault name="nmtoken" message="qname"/>*
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
● A saída e a entrada estão invertidos como aparece no Request-response;
23. Operação Notification
●Exemplo
<wsdl:definitions .... >
<wsdl:portType .... > *
<wsdl:operation name="nmtoken">
<wsdl:output name="nmtoken"? message="
qname"/>
</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
O elemento output significa que somente uma
notificação será enviada ao cliente;
25. Exemplo de código
● Tag de definição que diz que esta é um framework wsdl, o targetnamespace aponta
para a URI do serviço;
<wsdl:definitions targetNamespace="http://localhost:8080/axis/Servico.jws">
● A tag message, representa uma definição abstrata do dado sendo transmitido. Uma
mensagem consiste de partes lógicas, cada uma associada com uma definição.
<wsdl:message name="somaResponse">
● A tag part define a lógica abstrata do conteúdo da mensagem.
<wsdl:part name="somaReturn" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="somaRequest">
<wsdl:part name="valor1" type="xsd:int"/>
<wsdl:part name="valor2" type="xsd:int"/>
</wsdl:message>
● A tag portType defini um conjunto abstrato de operações. Cada operação refere-se a
uma mensagem de entrada e uma mensagem de saída.
<wsdl:portType name="Servico">
26. Exemplo de código
<wsdl:operation name="soma" parameterOrder="valor1 valor2">
● Operação request-response (input/output);
<wsdl:input message="impl:somaRequest" name="somaRequest"/>
<wsdl:output message="impl:somaResponse" name="somaResponse"/>
</wsdl:operation>
</wsdl:portType>
● A tag binding define um protocol concreto e uma especificação de formato
de dados para a operações e mensagens definidas por um portType.
Neste caso, a tag type refere-se à servico
<wsdl:binding name="ServicoSoapBinding" type="impl:Servico">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.
org/soap/http"/>
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="somaRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.
org/soap/encoding/" namespace="http://DefaultNamespace" use="
encoded"/>
</wsdl:input>
27. Exemplo de código
<wsdl:output name="somaResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://localhost:8080/axis/Servico.jws" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
A tag Service define um conjunto de portas usadas
<wsdl:service name="ServicoService">
<wsdl:operation name="soma">
● A Tag define um endereço para o serviço;
<wsdl:port binding="impl:ServicoSoapBinding" name="Servico">
<wsdlsoap:address location="http://localhost:8080/axis/Servico.jws"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
28. Exemplo Prático
●Escolhemos o servidor Web Apache versão 5.5
para windows
●O Web Service Apache Axis Para suportar os
webservices
●A pasta de publicação no windows é a
webapps/axis
●Existem dois códigos o Servidor e o cliente;
●O servidor executa as operações de soma,
multificação, divisão, subtração;
●O Cliente envia a requisição com o pedido de
cálculo contendo os parametros do servidor
(números e a operação em si).
29. Exemplo Prático
● Servidor :
public class Servico {
public int soma(int valor1, int valor2) {
return valor1 + valor2;
}
public int subtracao(int valor1, int valor2) {
return valor1-valor2;
}
public int multiplicacao(int valor1, int valor2) {
return valor1*valor2;
}
public float divisao(int valor1, int valor2) {
return valor1/valor2;
}
}//fim de classe
30. Cliente
import org.apache.axis.client.Service;
import org.apache.axis.client.Call;
public class Cliente {
public static void main(String[] args) throws Exception {
// Endereço, local onde encontra-se o Web Service
String local = "http://localhost:8080/axis/Servico.jws";
// Criando e configurando o serviço
Call call = (Call) new Service().createCall();
// Configurando o endereço.
call.setTargetEndpointAddress(local);
// Marcando o método a ser chamado.
call.setOperationName("soma");
// Parâmetros da função.
Object[] param = new Object[]{new Integer(2),new Integer(4)};
// Retorno da Função
int ret = (Integer)call.invoke(param);
// Imprime o resultado: .
System.out.println("Resultado soma : " + ret);
Uso da Biblioteca
apache.axis
31. Cliente
call.setOperationName("subtracao");
// Parâmetros da função.
param = new Object[]{new Integer(2),new Integer(4)};
// Retorno da Função
ret = (Integer)call.invoke(param);
// Imprime o resultado: .
System.out.println("Resultado subtracao: " + ret);
call.setOperationName("multiplicacao" );
param = new Object[]{new Integer(2),new Integer(4)};
// Retorno da Função
ret = (Integer)call.invoke(param);
// Imprime o resultado: .
System.out.println("Resultado multiplicao: " + ret);
}
}
33. UDDI
"Um componente importante da arquitetura de serviços
Web é formado por um serviço de diretório que armazena
descrições de serviços. Esse serviço obedece ao padrão
integração, descoberta e descrição universal (Universal
Description, Discovery and Integration - UDDI). Como seu
nome sugere, o UDDI prescreve o layout de um banco de
dados que contém descrições de serviços. Estas permitirão
a clientes de serviços Web procurar serviços relevantes."
(Tanenbaum, 2007)
34. UDDI
● Universal Description, Discovery and Integration
● Atualmente está na versão 2;
● é um protocolo que especifica um método para publicar e
descobrir diretórios de serviços em uma arquitetura orientada
a serviços (SOA).
● Um serviço de registro UDDI é um WebService que gerencia
informação sobre provedores, implementações e metadados
de serviços.
● Provedores de serviços podem utilizar UDDI para publicar os
serviços que eles oferecem.
● Usuários de serviços podem usar UDDI para descobrir
serviços que lhes interessem e obter os metadados
necessários para utilizar esses serviços.
35. UDDI
A especificação UDDI define:
●APIs SOAP utilizadas para publicar e
obter informações de um registro UDDI
●Esquemas XML do modelo de dados do
registro e do formato das mensagens
SOAP
●Definições WSDL;
36. UDDI
●Três componentes de Registro: Yellon Pages, White
Pages, Green pages.
●Páginas Brancas: Incluem informação geral sobre
uma empresa específica, como por exemplo, nome
de um negócio, descrição do negócio, informação de
contato, endereço, números de telefone, fax, ou
mesmo incluir identificadores de negócios (business
identifiers). Por exemplo, 7371 representa Serviços de
Programação de Computadores e 2621 representa
Paper Mills.
●Páginas Amarelas: Essas incluem dados de
classificação geral para qualquer empresa ou
serviço oferecido. Por exemplo, esses dados podem
incluir a indústria, o produto, ou códigos geográficos
37. UDDI
●Páginas Verdes: são usadas para indicar os
serviços oferecidos por cada negócio, incluindo
todas as informações técnicas envolvidas na
interação com o serviço. explica como fazer a
comunicação com eles.
●Geralmente, essa informação inclui um apontador
(ponteiro) para uma especificação externa e um
endereço para invocar o serviço. UDDI não é
restrito a descobrir serviços baseados em SOAP.
Ao contrário, pode ser usado também, para
descrever qualquer serviço, desde uma única
página Web ou endereços de email, até serviços
CORBA, Java RMI, ou mesmo, serviços EJB
38. UDDI
●Clientes podem usar as páginas amarelas
para procurar uma categoria particular de
serviços tais como agências de viagens e
livrarias;
●Ou eles podem usar as páginas brancas
para procurar um serviço com referência
para a organização que provê ele;
39. Arquitetura UDDI
●UDDI Data Model: Um Esquema XML para
descrição de negócios e serviços web.
●UDDI API: É uma API baseada em SOAP
para pesquisa e publicação de dados UDDI.
●UDDI cloud services: é uma implementação
operacional completa da especificação
UDDI. Tal parte habilita qualquer um a
buscar dados UDDI existentes, e também, a
qualquer empresa registrar-se a si própria e
seus respectivos serviços
40. Estrutura de dados (data
Models)
bussinessEntity
Informações de
alto nível,
capazes de
serem lidas por
seres humanos
sobre o
publicador
bussinessService
s
Informações de
alto nível,
capazes de
serem lidas por
seres humanos
sobre a família
de serviços
bindingTemplate
Informações
sobre a interface
de serviço
tModel
Descrição do
serviço
UR
L
41. Estrutura de dados
●bussinessEntity: Descreve a organização que
fornece os serviços, mostrando nome, endereço e
atividades;
●BussinessServices: Armazena informações sobre
um conjunto de instâncias e referências para
descrição de serviços;
●BindingTemplate: Armazena os endereços dos
webservices e as referencias para as descrições
do serviço;
●tModel: Mantém descrição de serviços,
geralmente documentos WSDL, localizados for a
da base de dados e acessados via URLs;
42. Processo de Descoberta
(Discovery)
●O processo de localizar serviços na Web
através de registries.
●Registries de serviços na Web são
repositórios contendo documentos que
descrevem dados de negócios.
●Registries, também, proporcionam
características tais como, capacidade de
busca e acesso programático para
aplicações remotas
43. Discovery
●Usando um registry, uma organização que
deseja utilizar, um serviço para processar
pagamentos de tickets de alimentação, pode
localizar todos os serviços disponíveis
publicamente, que proporcionam a
necessária funcionalidade;
●A organização pode comparar serviços e
então tomar a decisão, de qual serviço,
melhor se ajusta às necessidades da
organização.
44. Discovery
●Discovery pode ser caracterizado em Discovery
direto ou Discovery indireto
●Discovery direto é o processo de obter dados a
partir de um registry mantido por um provedor
de serviço. Dados obtidos por Discovery direto
são mais precisos e, portanto, confiáveis, visto
que a organização que provê a informação
também opera o serviço na Web.
●Com discovery indireto, uma organização obtém
dados através de uma terceiro registry, cujos
dados podem não ser precisos, porque
provedores de serviço poderiam não atualizar
informação nesse registry tão freqüentemente.
45. UDDI API
●API para publicação e pesquisa de dados;
●Para pesquisas há dois tipos de
classificação: API find e API get;
●A API find é usado para reter uma lista
de referencias para dados UDDI usando
uma critério de busca;
●A API get é usada para retornar o atual
conteúdo da entidade de dado;
46. UDDI API
A tabela a seguir resume os métodos de pesquisa
UDDIFind API Get API
find_binding: localiza um binding
dentro de um registro
bussinessService
get_bindingDetail: retorna a
informcaçao de bindingTemplate
find_business: Localiza informação
sobre um ou mais negócios.
get_businessDetail: Retorna a
informação da businessEntity para uma
ou mais negócios ou organizações.
find_service: localiza um serviço
específico dentro de um registro
bussinessEntity
get_businessDetailExt: Retorna a
informação extendida de businessEntity.
find_tModel: retorna informação
completa do bussinessEntity;
get_serviceDetail: Retorna o detalhes
completo para um dado conjunto de
registros de dados do businessService
data.
47. Publicação
●UDDI fornece uma interface para publicar e
atualizar informações sobre serviços;
●Na primeira vez que o serviço é publicado no
servidor UDDI, Uma chave é usada para
identificá-lo;
●Pode-se criar, atualizar e deletar os registros
UDDI já publicados ;
●Assim a qualquer momento as entradas
businessEntity, businessService,
bindingTemplate, tModel, podem ser
alteradas.
48. Bibliografia
● COULOURIS, G. , DOLLIMORE, J., KINDBERG, T. Sistemas Distribuídos
- Conceitos e Projeto. 4ª ed - São Paulo: Bookman, 2007.
● TANENBAUM, Andrew S. Sistemas Distribuídos: princípios e paradigmas.
2ª ed - São Paulo: Pearson Prentice Hall, 2007. 334p.
● http://www.w3.org/TR/wsd
● Building Web Services with Java;
● Web Services Essential;
● http://pt.wikipedia.org/wiki/Web_service
●http://uddi.org/pubs/ProgrammersAPI-V2.
04-Published-20020719.htm