11
146 146 Entornos para el desarrollo de aplicaciones móviles Martínez Castro, José M. Instituto Tecnológico de Chilpancingo Chilpancingo, Guerrero, México [email protected] Cuevas Valencia, René E. Universidad Autónoma de Guerrero Unidad Académica de Ingeniería Chilpancingo Guerrero; México [email protected] Martínez Castro, Ricardo N. Centro de Bachillerato Tecnológico Industrial y de Servicios No. 73 Rio Bravo, Tamaulipas, México [email protected] Resumen El esquema de desarrollo de las aplicaciones móviles es una tecnología que se en- cuentra en auge, aun cuando los dispositivos móviles existen desde hace más de 15 años, la perspectiva de los visionarios de las tecnologías de la información, y la disminución de costos de fabricación, ha permitido que tales dispositivos estén al alcance de los usuarios. Aun cuando parte de la teoría para el desarrollo de aplicaciones de esta tipo ya se encuentra plasmada en diver- sos documentos, se considera relevante plantear los nuevos usos que pueden darse a esta tecnología; lo anterior derivado por los avances tecnológicos: características, rendimiento, esquemas de comunicación, sistemas operativos, lenguajes de programación, almacenamiento y recuperación de datos, entre otras. Palabras Clave: Dispositivos móviles, gestión conexión – desco- nexión, android, black berry, windows mobile. machote final.indd 146 01/11/2012 03:59:25 p.m.

12. Entornos Para El Desarrollo de Aplicaciones Moviles

Embed Size (px)

DESCRIPTION

fddf

Citation preview

  • 146146

    Entornos para el desarrollo de aplicaciones mviles

    Martnez Castro, Jos M.Instituto Tecnolgico de Chilpancingo

    Chilpancingo, Guerrero, [email protected]

    Cuevas Valencia, Ren E.Universidad Autnoma de Guerrero

    Unidad Acadmica de IngenieraChilpancingo Guerrero; Mxico

    [email protected]

    Martnez Castro, Ricardo N.Centro de Bachillerato Tecnolgico Industrial y

    de Servicios No. 73Rio Bravo, Tamaulipas, Mxico

    [email protected]

    Resumen

    Elesquemadedesarrollodelasaplicacionesmvilesesunatecnologaqueseen-cuentra en auge, aun cuando los dispositivosmviles existendesdehacemsde15aos,laperspectivadelosvisionariosdelastecnologasdelainformacin,yladisminucindecostosdefabricacin,hapermitidoquetalesdispositivosestnalalcancedelosusuarios.Auncuandopartedelateoraparaeldesarrollodeaplicacionesdeestatipoyaseencuentraplasmadaendiver-sosdocumentos,seconsiderarelevanteplantearlosnuevosusosquepuedendarseaestatecnologa;loanteriorderivadoporlosavancestecnolgicos:caractersticas,rendimiento,esquemasdecomunicacin,sistemasoperativos,lenguajesdeprogramacin,almacenamientoyrecuperacindedatos,entreotras.

    Palabras Clave: Dispositivosmviles,gestinconexindesco-nexin,android,blackberry,windowsmobile.

    machote final.indd 146 01/11/2012 03:59:25 p.m.

  • 147147

    m a R t N e z c a s t R o , J o s m . - c u e v a s v a l e N c i a , R e N e . - m a R t N e z c a s t R o , R i c a R d o N .

    Revista viculos vol. # NmeRo #

    l o sE N E R o D E 2 0 1 2V o L U M E N 9 N M E R o 1

    ucnv

    Abstract

    Thepatternofdevelopmentofmobileapplicationsisatechnologythatisbooming,evenwhenmobiledeviceshavebeenaroundforover15years,thevisionaryperspectiveofinformationtechnolo-gy,andlowermanufacturingcosts,hasallowedsuchdevicesareavailable tousers.Althoughpartof the theory for thedevelop-mentof applicationsof this type is already reflected invariousdocuments,isconsideredrelevanttoraisethenewusesthatcanbegiventothistechnology,theabovederivativebytechnologicaladvances: features, performance, layout communication, opera-tingsystems,programminglanguages,datastorageandretrieval,amongothers.

    keywords:Mobiledevicemanagementon-off,android,blackbe-rry,windowsmobile.

    1. Introduccin

    Losdispositivosmvilesposeenenlaactua-lidadcapacidadessimilares,enocasionessu-periores, a las computadoraspersonalesdelosqueseiniciaronenelmundodelacom-putacinenladcadadelos80s.Loqueobli-ga a retomar el concepto de la optimizacin de recursosqueenaquellapocaeradevitalimportancia, almacenamiento y espacio dememoria resurgen por smismos como losnuevos retos a vencer respectode losdise-adores;sindejardeladoelrendimientodelosprocesadoresquelaLeydeMoorenonospermiteolvidar.

    1.1. Inalmbrico vs Mvil

    Comosimilitudespodemosreferirqueelme-diodecomunicacinutilizadonoestconfi-nadoaunmedioguiadoocable.

    Mallick[1]estableceunadiferenciaentrelosdesarrollos de aplicaciones inalmbricas enrelacinalasaplicacionesmviles.Noexiste

    unarelacinbidireccionalentreellas,yaqueno todas las aplicaciones inalmbricas sonmvilesyviceversa(Figura1).

    Figura 1.InalmbricasvsMviles.

    Ladiferenciasepuedeidentificarenlacober-turadelasaplicaciones,estoes,lanecesidaddeestablecerunacomunicacincontnuaconlacontrapartecorrespondiente;porejemplo:enunaredderea local inalmbricaexisti-r comunicacin entre losnodos siemprey

    machote final.indd 147 01/11/2012 03:59:25 p.m.

  • 148148

    E N To RNo S PA R A E L D E S A R R o L Lo D E A P L I C AC I oN E S M V I L E S

    Revista viculos vol. # NmeRo #

    A T

    cuandoseencuentrendentrodelacobertura,deformasimilarocurrirconlasredesdon-de se requiera del enlace de comunicacinconstanteentreloselementosdelared.

    Por otra parte las aplicaciones mviles re-querirndel canalde comunicaciones (ina-lmbrico o alambico)sloenloscasosdon-de lacomunicacincon losotrosnodosseanecesaria,estoes,podrcontinuarlaopera-cindeldispositivoansinlaconexinper-manenteconlared.

    Esto puede semejarse al uso del FTP y delEmailpara transferenciadedatos;mientraselprimerorequieredeuncanaldecomuni-cacinpermanenteentreemisory receptor,elsegundosolorequieredeladireccindelreceptorparaelenvodelosdatos.

    1.2. Comunicacin

    Respecto a las formas de comunicacin delos dispositivosmviles pueden referirse alosdiferentesesquemasdecomunicacinen-trePCs(Figura2):

    Wifi(802.11:a,b,g,n,h,i)BluetoothInfrarojoSerial(USB,RS-232)

    Figura 2. ComunicacinInalmbrica.

    1.3. Tipo de Dispositivos

    Dentrolostiposdedispositivosinalmbricossepuedenencontrar:

    Computadorasdeescritorioyporttiles(Laptop,Notebook,Netbook)

    Tablets PDAs Smartphone

    Loscualessecomunicancontarjetasdered:integradas, adaptadores operifricos (USB,PCI,PCMCIA).

    2. Diseo

    Lorealmenteimportanteenlasaplicacionesmvileseslarecomendacindenoabordareldesarrollocompletodeunsistemaalrede-dordelosdispositivosmviles,yaquestasdebenformarpartedeunsistemacompleto,estoes,sernunmdulodecapturay/ocon-sultadeinformacin.

    Existen diversas formas de disear los sis-temas en red, sin embargo un elementoimportante a considerar en este diseo esuna caracterstica inherentea las redes ina-lmbricas, esto es, la intermitencia en lascomunicaciones.

    Latendenciaactualeneldesarrollodeapli-cacionesmvilestratadeasumircondicionesmnimasdeoperacinrequeridascomoson:conexinalareddecomunicaciones,recur-soslimitados(almacenamiento,energa).

    Seharunareflexinmayorsobrelareddecomunicacionesatravsdelsiguienteesque-madegestindelared.

    machote final.indd 148 01/11/2012 03:59:25 p.m.

  • 149149

    m a R t N e z c a s t R o , J o s m . - c u e v a s v a l e N c i a , R e N e . - m a R t N e z c a s t R o , R i c a R d o N .

    Revista viculos vol. # NmeRo #

    l o sE N E R o D E 2 0 1 2V o L U M E N 9 N M E R o 1

    ucnv

    2.1. Limitantes en las redes de comunicacin

    Enlospasesdesarrolladosnoesposiblecon-cebirespaciosdondenoexistacoberturadealgunareddecomunicaciones:celular,WiFi,locualimplicarlaposibilidaddeconectarseaInternetpormedioderedestolerantesafa-llas,dondelosperiodosdedesconexinpo-dranconsiderarsemnimos.

    Sinembargoenlospasesendesarrollo,unode las oportunidades demejora es precisa-mente laaplicacindela infraestructuradecomunicaciones, donde no existe; y dondeexistemejorarlaenelsentidoampliodelcon-ceptooptimizacin(toleranteafallos,rendi-miento, ancho de banda, disponibilidad) yprincipalmente el costo de acceso al Inter-net;mismoqueenlaactualidadnoesaccesi-bleparatodoslosusuarios,auncuandoexis-ten empresas proveedoras del servicio deInternetinalmbricodebandaanchaatravsdelosenlacesdetelefonacelular.

    2.2. Gestin conexin / desconexin

    Una respuesta a esta limitante se encuen-traeneluso limitadode lareddecomuni-cacin a travs del uso de la ArquitecturaMiddleware(intermediario)[2](Figura3).

    Figura 3.Arquitectura

    Donde: losclientes inteligentes (almbricosoinalmbricos)secomunicanalservidor de sin-cronizacinatravsdelmuro de fuegoparaac-cederalabase de datosentiemposespecficosdelaejecucindelaaplicacin.

    Enreferenciaa losdatossedebeestablecerenelniveldevisin[3],yaquesolosetoma-ranencuentalastablasquetenganrelacincon lasaccionesa realizareneldispositivomvil;denominndolas: catlogo, a aquellastablas de consulta; datos, a aquellas tablascuyocontenido ser capturadocomoresul-tadodelaoperacindelosdispositivos.

    Serequiereestablecerdosestadosdelcliente inteligente: conexinydesconexin,queha-cenreferenciadirectaalacomunicacinconelMiddleware,ycomosecuenciadeenlaceseproponelasiguiente:

    3. Implementacion

    A este respecto se han realizado ejerciciosde implementacin de aplicaciones mvi-les [4][5][6]con lossiguienteselementosdesoftware:

    Cliente:WinMobile,RIM,Android Intermediario; Web services, ASP.Net,

    IIS,Casini. Servidor:SMBDSQLServer.

    Cliente Intermediario

    ListoSolicitaCatalogo Recibesolicitud

    EnvaCatalogo

    CapturaDatos

    EnvaDatos RecibeDatos

    ActualizaDatos

    machote final.indd 149 01/11/2012 03:59:25 p.m.

  • 150150

    E N To RNo S PA R A E L D E S A R R o L Lo D E A P L I C AC I oN E S M V I L E S

    Revista viculos vol. # NmeRo #

    A T

    Tomandoencuentaelesquemadeconexindescritoenla(figura4).

    Figura 4.EsquemadeConexin.

    Acontinuacinsemuestranejemplosdeapli-cacionesdesarrolladasenlosdiferentessiste-masoperativosparadispositivosmviles.

    3.1. Middleware

    SeiniciaimplementandounesquemadeBDenSQLServeryaccedindolopormediodeunWebServicedesarrolladoenASP.Net[7](Figura5).

    Figura 5. WebServices.

    El cual implementa los servicios (WebMe-thods) de consulta de catlogos y actualiza-cindedatos (Figura6).

    Figura 6. ImplementacinAccesoaBasedeDatos.

    UnavezcreadoelserviciowebsepublicaenIIS o Casini comoWeb Application Server(Figura7).

    machote final.indd 150 01/11/2012 03:59:26 p.m.

  • 151151

    m a R t N e z c a s t R o , J o s m . - c u e v a s v a l e N c i a , R e N e . - m a R t N e z c a s t R o , R i c a R d o N .

    Revista viculos vol. # NmeRo #

    l o sE N E R o D E 2 0 1 2V o L U M E N 9 N M E R o 1

    ucnv

    Figura 7.Serviciowebenejecucin.

    3.2. Win Mobile

    Paralacreacindeunaaplicacinenestesis-temaoperativoserequiride la instalacindelVisualStudioDotNet2008[8],dedondeseseleccion laplantillaparacrearunpro-yectoSmartDevice(Figura8).

    Figura 8. ProyectoSmartDevice.

    Mediante labarradeherramientassecons-truyeinterfazdelaaplicacin(Figura9).

    Figura 9.CreacindelaInterfaz.

    Unavezcreadaseprocedeaprogramarlasacciones a realizar en los botones corres-pondientes, por ejemplo la insercindeunregistro nuevo se realiza con las siguientesinstrucciones:

    private void menuItem3_Click_1(object sender, EventArgs e){pedidoBindingSource1.AddNew();Proyecto3.PedidoEditViewDialog

    pedidoEditViewDialog = Proyecto3.PedidoEditViewDialog.Instance(this.pedidoBindingSource1);

    pedidoEditViewDialog.ShowDialog();this.pedidoTableAdapter1.Update(this.

    catalogoDataSet1.Pedido);this.pedidoBindingSource1.MoveFirst();

    }

    Parafinalizarserealizanlaspruebasdefun-cionamientodelaaplicacin(Figura10).

    machote final.indd 151 01/11/2012 03:59:27 p.m.

  • 152152

    E N To RNo S PA R A E L D E S A R R o L Lo D E A P L I C AC I oN E S M V I L E S

    Revista viculos vol. # NmeRo #

    A T

    Figura 10.EjecucindelaAplicacin.

    3.3. RIM

    Enlosrequerimientosparadesarrollarapli-cacionesmviles para el sistema operativoResearchInMotion(InvestigacinenMovi-miento)seencuentralainstalacindelossi-guienteselementosdesoftware[9]:

    Plug-in BlackBerry para el entorno dedesarrolloEclipse[10].

    SimuladorBlackBerry[9]. MDS(MovilDataService) LibreraKsoap[11].

    ComorequisitoparaeliniciosedebeagregarlalibreraKSOAPenunproyectovaciodeBlack-berry,parasuposterior referenciaenelpro-yectodelaaplicacin(ProjectReferences),alrealizarlapruebascorrespondientesseidenti-ficesteprocedimientocomovlido,yaquealhacerreferenciadirectaalalibreramenciona-da,estanofuereconocida(Figura11).

    Figura 11. ProyectovacoparalaLibreraKSOAP.

    EnEclipseseseleccionaelproyectodeBlac-kberrypara iniciar el desarrollodenuestraaplicacin(Figura12).

    Figura 12. ProyectoBlackberry.

    Secreanlosobjetosqueservirndeinterfazdelaaplicacin(Figura13).

    machote final.indd 152 01/11/2012 03:59:28 p.m.

  • 153153

    m a R t N e z c a s t R o , J o s m . - c u e v a s v a l e N c i a , R e N e . - m a R t N e z c a s t R o , R i c a R d o N .

    Revista viculos vol. # NmeRo #

    l o sE N E R o D E 2 0 1 2V o L U M E N 9 N M E R o 1

    ucnv

    Figura 13. Interfazconobjetosautilizar.

    ContinuamosconlacodificacinenLengua-jedeProgramacinJavaparaespecificarlasacciones a realizar por parte de los objetoscontenidosenlainterfaz.Porejemploagre-garunnuevoregistro.

    agregar_Boton = new ButtonField (AGREGAR, Field.FOCUSABLE);agregar_Boton.setChangeListener(new ClickBotonAgregar());

    publicclass ClickBotonAgregar implements FieldChangeListener{

    publicvoid fieldChanged(Field field, int context) {

    objFunc.insertarPedidos(Integer.parseInt(idPedido_Field.getText()),String.valueOf(comboClientes.getSelectedIndex()+1).toString(),String.valueOf(comboProductos.getSelectedIndex()+1).toString(),fecha_Field.getText(),cantidad_Field.getText()

    );cargaListaPedidos();}}

    publicvoidinsertarPedidos(int id,String cliente,String producto, String fecha, String cantidad)

    {try{

    URI myURI = URI.create(file:///SDCard/Databases/ + BDPedidos.db);

    db = DatabaseFactory.open(myURI);Statement st = db.createStatement (INSERT INTO \pedidos\( \id\, \cliente\, \producto\, \fecha\, \cantidad\)

    VALUES (+id+, + cliente + , + producto + , + fecha + , + cantidad +

    ););ejecutar(st);db.close();

    }catch ( Exception ex ){Dialog.alert(Error al insertar: +ex.getMessage() );ex.printStackTrace();}}

    Para realizar laspruebasde funcionamientoesnecesarioejecutarelsimuladordeBlackBe-rry,elalmacenamientolaBDlocalquesecreaconlaaplicacin,sedebesimularunatarjetaSDmultimediaymontarlaenelsimulador,secreaunacarpetaencualquierrutadelacom-putadora,yseconfiguraelmenChange SD card;seagregaeldirectoriodelaSDcard,queserlarutadondesecrelacarpeta;semontalanuevaSDcardalsimuladorseleccionan-dolaopcionMount Selected (Figura14).

    Figura 14.SimulacindelAlmacenamientoLocalparalaBD.

    machote final.indd 153 01/11/2012 03:59:29 p.m.

  • 154154

    E N To RNo S PA R A E L D E S A R R o L Lo D E A P L I C AC I oN E S M V I L E S

    Revista viculos vol. # NmeRo #

    A T

    Paraejecutarlaaplicacinenelsimuladoresnecesariocargar laaplicacingeneradaconextension *.COD desde el menu File, en laopcinLoad BlackBerry(Figura15).

    Figura 15.EjecucindelaAplicacin.

    Enla(Figura16)seobservapartedelfuncio-namientodeunainterfazdelaaplicacin.

    3.4. Android

    ParadesarrollarunaaplicacinAndroid,esnecesario descargar, instalar y actualizar laversin ms reciente del SDK del sistemaoperativo[12],astambinelJDKdeJava.

    De lamisma formaque en el apartado an-teriorseutilizaEclipsecomoentornodede-sarrollo[10],paraellosedebeconfigurarelplugindeAndroid,tomandoencuentalossi-guientespasos:

    EnelmenHelp,deseleccionarlaopcinInstall New Software.

    SeleccionarelbotnAdd,eingresarlasi-guienteURLhttps://dl-ssl.google.com/android/eclipse/(Figura15).

    Figura 15.ConfiguracindeEclipse

    Unavez en el entorno se selecciona el tipodeproyectoadesarrollarylaversindeAn-droidautilizar(Figura16).

    Figura 16.SeleccionarProyectoyversindeAndroid.

    machote final.indd 154 01/11/2012 03:59:30 p.m.

  • 155155

    m a R t N e z c a s t R o , J o s m . - c u e v a s v a l e N c i a , R e N e . - m a R t N e z c a s t R o , R i c a R d o N .

    Revista viculos vol. # NmeRo #

    l o sE N E R o D E 2 0 1 2V o L U M E N 9 N M E R o 1

    ucnv

    Se est en condiciones de a crear la interfazgrafica, para ello se debemodificar el archi-vores>layout>main.xmlycolocarlasetiquetas,cuadrosdetexto,botonesylagrilla(Figura17).

    Figura 17. InterfazdeProyectoenAndroid.

    Seprocedeadefinirlasaccionesaejecutarenlosbotonesdelainterfaz,porejemploagre-garunregistroalabasededatos.

    public void onAdd(View botton) {objetoFunciones.AgregarBaseDatos(Integer.valueOf(clave.getText().toString()),clientes[cliente.getSelectedItemPosition()][0],productos[producto.getSelectedItemPosition()][0],fecha.getText().toString(),cantidad.getText().toString()

    );mensaje(Aadido a la Base de Datos);actualizar();clave.setText();fecha.setText();cantidad.setText();

    }

    public void AgregarBaseDatos (int clave, String empleado, String producto,String fecha, String cantidad

    ){SQLiteDatabase db = sqlhelper.getWritableDatabase();db.execSQL(INSERT INTO pedidos (clave, empleado, producto, fecha, cantidad) VALUES ( + clave + , + empleado + , + producto + , + fecha + , + cantidad + )

    );db.close();

    }

    Seejecutalaaplicacinconlafinalidaddeve-rificarelcorrectofuncionamiento(Figura18).

    Figura 18.ConfiguracindeEclipse

    machote final.indd 155 01/11/2012 03:59:31 p.m.

  • 156156

    E N To RNo S PA R A E L D E S A R R o L Lo D E A P L I C AC I oN E S M V I L E S

    Revista viculos vol. # NmeRo #

    A T

    4. Conclusiones

    Se describieron los pasos generales para eldesarrollo de aplicacionesmviles, sin em-bargoanpuedengenerarseunnmeroma-yordeparaeldesarrollodeestastecnologas,detallarenlossistemasoperativosaplicacio-nes demayor complejidad, interaccin conlosperifricosdelastabletsysmartphones,ascomoinvestigarelprocesodecomercia-lizacinde lasaplicacionesenelmarketdecadasistemaoperativo.

    Deldocumentopresentadosedestacaqueyahasido implementadoporalumnosde tresinstitucionesdeeducacinsuperiorenelEs-tado de Guerrero: Instituto Tecnolgico deChilpancingo, Universidad Autnoma deGuerreroyUniversidadAmericanadeAca-pulco, queda a disposicin la versin com-plelade

    QuedapendienteelmundoIOS,yaqueloselementosdepruebapara sudesarrollo es-tnenprocesodeelaboracin,encuentoseconcluyan los trabajos correspondientes secontar con la evidencia documental paraabordareltema.

    5. Referencias

    [1] MallickM., (2003),Mobile and Wireless Design Essentials,ISBN:0471214191JohnWiley&Sons.

    [2] Gonzales S., Juan, (2001), Apuntes del Curso SistemasDistribuidos II,Maestraen Ciencias en Ciencias Computacio-nalesconespecialidadenSistemasDis-tribuidos del Centro Nacional de In-vestigacin y Desarrollo Tecnolgico,Cuernavaca,Morelos,Mxico.

    [3] Silberschatz&etall,(2002),Fundamen-tos de Bases de Datos, Cuarta edicin.,

    McGraw-Hill / Interamericana de Es-paa,S.A.U.

    [4] Martnez C., J.M., (2012), Apuntes del Curso: Desarrollo de Aplicaciones para Tecnologas Mviles, Ingeniera en Sis-temas Computacionales especialidadenDesarrollodeSoftwaredelInstitutoTecnolgico de Chilpancingo, Guerre-ro,Mxico.http://jmmc.itchilpancingo.edu.mx/moodle/course/view.php?id=93

    [5] Martnez C., J.M., (2012), Apuntes del Curso: Tecnologas Mviles,IngenieraenComputacindelaUnidadAcadmicade Ingenierade laUniversidadAut-nomadeGuerrero,Chilpancingo,Gue-rrero,Mxico.

    [6] Martnez C., J.M., (2012), Apuntes del Curso: Cmputo Mvil, Ingeniera enComputacin de la Facultad de Inge-nieradelaUniversidadAmericanadeAcapulco,Guerrero,Mxico.

    [7] Microsoft (2012), Centro de desarrollo de ASP.NET, http://msdn.microsoft.com/es-mx/aa336522.

    [8] Microsoft(2012),Microsoft Visual Studio Dot Net, http://msdn.microsoft.com/es-mx/vstudio/aa718325

    [9] RIM, (2012), Blackberry Develo-pers, http://us.blackberry.com/developers/javaappdev/

    [10] EclipseFoundation,(2012),Eclipse Pro-ject,http://www.eclipse.org/

    [11] KSOAP, (2012), KSoap 2.1.2, http://sourceforge.net/projects/ksoap2/files/ksoap2/2.1.2/

    [12] Google, (2012), Android Developers,http://developer.android.com/index.html

    machote final.indd 156 01/11/2012 03:59:31 p.m.