Sie sind auf Seite 1von 14

Caderno de Estudos Tecnolgicos

Transmisso de Dados entre Banco de Dados SQL Server


Corporativos e Banco de Dados SQLite em Dispositivos Mveis via
Web Services
Luciana J. Sabino, Luis A. da Silva
1
Faculdade de Tecnologia de Bauru (FATEC) Bauru, SP Brasil
{luciana.sabino01, luis.silva51}@fatec.sp.gov.br

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].

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
1. Introduo
O uso de dispositivos mveis tem aumentado consideravelmente dentro das organizaes,
expandindo suas fronteiras de comunicao e possibilitando a seus colaboradores maior interao
com os sistemas corporativos e de negcios, mesmo no estando fisicamente nestes locais.
Segundo Olavsrud (2012), um elevado nmero de empresas j tem o seu contedo digital
adaptado interface mvel, permitindo que seus colaboradores levem seus dispositivos pessoais para
o ambiente corporativo, num movimento batizado de consumerizao. Ainda segundo o autor, a
maior parte das organizaes est se adaptando nova realidade, conforme demonstra o estudo
State of Mobility 2012 realizado pela Symantec, onde 59% de 6,2 mil empresas entrevistadas
disseram que permitem acessos a aplicativos de negcios pelos dispositivos mveis. Ou seja, as
organizaes acreditam que a mobilidade pode aumentar a produtividade de sua fora de trabalho: a
pesquisa da Symantec revelou que 73% dos entrevistados perceberam que seus funcionrios se
tornaram mais eficientes.
Ao mesmo tempo em que essa abertura criou facilidades tambm trouxe alguns desafios um
dos principais a comunicao dos dados entre os bancos de dados corporativos e os bancos de
dados dos dispositivos mveis. No que diz respeito ao ambiente organizacional, tem se observado o
constante crescimento do uso do banco de dados SQL Server como parte integrante das solues
corporativas.
J entre os dispositivos mveis um dos sistemas operacionais que tem se destacado o
Android, juntamente com o banco de dados SQLite, muito utilizado para aplicaes de menor porte.
Assim, este artigo procura analisar uma das formas de comunicao entre as duas tecnologias,
baseado em um case de uso para prover a comunicao entre esses dois bancos de dados via Web
Service utilizando o recurso de Endpoint do SQL Server, o qual ser visto com mais detalhes no
tpico 3.1.1.
Este artigo est estruturado da seguinte forma: no tpico 2 destacamos as tecnologias que so
utilizadas para compor a comunicao via Web Services. No tpico 3 esto listadas as caractersticas
dos dois bancos de dados que faro parte deste estudo, bem como as definies e uso de Web
Services nativos do SQL Server e Endpoint. J a descrio dos experimentos realizados e os
resultados obtidos com o uso das tecnologias apresentadas so discutidos nos tpicos 4 e 5,
respectivamente.

2. Tecnologias utilizadas para troca de informaes


As tecnologias de comunicao abordadas neste artigo so interligadas e todas atuam em conjunto de
forma a prover comunicao sobre a Web, para que uma aplicao cliente possa enviar e receber
informaes disponveis numa localizao indeterminada, atravs de um Web Service.
Na Figura 1 apresentado um fluxo de requisio de atualizao de dados de um cliente a um
servidor via interao pelo Web Service. Em um primeiro instante a aplicao elabora um envelope
com os recursos providos pelo protocolo de acesso simples a objetos, ou Simple Object Access
Protocol (SOAP), contendo informaes pr-determinadas (o que o cliente solicitou e quais
parmetros esto sendo enviados, entre outras), escritas em Extensible Markup Language (XML).
O envelope enviado ao seu destino, atravs do protocolo HTTP padro da Internet, como
demonstrado no item a. O destino do envelope chegar ao Web Service, como visto no item b, onde
97

est localizado o destinatrio da mensagem (mtodo) e a identificao do contrato que descreve o


Web Service, o Web Service Description Language (WSDL) que expe, entre outros itens, o mtodo
Pgina

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
solicitado pelo cliente. Ao receber a solicitao, o mtodo executado: neste caso, vamos supor que
se trata de um mtodo que extrai informaes de um banco de dados, representado pelo item c.
Feito isso, o mtodo retorna as informaes ao requisitante em forma de um documento no
formato XML, que vai encapsulado novamente num envelope SOAP e trafega de volta sobre o
HTTP at chegar ao requisitante (cliente), encapsulado com as informaes recebidas do banco de
dados, item d.

Figura 1. Envio de envelope ao Web Service.


Fonte: MSDN 2013c (adaptao).
2.1 Web Service
Um servio Web (Web Service) qualquer servio que esteja disponvel sobre a Web, que utilize um
sistema de mensagens padronizado com XML e no esteja restrito a apenas um sistema operacional
ou linguagem de programao [Cerami 2002].
Dessa forma um Web Service tambm pode ser definido como um mtodo de integrao entre
dados e aplicaes, utilizando padres XML comuns a diferentes plataformas e sistemas
operacionais [Benz e Durant 2003]. Alm disso, so descritos e expostos aos clientes e outros
servidores de aplicao atravs de um formato XML chamado Web Services Description Language
(WSDL), o qual associado com todo e qualquer servio Web padronizado [Benz e Durant 2003].
Realizar o transporte das informaes sobre o protocolo HTTP e prover o envio e
recebimento dos dados utilizando o formato XML podem ser consideradas duas das grandes
funcionalidades e vantagens no uso dos Web Services.

2.2 Extensible Makup Language XML


XML a abreviao para Extensible Markup Language, ou Linguagem para Marcao Extensvel.
Foi proposta pelo World Wide Web Consortium (W3C) como um padro para representao e troca
de dados na Web [w3schools.com 2013]. um formato de fcil interpretao, com o propsito de
ser utilizado para troca de dados entre plataformas diversas. Ainda segundo w3schools.com (2013) o
XML foi desenvolvido para transportar e armazenar informaes, com foco no dado em si.
A grande vantagem na utilizao do XML a livre criao de etiquetas ou tags diversas
que fazem referncia informao de acordo com o teor mencionado. Em vista de ser um padro
reconhecido mundialmente, o XML est presente em muitas tecnologias de comunicao na internet,
como o protocolo SOAP e o documento descritivo do Web Service, o WSDL [w3schools.com 2013].

2.3 Simple Object Access Protocol SOAP


O SOAP, ou protocolo de acesso simples a objetos, habilita o transporte das requisies e respostas
do Web Service atravs de informaes encapsuladas num envelope e que so escritas em XML
98

[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

mesmo tempo em que os dados fossem descritos de forma detalhada.

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
Segundo Benz e Durant (2003), o protocolo composto por:
a) SOAP Endpoint: um ponto de extremidade que pode ser definido por uma Uniform
Resource Locators (URL) padro, com um Uniform Resource Identifier (URI) opcional e
um SOAP Action (ao definida para o envelope SOAP);
b) Mtodos (para chamadas via HTTP POST) para serem invocados em um Web Service;
c) Um cabealho HTTP, que indica o mtodo invocado pela chamada;
d) O envelope SOAP: descreve o contedo da mensagem e como utiliz-la;
e) SOAP Enconding Rules: Regras de codificao do SOAP que descrevem a serializao
dos dados baseados em tipos de dados genricos ou especficos da aplicao;
f) Body: O corpo do protocolo que contm a chamada ou mensagem de resposta que
descrita pelo envelope e formatada de acordo com as regras de codificao.
Os autores ainda destacam que assim como o cabealho HTTP numa requisio SOAP o
envelope baseia-se em valores declarados no arquivo WSDL do Web Service, o qual menciona
instrues de como esto estruturadas as respostas e requisies. Dessa forma, tanto o cliente como o
provedor do servio devem ter as ferramentas necessrias para receber o pacote (package) de acordo
com a especificao do protocolo e passar a informao adiante para ser processada.

2.4 Web Service Description Language WSDL


Conforme definio de Cerami (2002) a linguagem conhecida pela sigla WSDL uma especificao
que descreve os Web Services utilizando uma linguagem comum baseada em XML. Representa um
contrato entre o requerente do servio e seu provedor e possibilita ao cliente localizar um Web
Service e invocar qualquer de seus servios expostos publicamente, bem como identificar os tipos de
dados utilizados para as chamadas e respostas, obter informaes sobre o protocolo utilizado para
transporte e o endereo para localizar um determinado servio [Cerami 2002].
Entre as vantagens oferecidas pelo uso do WSDL segundo Tidwell, Snell e Kulchenko (2001)
possvel destacar a facilidade em escrever e manter os servios, proporcionando uma abordagem
mais estruturada para definio dos mesmos, a diminuio da quantidade de cdigo a ser
implementado pela aplicao cliente, alm da rapidez para codificao de alteraes nos servios
publicados. possvel encontrar ferramentas disponveis na Web para realizar a gerao automtica
de contratos WSDL.

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

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
3.1.1 Web Service nativo do SQL Server
Segundo Ramalho (2005) o SQL Server apresenta um recurso chamado Endpoint que controla a
capacidade de se conectar a uma instncia do banco de dados, bem como as maneiras que o banco de
dados deve utilizar para comunicar-se sobre a rede. Ainda segundo o autor, essa tecnologia age de
maneira muito similar a um firewall como se fosse uma camada de segurana na divisa entre as
aplicaes e a instncia do SQL Server. Em resumo, um Endpoint essencialmente um Web Service
que expe dados de uma base sobre um protocolo de comunicao, como o HTTP.
Algumas das principais vantagens do uso dessa tecnologia, segundo MSDN (2013c) so a
facilidade de acesso instncia do SQL Server mesmo que por plataformas diferentes formando um
ambiente heterogneo e o provimento de um nvel de segurana prprio para o acesso Web que no
permite o uso por usurios annimos.

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.

4. Descrio dos Experimentos


Foi desenvolvido um cadastro simples de pedido e itens onde as bases de dados, tanto a principal
quanto a do dispositivo mvel, foram criadas conforme a modelagem apresentada na Figura 2,
contendo uma tabela de produtos, a tabela de pedidos e a interligao entre o pedido e os produtos,
respectivamente Produto, Pedido e Item_Pedido.
Para facilitar o entendimento acerca dos experimentos realizados, vamos identificar o banco
de dados do dispositivo mvel como SQLite e o banco de dados principal como SQL Server.

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

Item_Pedido (prc_ins_pedido e prc_ins_pedido_item). O Endpoint foi criado de acordo com a


sintaxe descrita na Figura 3:

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
CREATE ENDPOINT ENDPOINT_VENDA -- nome do endpoint
STATE = STARTED -- STARTED = iniciado (disponvel para chamada)
AS HTTP -- http ou tcp (meio de transporte)
( PATH = '/Venda' -- localizao do endpoint no host espec em SITE
,AUTHENTICATION = (INTEGRATED) -- forma de autenticao (integrada ao windows)
,PORTS = (CLEAR) -- porta associada ao endpoint(clear = 80)
,SITE = 'localhost' -- nome do computador host (localhost = local)
)
FOR SOAP -- tipo do protocolo (carga til payload)
( WEBMETHOD 'InserePedido' -- nome do metodo que insere pedidos
( NAME='Venda.dbo.PRC_INS_PEDIDO' -- stored procedure responsvel pela execuo
, SCHEMA=DEFAULT -- retorna o schema XSD na instruo SELECT
, FORMAT=ALL_RESULTS -- retorna o result set, qtde linhas e erros
),

WEBMETHOD 'InsereItemPedido' -- nome do mtodo que insere itens no pedido


( NAME='Venda.dbo.PRC_INS_PEDIDO_ITEM' -- stored procedure responsvel pela ao
, SCHEMA = DEFAULT -- retorna o schema XSD na instruo SELECT
, FORMAT = ALL_RESULTS -- retorna o result set, qtde linhas e erros
),

WEBMETHOD 'RetornaProduto' -- mtodo que retorna a lista de produtos


( NAME='Venda.dbo.PRC_VW_PRODUTO' -- stored procedure responsvel pela ao
, SCHEMA = DEFAULT -- retorna o schema XSD na instruo SELECT
, FORMAT = ALL_RESULTS -- retorna o result set, qtde linhas e erros
),

BATCHES = DISABLED -- permite execuo de SQL (desabilitado)


,WSDL = DEFAULT -- formato padrao do arquivo wsdl
,DATABASE = 'VENDA' -- banco no qual a requisio executada
,NAMESPACE = 'http://localhost:8080/Venda' -- namespace reservada ao endpoint
-- indica se o schema XSD retornado junto com
,SCHEMA = STANDARD -- os resultados
,CHARACTER_SET = XML -- codifica o resultado conforme a sintaxe XML
)

Figura 3. Instruo Create Endpoint executada no SQL Server 2008 R2.


Fonte: MSDN 2012a (adaptao).
De acordo com MSDN (2013b), assim que um Endpoint criado, automaticamente o SQL
Server faz uma reserva implcita do namespace definido, indicando que a partir deste momento
qualquer solicitao a este ponto de extremidade ser encaminhada instncia do SQL Server.
Porm, esse namespace pode ser utilizado por outros aplicativos quando a instncia do banco de
dados no estiver em execuo.
importante considerar uma forma de criptografia em relao segurana da comunicao
dos dados quando ocorrida fora da instncia do SQL Server. Hotek (2010) assevera que a criptografia
de comunicao para Endpoints codificada para entender a origem e destino do trfego: se a
comunicao ocorrer inteiramente dentro da instncia do SQL Server o trfego no ser
criptografado, pois isso introduziria uma sobrecarga desnecessria nas comunicaes. Dessa forma, o
ideal que o trfego seja criptografado quando os dados forem transmitidos fora da instncia do SQL
Server.
Aps a criao do Endpoint, o Web Service j se encontra disponvel e pode ser acessado pelo
browser atravs de seu WSDL, contendo as informaes sobre os mtodos expostos para uso, formas
de acesso e os tipos de dados requeridos para envio e recebimento das informaes. Na Figura 4
possvel visualizar o contrato WSDL gerado aps a criao do Endpoint:
101
Pgina

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos

Figura 4. Contrato WSDL disponvel aps criao do Endpoint.


Fonte: Luciana J. Sabino.

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

gerado pelo SQL Server.

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos

Aplicao localizada Web Service


no dispositivo human-centric Web Service application-centric gerado via
mvel desenvolvida desenvolvido Endpoint do
Web Web
sobre o Android em C# SQL Server

Figura 5. Modelo de interao human-centric e application-centric Web.


Fonte: Luciana J. Sabino.
A Figura 6 apresenta a tela inicial do segundo Web Service chamado WSVenda, mostrando os
mtodos disponveis para acesso que foram criados para interagir com a aplicao, sendo eles
InsereItemPedido, InserePedido e RetornaProduto:

Figura 6. Mtodos criados via Web Service em C#


Fonte: Luciana J. Sabino.

J na Figura 7 possvel visualizar o trecho de cdigo que invoca o mtodo RetornaProduto


do Web Service do SQL Server inserido no projeto C#.

Figura 7. Detalhe da cdigo referente ao mtodo RetornaProduto.


Fonte: Luciana J. Sabino.

E por fim, na Figura 8 possvel visualizar o retorno da chamada ao mtodo RetornaProduto


apresentado no browser:
103
Pgina

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos

Figura 8. Resultado do mtodo RetornaProduto.


Fonte: Luciana J. Sabino.

Ainda na Figura 8 pode-se visualizar o n principal, identificado por <row1


xmlns=urn:schemas-microsoft-com:sql:SqlRowSet1> e abaixo desta os ns vinculados (em
destaque), a serem identificados por tags que foram ordenadas na Tabela 1 para melhor identificao.
Conforme Tabela 1 os dois produtos em destaque sero utilizados no cadastro do pedido e itens que
ser realizado adiante.
Tabela 1. Organizao dos dados dos produtos.
Fonte: Luciana J. Sabino.

Valor \ Tag < IDPRD_PRODUTO > < DESCRICAO > < QUANTIDADE > < VALOR >

Produto 1 1 HD EXTERNO USB 3.0 1 TB 150 300.00


Produto 2 2 MEMORIA 1024MB DDR2 15 105.00

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

Figura 9. Tela inicial da aplicao.


Fonte: Luciana J. Sabino.
Pgina

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
Este mtodo retorna uma lista atualizada de produtos cadastrados na base de dados VENDA
do SQL Server; ele no recebe parmetros ao ser chamado, de tal forma que retorna a lista completa
de produtos, sem utilizar critrio restritivo. Considerando que o objetivo transmitir informaes
entre os bancos de dados a lista retornada pelo mtodo contm poucas ocorrncias, o que no
sobrecarrega o processamento das informaes. Os dados recebidos so cadastrados na tabela
Produto do SQLite, dessa forma o usurio poder realizar o cadastro de um pedido utilizando dados
atualizados
Na sequncia, o boto Cadastro de Pedido direciona o usurio tela de incluso de itens,
simulando uma venda (Figura 10). A tela composta por uma lista combinada que contm os
produtos recebidos anteriormente. Aps selecionar um item, o usurio deve preencher os campos
Quantidade e Valor e em seguida clicar no boto Insere Item, que responsvel por inserir os itens
no pedido ativo. Esses itens so inseridos na lista de itens abaixo dos botes, conforme Figura 10,
separados por ponto-e-vrgula, para que o usurio visualize o que j foi escolhido anteriormente.

Figura 10. Tela de cadastro com itens selecionados.


Fonte: Luciana J. Sabino.

Ainda na Figura 10 h o boto Grava Pedido ao clic-lo, os dados inseridos na lista so


gravados no SQLite. gerado um novo registro na tabela Pedido e os itens relacionados a este so
inseridos na tabela Item_Pedido. Na sequncia os campos do cadastro so limpos para receber a
entrada de novos dados para cadastro. possvel inserir vrios pedidos com diversos itens atravs da
aplicao.
Para efeito de demonstrao procederemos ao envio do pedido exibido na Figura 10 e seus
dois itens ao SQL Server. Para tanto o usurio deve clicar no boto Envia Informaes (Figura 9),
este boto far a chamada ao mtodo InserePedido, cujo retorno ser um nmero referente ao pedido
105

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

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
incluso na base de dados principal. Havendo outros pedidos na base de dados local, estes tambm
so enviados juntamente com seus itens. Aps a finalizao do mtodo recebida a mensagem
Envio realizado com sucesso.

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.

Na Figura 13 possvel visualizar os dados do cadastro exibidos anteriormente na Figura 10,


Pgina

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

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
como a data em que foi realizado, a descrio do produto, a quantidade solicitada, o valor unitrio do
item e o valor total do pedido, respectivamente exibidos nas colunas Data_Pedido, Descricao,
Quantidade, Valor_Item e Valor_Total:

Figura 13. Dados inseridos no SQLite atravs da aplicao.


Fonte: Luciana J. Sabino.

Ao final de toda a movimentao, quando se deseja atualizar os dados no SQL Server,


escolhe-se a opo Enviar Informaes na aplicao Android. Dessa forma os dados so inseridos
nas tabelas Pedido e ItemPedido deste banco de dados, conforme se pode observar na Figura 14 as
duas linhas referentes aos dois itens inseridos.

Figura 14. Viso dos itens inseridos aps o cadastro.


Fonte: Luciana J. Sabino.
Dessa forma foi possvel acompanhar um ciclo completo de envio e recebimento de
informaes, que se iniciou com o recebimento dos Produtos atualizados, prosseguiu com a
realizao de um cadastro com dois dos produtos recebidos e posterior gravao e envio das
informaes base de dados principal.
107
Pgina

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
6. Consideraes finais
Foi possvel identificar a importncia da troca de informaes entre bancos de dados distintos. Neste
caso foi demonstrada a integrao entre um banco de dados com foco corporativo (SQL Server) e um
banco de dados destinado para uso em sistemas localizados em dispositivos mveis e de menor porte
(SQLite). Devido necessidade de interoperabilidade entre bancos de dados de plataformas
diferentes, alguns destes tm oferecido recursos baseados em Web Services para tal fim, como por
exemplo o Endpoint do SQL Server que foi demonstrado neste artigo. Iniciativas como esta, de
fornecer recursos diretamente dos Sistemas Gerenciadores de Banco de Dados (SGBD) algo que
tende a evoluir em pouco tempo, sendo uma tendncia quando relacionado integrao de bancos de
dados corporativos e bancos de dados de dispositivos mveis.
Assim percebe-se que o recurso de Endpoint pode ser considerado relativamente recente e
que possivelmente sofrer atualizaes ou at substitudo por outra ferramenta que venha a prover
esse tipo de integrao de forma mais abrangente, com foco na integrao com segurana entre o
SQL Server e outros bancos de dados, ou mesmo com outras aplicaes que no estejam no mesmo
sistema.

108
Pgina

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013


Caderno de Estudos Tecnolgicos
7. Referncias
Benz, B. e Durant, J. (2003) XML Programming Bible. New York: Wiley Publishing Inc.
Cerami, E. (2002) Web Services Essentials Distributed Applications with XML-RPC, SOAP,
UDDI & WSDL. OReally.
Developers. (2013) Dashboards, http://developer.android.com/about/dashboards/ind ex.html.
Dewson, R. (2008) Microsoft SQL Server 2008 para Desenvolvedores, pginas 1-16. Alta Books.
Hotek, M. (2010) Microsoft SQL Server 2008: passo a passo. Bookman.
Kreibich, J. (2010) Using SQLite. OReilly Media.
Lecheta, R. (2010) Google Android: Aprenda a criar aplicaes para dispositivos mveis com o
Android SDK. Novatec Editora.
MSDN. (2013a) Create Endpoint (Transact-SQL). http://msdn.microsoft.com/en-
us/library/ms181591(v=SQL.100).aspx.
______ (2013b). Reservando namespaces URL usando Http.sys. http://msdn.microsoft. com/pt-
br/library/ms188682(v=SQL.105).aspx
______ (2013c) Native XML Web Services Overview. http://msdn.microsoft.com/en-
us/library/ms188266(v=sql.105).aspx.
Olasvrud, T. (2012) Consumerizao: Como manter a segurana dos dispositivos mveis.
http://cio.uol.com.br/gestao/2012/08/10/consumerizacao-como-manter-a-seguranca-dos-
dispositivos-moveis.
Ramalho, J. (2005) Microsoft SQL Server 2005 Guia Prtico. Elsevier.
Tidwell, D. Snell, J. Kulchenko, P. (2001) Programming Web Services with SOAP. OReilly Media.
SQLite. (2012) About SQLite. http://sqlite.org/about.html.
w3schools.com. (2013) XML Tutorial. http://www.w3schools.com/xml/default.asp.

109
Pgina

Faculdade de Tecnologia de Bauru volume 01 nmero 01 julho/2013

Das könnte Ihnen auch gefallen