Integrando aplicações para SmartPhone a outras tecnologias .NET
Por muito tempo sempre estivemos muito preocupados em desenvolver a solução perfeita para o nosso cliente. Essa sempre foi e sempre será a preocupação de qualquer empresa que desenvolva aplicações e integrem soluções utilizando-se de benefícios de uma tecnologia. Neste artigo vamos demonstrar como é fácil desenvolver, em um cenário bem interessante, uma aplicação completa e que também tenhamos como item importante dessa integração, a mobilidade.
O cenário
Para demonstrar a integração que aplicações para SmartPhones podem ter em um ambiente corporativo, vamos simular o departamento de compras de uma empresa. Imagine que por um lado, os compradores efetuam o pedido de produtos para os fornecedores, mas antes que o pedido realmente seja enviado aos devidos fornecedores, existe a intervenção do gerente de compras, munido de um SmartPhone, analisando cada compra registrada no sistema para aprová-las ou reprová-las.
Para o registro da compra será usado um projeto do tipo Windows Application e para a análise e aprovação/reprovação será usado um projeto do tipo SmartPhone. Para armazenamento dos dados utilizaremos um banco de dados Access (ler Nota 1) que guardará os dados de Fornecedores, Produtos e Compras que serão registradas utilizando a biblioteca OledbConnection.
Nota 1. Download do banco de dados
Você pode fazer o download do banco de dados Access utilizado neste exemplo a partir do endereço para download deste artigo.
Para a integração das funções do SmartPhone utilizaremos um web service. Além disso, utilizaremos um Class Library escrito em VB.NET, que será acessado a partir dos projetos C#, demonstrando a completa integração oferecida pelo .NET. O Class Library centralizará as regras de negócio e acesso ao banco de dados.
Iniciando o desenvolvimento
Vamos iniciar criando a solution e o primeiro projeto (ClassLibrary), pois as classes serão usadas tanto pelo projeto Windows Application quanto pelo web service que executará as funções solicitadas pelo SmartPhone.
Abra o Visual Studio .NET 2003, selecione File>New>Project e informe os dados como mostra a Figura 1.
Figura 1. Tela de criação da solution e do projeto ClassLibrary.
Em Project Types escolha Visual Basic Projects e em Templates selecione Class Library. Dê o nome (Name) de “CLMobile” para o projeto, defina o Location para “C:\Projetos” e em New Solution Name digite “WebMobile” (para informar o nome da Solution a ser criada, clique no botão “More”).
Clique em OK. Nesse momento o VS .NET criará a solution e o projeto ClassLibrary (CLMobile) com uma classe padrão chamada Class1. Altere o nome da classe para Produto e a codifique como mostra a Listagem 1.
Listagem 1. Implementação da classe Produto.
Imports System.Data.OleDb
Imports System.Configuration
Public Class Produto
Private vID As Integer
Private vDescricao As String
Public Sub New(ByVal id As Integer, ByVal descricao As String)
vID = id
vDescricao = descricao
End Sub
Public ReadOnly Property ID() As Integer
Get
Return vID
End Get
End Property
Public ReadOnly Property Descricao() As String
Get
Return vDescricao
End Get
End Property
Public Shared Function getProdutos() As DataTable
Dim myConn As New OleDbConnection(ConfigurationSettings.AppSettings("strConexao"))
myConn.Open()
Dim mySql As String = "SELECT prod_id, prod_descricao FROM tb_produtos"
Dim myCommand As New OleDbCommand(mySql, myConn)
Dim myTable As New DataTable
Dim myDataAdapter As New OleDbDataAdapter(myCommand)
myDataAdapter.Fill(myTable)
myConn.Close()
myConn.Dispose()
Return myTable
End Function
End Class
Para criar uma classe que identifique e retorne dados de Fornecedores, clique com o botão direito do mouse no projeto CLMobile e selecione Add>Add Class. No campo Name informe o nome da nova classe (Fornecedor) e a implemente conforme mostra a Listagem 2.
Listagem 2. Implementação da classe Fornecedor.
Imports System.Data.OleDb
Imports System.Configuration
Public Class Fornecedor
Private vID As Integer
Private vNome As String
Public Sub New(ByVal id As Integer, ByVal nome As String)
vID = id
vNome = nome
End Sub
Public ReadOnly Property ID() As Integer
Get
Return vID
End Get
End Property
...
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com
vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa
bagagem consegui um estágio logo no início do meu primeiro
período na faculdade. Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo. Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a
pena, pois a plataforma é bem intuitiva e muuuuito
didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito
obrigado! Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento
front-end, tinha coisas que eu ainda não tinha visto. A
didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado,
adorando demais. Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É
um passo a passo incrível. Só não aprende quem não quer.
Foi o melhor investimento da minha vida! Foi um dos melhores investimentos que já fiz na vida e tenho aprendido
bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da
programação, irei assinar meu contrato como programador
graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana,
aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem
como não aprender, estão de parabéns! Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de
seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com
React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo
muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na
área.Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!