Escolar Documentos
Profissional Documentos
Cultura Documentos
61 230 1 PB
61 230 1 PB
Abstract. The communication between databases through Web Services consists in sending
and receiving data using a communication protocol that works over Internet, without
access restrictions from an operational system or specific programming language. The
goal of this paper was to demonstrate how the use of Web Services can facilitate the send
and receiving of information over the HTTP¹ protocol, between distinct databases, one of
them located in a mobile device. The integration was successfully performed and enabled
the data exchange using the Web Service as an intermediate layer between databases,
verifying its effectiveness in communication even among distinct technologies.
Resumo. A comunicação entre bancos de dados através de Web Services consiste no envio
e recebimento de dados utilizando um protocolo de comunicação que atue sobre a Internet,
sem que esse acesso esteja restrito a um sistema operacional ou linguagem de
programação específica. O objetivo deste artigo foi demonstrar como o uso de Web
Services pode facilitar o envio e recebimento de informações sobre o protocolo HTTP1
entre bancos de dados distintos, sendo um deles localizado num dispositivo móvel. A
integração foi realizada com êxito e possibilitou a troca de dados utilizando um Web
Service como camada intermediária entre os bancos de dados, confirmando sua eficácia na
comunicação mesmo entre tecnologias distintas.
96
Página
1
HyperText Transfer Protocol: é o principal protocolo para troca de dados entre browsers e servidores Web. [Cerami
2002].
[Benz e Durant 2003]. O uso desse formato visa atender a uma necessidade surgida nos últimos anos
de trafegar as requisições com facilidade sobre os firewalls das empresas e sobre a Internet, ao
Página
3. Bancos de Dados
3.1. SQL Server
O SQL Server é o principal banco de dados da Microsoft. Tornou-se popular na época de seu
lançamento por conta da facilidade de manuseio e interface amigável, sendo uma alternativa viável
para pequenos, médios e grandes negócios. Passou por grandes evoluções e atualmente é considerado
um dos grandes players disponíveis no mercado [Dewson 2008].
Conforme MSDN (2013a), a partir da versão 2005 do SQL Server já é possível criar Web
Services a partir de pontos de extremidade para serem consumidos por qualquer aplicação que se
utilize da Web. Isso possibilita que aplicações que não suportam provedores SQL Server possam
realizar consultas, bem como permitir que aplicações ou bancos de dados remotos acessem seus
dados utilizando o protocolo de comunicação HTTP. Outra vantagem é que a resposta de uma
99
solicitação a um Web Service é codificada no formato XML, não sendo necessário estabelecer uma
conexão permanente com o banco de dados [MSDN 2013c].
Página
3.2 SQLite
Segundo SQLITE (2012) trata-se de um banco de dados compacto e de fácil utilização, sendo uma
ferramenta que permite aos desenvolvedores armazenar os dados de suas aplicações em tabelas e
manipular esses dados utilizando comandos de Structured Query Language (SQL). Seu uso é
recomendado em sistemas e aplicativos para dispositivos móveis, não sendo apropriado para
aplicações de maior porte [SQLITE 2012].
Conforme Kreibich (2010), apesar de possuir restrições se comparado a um banco de dados
corporativo, é mais vantajoso optar pelo uso do SQLite em aplicações de pequeno porte tendo em
vista as garantias fornecidas em relação à atomicidade, consistência, isolamento e durabilidade dos
dados (ACID), possibilidade do uso da maioria dos recursos de linguagem de consulta (SQL), além
de permitir a criação de procedimentos armazenados (stored procedures) e uso de constraints entre
objetos do banco de dados.
Figura 2. Diagrama das bases de dados VENDA (SQL Server 2008 R2 e SQLite 3.7.16.2).
Fonte: Luciana J. Sabino.
100
No SQL Server com o uso de um Endpoint foram expostos três métodos que se utilizam de
procedimentos armazenados (stored procedures) responsáveis por fornecer uma lista dos produtos
advindos da tabela Produto (prc_vw_produto) e inserir pedidos e seus itens nas tabelas Pedido e
Página
É possível identificar no contrato gerado os seis grandes itens descritos por Cerami (2002)
que compõe a descrição do Web Service (WSDL):
a) definitions: este deve ser o elemento raiz (root) do documento; ele define o nome do Web
Service, declara múltiplas namespaces que serão utilizadas ao longo do documento e
contém todos os elementos dos serviços;
b) types: descreve todos os tipos de dados utilizados entre o cliente e o servidor;
c) message: descreve uma mensagem do tipo que somente é uma requisição ou resposta
(one-way) – contém o nome da mensagem;
d) portType: esse elemento combina múltiplos elementos message para formar uma
operação completa de mão única (one-way) ou ida e volta (round-trip);
e) binding: descreve como o serviço será implementado;
f) service: define o endereço para a chamada do serviço especificado, é muito comum o uso
de uma URL para invocar o serviço SOAP.
Com o documento WSDL disponibilizado a partir do SQL Server, foi desenvolvido um
segundo Web Service utilizando a linguagem C-sharp (C#) destinado a consumir os métodos
expostos tornando-se desta forma uma camada intermediária entre a interface do dispositivo móvel e
o SQL Server. Procedeu-se desta maneira para demonstrar o comportamento do modelo application-
centric Web descrito em Cerami (2002). O autor destaca que com o advento dos Web Services, o
usuário, antes tido como ator principal que iniciava a maioria das solicitações na Web, passou a
dividir essa posição com as aplicações que interagem diretamente com outros serviços, de forma tão
simplificada quanto solicitações realizadas entre browsers e servidores. Exemplos deste modelo
podem ser identificados quando uma aplicação solicita a um Web Service a validação de um número
de cartão de crédito ou informações sobre o clima de determinada região. Baseado nesta proposta e
102
conforme demonstrado na Figura 5, este projeto contempla os modelos human-centric Web quando o
usuário realiza a solicitação através da aplicação no dispositivo móvel e o modelo application-
centric Web quando o Web Service em C# interage com os métodos expostos pelo documento WSDL
Página
Valor \ Tag < IDPRD_PRODUTO > < DESCRICAO > < QUANTIDADE > < VALOR >
Para o desenvolvimento da aplicação a ser utilizada pelo dispositivo móvel que fará a
integração entre o SQLite e o Web Service em C#, foi escolhido o software Eclipse, pois este é tido
como a ferramenta preferida pelo Google para desenvolvimento na plataforma Android [Lecheta
2010]. Neste projeto optou-se pelo uso da versão 2.3.3 (Gingerbread) desta plataforma por ser até
hoje a versão mais utilizada nos dispositivos que contém o referido sistema operacional [Developers
2013]. A Figura 9 apresenta a tela inicial da aplicação. O botão Recebe Informações é responsável
por invocar o método RetornaProduto contido no Web Service WSVenda.
104
Ainda na Figura 10 há o botão Grava Pedido – ao clicá-lo, os dados inseridos na lista são
gravados no SQLite. É gerado um novo registro na tabela Pedido e os itens relacionados a este são
inseridos na tabela Item_Pedido. Na sequência os campos do cadastro são limpos para receber a
entrada de novos dados para cadastro. É possível inserir vários pedidos com diversos itens através da
aplicação.
Para efeito de demonstração procederemos ao envio do pedido exibido na Figura 10 e seus
dois itens ao SQL Server. Para tanto o usuário deve clicar no botão Envia Informações (Figura 9),
este botão fará a chamada ao método InserePedido, cujo retorno será um número referente ao pedido
105
inserido na tabela Pedido do SQL Server. Na sequência, utilizando o número do pedido gerado é feita
a chamada ao método InsereItemPedido, que deve receber os parâmetros referentes ao número do
pedido gerado, como o identificador do produto selecionado, quantidade solicitada do produto e
Página
valor do item digitado pelo usuário. Todos os itens referentes ao pedido são enviados ao método para
5. Resultados
Na Figura 11 é possível visualizar os produtos existentes na tabela Produto do SQL Server (à
esquerda) e SQLite (à direita). Os dados serão inseridos no SQLite através da aplicação
desenvolvida.
Figura 11. Dados da tabela Produto no SQL Server (5 linhas) e SQLite (0 linhas).
Fonte: Luciana J. Sabino.
A seguir na Figura 12 pode-se verificar o trecho de código da aplicação que se utiliza do
envelope SOAP e o log gerado pela ferramenta Eclipse, que mostra parte do conteúdo de retorno do
método RetornaProduto, executado pelo botão Recebe Informações da aplicação:
106
Figura 12. Trecho de código da aplicação Android e retorno dos dados em XML.
Fonte: Luciana J. Sabino.
agora inseridos no SQLite. Com o uso da instrução Select combinamos as tabelas Pedido, Produto e
Item_Pedido utilizando a instrução Inner Join para visualizar os dados completos do pedido, tais
108
Página
109
Página