Beruflich Dokumente
Kultur Dokumente
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 comunicao entre bancos de dados atravs de Web Services consiste no envio
e recebimento de dados utilizando um protocolo de comunicao que atue sobre a Internet,
sem que esse acesso esteja restrito a um sistema operacional ou linguagem de
programao especfica. O objetivo deste artigo foi demonstrar como o uso de Web
Services pode facilitar o envio e recebimento de informaes sobre o protocolo HTTP1
entre bancos de dados distintos, sendo um deles localizado num dispositivo mvel. A
integrao foi realizada com xito e possibilitou a troca de dados utilizando um Web
Service como camada intermediria entre os bancos de dados, confirmando sua eficcia na
comunicao mesmo entre tecnologias distintas.
96
Pgina
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 requisies com facilidade sobre os firewalls das empresas e sobre a Internet, ao
Pgina
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
lanamento por conta da facilidade de manuseio e interface amigvel, sendo uma alternativa vivel
para pequenos, mdios e grandes negcios. Passou por grandes evolues e atualmente considerado
um dos grandes players disponveis no mercado [Dewson 2008].
Conforme MSDN (2013a), a partir da verso 2005 do SQL Server j possvel criar Web
Services a partir de pontos de extremidade para serem consumidos por qualquer aplicao que se
utilize da Web. Isso possibilita que aplicaes que no suportam provedores SQL Server possam
realizar consultas, bem como permitir que aplicaes ou bancos de dados remotos acessem seus
dados utilizando o protocolo de comunicao HTTP. Outra vantagem que a resposta de uma
99
solicitao a um Web Service codificada no formato XML, no sendo necessrio estabelecer uma
conexo permanente com o banco de dados [MSDN 2013c].
Pgina
3.2 SQLite
Segundo SQLITE (2012) trata-se de um banco de dados compacto e de fcil utilizao, sendo uma
ferramenta que permite aos desenvolvedores armazenar os dados de suas aplicaes em tabelas e
manipular esses dados utilizando comandos de Structured Query Language (SQL). Seu uso
recomendado em sistemas e aplicativos para dispositivos mveis, no sendo apropriado para
aplicaes de maior porte [SQLITE 2012].
Conforme Kreibich (2010), apesar de possuir restries se comparado a um banco de dados
corporativo, mais vantajoso optar pelo uso do SQLite em aplicaes de pequeno porte tendo em
vista as garantias fornecidas em relao atomicidade, consistncia, isolamento e durabilidade dos
dados (ACID), possibilidade do uso da maioria dos recursos de linguagem de consulta (SQL), alm
de permitir a criao 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 trs mtodos que se utilizam de
procedimentos armazenados (stored procedures) responsveis por fornecer uma lista dos produtos
advindos da tabela Produto (prc_vw_produto) e inserir pedidos e seus itens nas tabelas Pedido e
Pgina
possvel identificar no contrato gerado os seis grandes itens descritos por Cerami (2002)
que compe a descrio do Web Service (WSDL):
a) definitions: este deve ser o elemento raiz (root) do documento; ele define o nome do Web
Service, declara mltiplas namespaces que sero utilizadas ao longo do documento e
contm todos os elementos dos servios;
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 requisio ou resposta
(one-way) contm o nome da mensagem;
d) portType: esse elemento combina mltiplos elementos message para formar uma
operao completa de mo nica (one-way) ou ida e volta (round-trip);
e) binding: descreve como o servio ser implementado;
f) service: define o endereo para a chamada do servio especificado, muito comum o uso
de uma URL para invocar o servio 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 mtodos
expostos tornando-se desta forma uma camada intermediria entre a interface do dispositivo mvel 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
usurio, antes tido como ator principal que iniciava a maioria das solicitaes na Web, passou a
dividir essa posio com as aplicaes que interagem diretamente com outros servios, de forma to
simplificada quanto solicitaes realizadas entre browsers e servidores. Exemplos deste modelo
podem ser identificados quando uma aplicao solicita a um Web Service a validao de um nmero
de carto de crdito ou informaes sobre o clima de determinada regio. Baseado nesta proposta e
102
conforme demonstrado na Figura 5, este projeto contempla os modelos human-centric Web quando o
usurio realiza a solicitao atravs da aplicao no dispositivo mvel e o modelo application-
centric Web quando o Web Service em C# interage com os mtodos expostos pelo documento WSDL
Pgina
Valor \ Tag < IDPRD_PRODUTO > < DESCRICAO > < QUANTIDADE > < VALOR >
Para o desenvolvimento da aplicao a ser utilizada pelo dispositivo mvel que far a
integrao 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 verso 2.3.3 (Gingerbread) desta plataforma por ser at
hoje a verso mais utilizada nos dispositivos que contm o referido sistema operacional [Developers
2013]. A Figura 9 apresenta a tela inicial da aplicao. O boto Recebe Informaes responsvel
por invocar o mtodo RetornaProduto contido no Web Service WSVenda.
104
inserido na tabela Pedido do SQL Server. Na sequncia, utilizando o nmero do pedido gerado feita
a chamada ao mtodo InsereItemPedido, que deve receber os parmetros referentes ao nmero do
pedido gerado, como o identificador do produto selecionado, quantidade solicitada do produto e
Pgina
valor do item digitado pelo usurio. Todos os itens referentes ao pedido so enviados ao mtodo para
5. Resultados
Na Figura 11 possvel visualizar os produtos existentes na tabela Produto do SQL Server (
esquerda) e SQLite ( direita). Os dados sero inseridos no SQLite atravs da aplicao
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 cdigo da aplicao que se utiliza do
envelope SOAP e o log gerado pela ferramenta Eclipse, que mostra parte do contedo de retorno do
mtodo RetornaProduto, executado pelo boto Recebe Informaes da aplicao:
106
Figura 12. Trecho de cdigo da aplicao Android e retorno dos dados em XML.
Fonte: Luciana J. Sabino.
agora inseridos no SQLite. Com o uso da instruo Select combinamos as tabelas Pedido, Produto e
Item_Pedido utilizando a instruo Inner Join para visualizar os dados completos do pedido, tais
108
Pgina
109
Pgina