Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf ·...

24
PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO WEB SERVICES Orientador: Prof. Paulo Fernando da Silva Sérgio Koch Van-Dall [email protected] UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIAS DA COMPUTAÇÃO - BACHARELADO

Transcript of Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf ·...

Page 1: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO

WEB SERVICES

Orientador: Prof. Paulo Fernando da Silva

Sérgio Koch [email protected]

UNIVERSIDADE REGIONAL DE BLUMENAUCURSO DE CIÊNCIAS DA COMPUTAÇÃO - BACHARELADO

Page 2: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

ROTEIRO

� Introdução� Objetivos� Fundamentação Teórica

� .NET� XML� SOAP� Web Services

� Desenvolvimento� Resultados e Discussão� Conclusão� Extensões

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

Page 3: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

�Enorme crescimento no número de redes de computadores e a complexidade de seus softwares;�Necessidade da comunicação entre eles para que possam compartilhar informações e trabalharem de forma cooperativa;�Independência de arquitetura, sistema operacional e linguagem de programação;

�Uso de Web Services para resolver a interoperacionalidade das aplicações;

�Uso do XML como um formato padrão na comunicação e troca de informação entre as aplicações.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

INTRODUÇÃO

Page 4: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

O objetivo principal é a criação de um protótipo para atualização assíncrona de dados no servidor de banco de dados utilizandoWeb Services através do protocolo SOAP.Objetivos específicos:�utilizar XML como uma linguagem de marcação para a confecção dos documentos utilizados no intercâmbio das informações;�criar umWeb Service para guardar as informações de forma estruturada no arquivo XML;�gerar atualização assíncrona dos dados no servidor de banco de dados através da chamada doWeb Service; �criar uma aplicação cliente para demonstração do protótipo.

OBJETIVOS

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

Page 5: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

É uma plataforma para desenvolvimento e execução de software, criada visando o desenvolvimento de software para a internet e aplicações distribuídas.

Características:�Independência de Sistema Operacional;

�Integração entre Linguagens;�Confiabilidade;

�Facilidade de Distribuição.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

FUNDAMENTAÇÃO TEÓRICA.NET

Page 6: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

FUNDAMENTAÇÃO TEÓRICA.NET

Visual BasicVisual Basic

CompilCompil adoado rr

C++C++C#C#

CompilCompil adoado rrCompilCompil adoado rr

AssemblyAssemblyCódigo em Código em ILIL

ServiçosServiços básicosbásicos do SOdo SO

Common language runtimeCommon language runtime

Compilador JITCompilador JIT

CódigoCódigo nativonativo

ComponenteComponentenãonão

gerenciadogerenciadoAssemblyAssembly

Código em Código em ILILAssemblyAssembly

Código em Código em ILIL

CódigoCódigoFonteFonte

CódigoCódigoGerenciadoGerenciado

Page 7: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

É uma linguagem de marcação com um formato padrão para comunicar dados estruturados entre aplicações e sistemas de computadores, mesmo quando estão envolvidas múltiplas arquiteturas, linguagens de programação e padrões.Consiste de elementos e atributos que implementam uma hierarquia de árvore.�Pode ser usado para:

–Formato de ligação (para transferência de dados entre cliente e servidor);–Formato de troca de informação (por exemplo: entre a aplicação e a base de dados);–Formato persistente (para guardar dados).

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

FUNDAMENTAÇÃO TEÓRICAXML ( eXtensive Markup Language)

Page 8: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

É um protocolo padrão para troca de informações entre aplicações, independente de sistema operacional, linguagem de programação ou modelo de objeto.Utilizado para implementar chamadas de procedimentos remotos e trocar dados entre o código que utiliza um serviço web (o cliente) e o serviço web propriamente dito (o servidor).Vantagens:�Capacidade de transpor firewalls facilmente ao ser utilizado sobre o HTTP;�Utiliza a estruturação de dados XML;�É satisfatoriamente mapeado no padrão solicitação/resposta do HTTP.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

FUNDAMENTAÇÃO TEÓRICASOAP (Simple Object Acess Protocol)

Page 9: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

Troca de Mensagens:

É feita através da sintaxe de envelope para envio e recebimento de mensagens XML que são enviadas sobre HTTP entre clientes e Web Services.

Contêm os seguintes elementos SOAP:

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

FUNDAMENTAÇÃO TEÓRICASOAP (Simple Object Acess Protocol)

Corpo (elemento obrigatório)

Cabeçalho (elemento opcional)

Envelope (elemento raiz obrigatório)

Page 10: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

É uma tecnologia de chamada remota de objetos, usado para disponibilizar serviços interativos na web.Características:�Plataforma Web;�Interoperacionalidade;�Reuso;�Fraco acoplamento.

Vantagens:�Simplicidade;�Padrões abertos;�Flexibilidade;�Escopo.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

FUNDAMENTAÇÃO TEÓRICAWEB SERVICES

Page 11: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

�Dificuldade na comunicação entre as aplicações de diferentes empresas;

�Comunicação e troca dos dados de forma simples e transparente em um sistema heterogêneo;

�Desenvolver um protocolo independente de arquitetura, sistema operacional e linguagem de programação, para comunicar-se em um sistema distribuído.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

DESENVOLVIMENTOMOTIVAÇÃO

Page 12: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

DESENVOLVIMENTOCENÁRIO

Page 13: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

Requisitos Funcionais:�realizar o acesso aosWeb Services através de uma aplicação cliente;�realizar o acesso aosWeb Services através de um cliente servidor de banco de dados;�realizar atualização assíncrona no servidor de banco de dados através deWeb Services utilizando o protocolo SOAP.

Requisitos Não Funcionais:�utilizar um arquivo XML como uma linguagem de marcação para a confecção das informações que serão compartilhadas.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

DESENVOLVIMENTOPRICIPAIS REQUISITOS

Page 14: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

Utiliza um servidor de Web Services que disponibiliza métodos para gravação e leitura de um arquivo no formato XML.

Consiste em classes que fazem referência as respostas e tratamentos efetuados no servidor de Web Services aos métodos invocados remotamente pela aplicação cliente e pelo servidor de banco de dados.

As classes são apresentadas através de diagramas UML.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

DESENVOLVIMENTOESPECIFICAÇÃO

Page 15: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

DESENVOLVIMENTOAPLICAÇÃO CLIENTE (Diagrama de Classe)

«struct» Cliente

+ Bairro: String + CEP: String + Cidade: String + CNPJ_CPF: String + Email: String + Endereco: String + Fone: String + Nome: String + Numero: String

«struct» Solicitacao

+ BairroEntr: String + CEPEntr: String + CidadeEntr: String + CNPJ_CPF_Entr: String + EmailEntr: String + EnderecoEntr: String + FoneContEntr: String + NumeroEntr: String + ObservacaoEntr: String + QtdCaixas: Integer

conteudoXML + dadosCliente: Cliente + dadosSolicitacao: Solicitacao

+ conteudoXML(dadosClienteXML :Cliente, dadosSolicitacaoXML :Solicitacao) + dadosXML() : String

+dadosSolicitacao +dadosCliente

Aplic_Cliente_Web

+ gravarConteudoXML()

��

Service_Grava_XML + Cria_arquivo_XML(nomeArquivo :String, elementoPai :String) : Boolean + Grava_XML(nomeArquivo :String, conteudoXML :String) : Boolean

Page 16: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

DESENVOLVIMENTOSERVIDOR DE BD (Diagrama de Classe)

frmAtualizandoBD

+ AtualizaBD()

Service_Le_XML

+ Ler_Arquivo_XML(nomeArquivo :String, stGravacaoBD :String, nomeTabela :String*, camposTabela :String*, vlCamposTabela :String*) : Boolean

+ Verifica_arquivo_XML(nomeArquivo :String) : Boolean

Page 17: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

DESENVOLVIMENTOCASOS DE USO

�������������������������� ��������������������������

Ap lic aç ão C lie n te

C ria r a rq u ivo X M L

S e rv id o r d e W eb S erv ice s

G ravar a rq u ivo X M L

L er a rq u ivo X M L

S erv id o r d e B an co d e D a d o s

A tu a liza r b ase d e d ad o s

B u scar in fo rm açõ es d o

arq u ivo X M L

E n via r in fo rm açõ es p a ra

arq u ivo X M L

Page 18: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

�Aplicação cliente consiste em uma aplicaçãoWeb Formdesenvolvida em VB .Net no formato ASP;

�Os Web Services consistem em classes em VB .Net que contém métodos que são invocados através de mensagens SOAP;

�O servidor de banco de dados é uma aplicação cliente baseada em Windows Form, utiliza o banco de dados MSDE;

�Foi utilizado o servidor Internet Information Server (IIS), responsável por disponibilizar as classes que fornecem os serviços web e gerenciar a troca de mensagens.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

DESENVOLVIMENTOIMPLEMENTAÇÃO

Page 19: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

�Realiza o envio de informações de forma estruturada para um arquivo no formato XML através de uma aplicaçãoweb, disponível em um local remoto comum entre as aplicações;

�Permite a leitura destas informações e atualização da base de dados de forma assíncrona, através de um aplicativo servidor de banco de dados;

�A linguagem XML com o protocolo SOAP pode integrar sistemas distintos mais facilmente se comparado com outros padrões de integração existentes atualmente;

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

RESULTADOS E DISCUSSÃO

Page 20: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

�Forneceu suporte adequado à atualização das informações contidas no arquivo XML em um banco de dados SQLServer(MSDE), podendo ser facilmente substituído por outros, tais como,MySQL, Oracle, Interbase entre outros;

�Pode ser visto como ummiddleware responsável por disponibilizar um arquivo no formato XML, podendo assim, efetuar a integração de sistemas distintos através de um ambiente distribuído, utilizando um formato padrão na comunicação e troca de informações entre os mesmos.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

RESULTADOS E DISCUSSÃO

Page 21: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

�Este trabalho alcançou na íntegra seu objetivo principal;

�O uso de servidor IIS para gerenciar a troca de informações e a comunicação entre as aplicações no cenário compostodemonstrou uma funcionalidade satisfatória;

�O uso do XML e .NET é sem dúvida muito interessante, pois além de conhecer funcionalidades do XML, também foi possível descobrir e utilizar uma plataforma de desenvolvimento que oferece suporte a múltiplas linguagens de programação.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

CONCLUSÃO

Page 22: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

Dificuldades:�falta de experiência em trabalhar com XML;

�não conhecimento da linguagem de programação VB .NET e das funcionalidades da plataforma .NET.

Limitações:�requer o .NETFramework SDK;

�rodar somente no servidor IIS.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

CONCLUSÃO

Page 23: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

�Possibilitar a criação de novas tabelas no servidor de banco de dados a partir do arquivo XML;

�Efetuar a alteração dos dados já inseridos na tabela no servidor de banco de dados a partir do arquivo XML;

�Utilizar outras linguagens de programação para a aplicaçãoweb, como PHP ou JSP, possibilitando assim, o uso de outros servidores, como o Apache ou oTomcat.

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTIL IZANDO WEB SERVICES

EXTENSÕES

Page 24: Sérgio Koch Van-Dalldsc.inf.furb.br/arquivos/tccs/apresentacoes/2006-1sergiokochvan-dallap.pdf · de programação; Uso de Web Services para resolver a interoperacionalidade das

PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO

WEB SERVICES

OBRIGADO !!!