+ All Categories
Home > Documents > INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

Date post: 16-Oct-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
119
INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE VENTAS MÓVIL MILENA ANDREA CASTILLO RUANO UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERIAS DEPARTAMENTO DE AUTOMATICA Y ELECTRÓNICA PROGRAMA DE INGENIERÍA ELECTRONICA SANTIAGO DE CALI 2007
Transcript
Page 1: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE VENTAS MÓVIL

MILENA ANDREA CASTILLO RUANO

UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERIAS

DEPARTAMENTO DE AUTOMATICA Y ELECTRÓNICA PROGRAMA DE INGENIERÍA ELECTRONICA

SANTIAGO DE CALI 2007

Page 2: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

INVESTIGACIÓN SOBRE AUTOMATIZACIÓN DE FUERZA DE VENTAS MOVIL

MILENA ANDREA CASTILLO RUANO

Pasantía para optar el título de Ingeniera Electrónica

Director Académico HÉCTOR JOSÉ GÓMEZ GONZÁLES

Ingeniero Electrónico

UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERIAS

DEPARTAMENTO DE AUTOMATICA Y ELECTRÓNICA PROGRAMA DE INGENIERÍA ELECTRONICA

SANTIAGO DE CALI 2007

Page 3: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

Nota de aceptación:

Aprobado por el comité de grado en cumplimiento de los requisitos exigidos por la Universidad Autónoma de Occidente para optar al titulo de ingeniera electrónica.

Ing. JUANA MARIA CAMPO Jurado

Ing. ROBERTO DE JESÚS VEGA Jurado Santiago de Cali, febrero 8 de 2007

Page 4: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

CONTENIDO Pág. GLOSARIO 10 RESUMEN 14 INTRODUCCIÓN 15 1. PLANTEAMIENTO DEL PROBLEMA 16 2. OBJETIVOS 17 2.1 OBJETIVO GENERAL 17 2.2 OBJETIVOS ESPECÍFICOS 17 3. JUSTIFICACIÓN 18 4. AUTOMATIZACION DE FUERZA DE VENTAS 19 4.1 DESCRIPCION DE LA IMPLEMENTACIÓN 19 4.1.1 DESCRIPCIÓN DE LA PLATAFORMA EMPLEADA 19 4.1.2 DESCRIPCIÓN DEL USUARIO 20 4.2 ARQUITECTURA DE LA APLICACIÓN 22 4.2.1 CORRIENDO EL PROYECTO 22 4.2 ESTABLECIMIENTO DE BENEFICIOS QUE SE DESEAN LOGRAR 30 4.3 CALIDAD DEL SERVICIO 30 5. INTRODUCCION A J2ME 31 5.1 ARQUITECTURA 31 5.1.1 SISTEMA OPERATIVO 31 5.1.2 JAVA VIRTUAL MACHINE (JVM) 31 5.1.3 CONFIGURACIÓN 32 5.1.4 PERFIL (PROFILE) 34 5.2 MIDP 34 5.2.1 MIDP 1.0 (JSR 37) 35 5.2.2 MIDP 2.0 (JSR 118) 35 5.3 MIDLET 36 5.3.1 ESTRUCTURA DE UN MIDLET 37 5.3.2 EJEMPLO MIDLET HOLA MUNDO 39 5.4 APIS 41 5.4.1 APIS DE J2ME 41 5.5 CLASES UTILIZADAS EN J2ME 42 5.5.1 LA CLASE DISPLAY 42 5.6 GCF (GENERIC CONNECTION FRAMEWORK) 44 5.6.1 EJEMPLO DE ACCESO A UNA WEB 46 5.7 OTA (OVER THE AIR) 48 5.8 J2ME Y WAP 49 6 ALMACENAMIENTO PERSISTENTE DE DATOS 50 6.1 ALMACENAMIENTO EN REGISTROS 50

Page 5: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

6.2 MIDLET SUITE 51 6.3 INTERFACES 51 6.4 CLASES 52 6.4.1 CLASE RECORDSTORE 52 6.4.1.1 MÉTODO PARA ABRIR UN ALMACÉN DE REGISTROS 52 6.4.1.2 MÉTODO PARA CERRAR UN ALMACÉN DE REGISTROS 52 6.4.1.3 MÉTODO PARA ELIMINAR UN RECORD STORE 53 6.4.1.4 MÉTODO PARA AÑADIR REGISTROS A UN ALMACÉN DE REGISTROS 53 6.4.1.5 MÉTODO PARA RECUPERAR REGISTROS DE UN ALMACÉN DE REGISTROS 53 6.4.1.6 MÉTODO PARA EDITAR REGISTROS 53 6.4.1.7 MÉTODO PARA BORRAR UN REGISTRO 54 6.4.1.8 MÉTODOS QUE CONTROLAN LA MODIFICACIÓN DE REGISTROS 54 6.4.1.9 MÉTODOS PARA RECORRER REGISTROS 54 6.4.2 EXCEPCIONES 56 6.5 EJEMPLO DE MANEJO DE REGISTROS 56 7 ENTORNO DE DESARROLLO IDE 60 7.1 CARACTERÍSTICAS 60 7.1.1 TECNOLOGÍAS SOPORTADAS 60 7.1.2 SERVIDORES SOPORTADOS 61 7.2 REQUERIMIENTOS DEL SISTEMA 61 7.2.1 REQUERIMIENTOS MÍNIMOS EN EL SISTEMA 61 7.2.2 SOFTWARE REQUERIDO PARA INSTALAR NETBEANS 61 7.3 GUÍA DE INSTALACIÓN PARA WINDOWS 62 7.3.1 INSTALACIÓN DE NETBEANS 62 7.3.2 INSTALACIÓN DEL SUN JAVA SYSTEM APPLICATION SERVER 62 7.3.3 INSTALACIÓN DEL NETBEANS MOBILITY PACK 5.0 63 7.4 EMULADORES UEI 64 7.5 INSTALACIÓN DE EMULADORES 69 7.6 “HOLA MUNDO” EN NETBEANS 71 7.7 DESCARGA DE LA APLICACIÓN AL CELULAR 75 8 INTRODUCCIÓN A GSM-GPRS 77 8.1 M – COMMERSE (MOBILE COMMERCE) 79 8.2 RED GPRS NACIONAL 80 8.2.1 VELOCIDAD DE TRANSMISIÓN 80 8.2.2 BENEFICIOS 80 8.2.3 SERVICIOS 80 8.3 INFORMACIÓN TÉCNICA GPRS 81 8.3.1 INTRODUCCIÓN. GPRS 81 8.3.2 CARACTERÍSTICAS 82 8.3.3 SERVICIOS 82 8.3.4 EQUIPOS CELULARES 83 8.3.5 TARIFACIÓN 84 8.3.6 SEGURIDAD 84

Page 6: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

8.3.7 ARQUITECTURA DE LA RED GSM 85 8.3.8 ARQUITECTURA DE LA RED GPRS 86 8.3.9 PROTOCOLO DE TRANSMISIÓN GPRS 88 8.3.10 CANALES FÍSICOS 91 8.3.11 FLUJO DE DATOS 91 8.3.12 ESQUEMAS DE CODIFICACIÓN GPRS 92 8.3.13 FUNCIONAMIENTO DE LA RED GPRS 94 8.3.14 INICIO DE SESIÓN 95 8.4 LIMITACIONES DE GPRS 97 8.5 EVOLUCIÓN DE LA RED GPRS HACÍA UMTS Y EDGE. 98 9 TRANSMISIÓN DE DATOS UTILIZANDO LA RED TRUNKING 100 9.1 VENTAJAS 100 9.2 BENEFICIOS 101 9.3 ORGANIZACIÓN GEOGRÁFICA 101 9.4 ARQUITECTURA DEL SISTEMA 102 9.4.1 ESTACIÓN MÓVIL 102 9.4.2 DIGITAL ACCESS CROSS CONNECT SWITCH 103 9.4.3 METRO PACKET SWITCH 103 9.4.4 DISPATCH APPLICATION PROCESSOR 104 9.4.5 PACKET DUPLICATOR (PD) 104 9.4.6 MOBILE DATA GATEWAY 105 9.4.7 BASE SITE CONTROLLER 106 9.4.8 MOBILE SWITCHING CENTER. 106 9.4.9 ADMINISTRATIVE DATA CENTER 107 9.5 RESUMEN IDEN 107 10. CONCLUSIONES 110 11. RECOMENDACIONES 111 BIBLIOGRAFIA 112 ANEXOS 114

Page 7: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

LISTA DE TABLAS

Pág.

Tabla 1. Casos de Uso para el vendedor 22 Tabla 2. Esquemas de codificación de datos en GPRS 98 Tabla 3. Parámetros que especifican el grado de servicio 101 Tabla 4. Flujo de datos pico (Caudal Máximo) 101 Tabla 5. Caudal medio de flujo de datos 102 Tabla 6. Evolución de GPRS 104 Tabla 7. Paquete de datos- iDEN 114

Page 8: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

LISTA DE FIGURAS

Pág.

Figura 1. Diagrama de uso del agente de Ventas 21 Figura 2. Descripción del proyecto en Netbeans 23 Figura 3. Launch Project 24 Figura 4. Autenticación 25 Figura 5. Respuesta del servidor 25 Figura 6. Lista de clientes 26 Figura 7. Pedido 26 Figura 8. Información del producto 27 Figura 9. Menú enviar 27 Figura 10. Web pedidos 28 Figura 11. Descripción del pedido en la web 28 Figura 12. Descripción de la interacción con la red 29 Figura 13. Arquitectura J2ME 31 Figura 14. Ciclo de vida de un MIDlet 39 Figura 15. Ubicación de APIs dentro de la plataforma J2 de Sun 41 Figura 16. Clases derivadas de la clase display 43 Figura 17. MIDlet Suite 52 Figura 18. Adición de la plataforma J2ME 72 Figura 19. Adicionando una Plataforma 72 Figura 20. Nuevo proyecto J2ME 73 Figura 21. Nueva Aplicación Móvil 73 Figura 22. Nuevo MIDlet 75 Figura 23. Propiedades del MIDlet 75 Figura 24. Arquitectura del MIDlet Hola Mundo 76 Figura 25. MIDlet “Hola Mundo” 77 Figura 26. PC Suite en Ejecución 79 Figura 27. Nokia PC Suite 79 Figura 28. Usuarios de Telefonía Móvil en el Mundo 81 Figura 29. Crecimiento del Acceso a Internet 82 Figura 30. Abonados inalámbricos digitales por tecnología 82 Figura 31. Identificación de los elementos de la red GSM 90 Figura 32. Identificación de los elementos de la red GPRS 92 Figura 33. Protocolo de transmisión GPRS 93 Figura 34. Flujo de datos en GPRS 97 Figura 35. Transferencia de datos (Kbps) 98 Figura 36. Transferencia de datos Up-link GPRS 99 Figura 37. Transferencia de datos down-link GPRS 100

Page 9: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

Figura 38 Velocidades De Transmisión en GPRS 107 Figura 39. Arquitectura de red 107 Figura 40. IDEN- Elementos de Red 113

Page 10: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

10

GLOSARIO

AMS (Application Management Software): Software que se encarga de realizar la descarga y control del ciclo de vida de los MIDlets. APIs(Application Programming Interface) Interfaz de Programación de Aplicaciones. AuC (Authentication Center ): Centro de Autentificación. Backbone GPRS: Red troncal GPRS. BEC: Sistema de corrección de errores hacia atrás. BSS (Base Station Subsystem): Sistema de Estación Base. BTS (Base transceiver Station): Estación de transmisión GSM. Capa MAC (Medium Access Control): Capa de control de acceso al medio CLDC: Connected Limited Device Configuration. Configuración utilizada por J2ME para dispositivos con características limitadas. EDGE (Enhanced Data Rates for Global Evolution): Sistema avanzado de transmisión de datos evolución para GSM EIR (Equipment Identify Register): Registro de Identificación del Equipo. ETSI (European Telecommunications Standard Institute): Organismo de estandarización para las telecomunicaciones. FEC: Sistema de corrección de errores hacia delante GCF (Generic Connection Framework): Sistema que provee funciones de red en una aplicación. GGSN (El Gateway GPRS support node ): Nodo de pasarela de GPRS. GIWU (GSM Interworking Unit): Unidad GSM para internet-working GMSC (Gateway Mobile Services Switching Center ): puerta al centro de conmutación para servicios móviles

Page 11: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

11

GPRS(General Packet Radio Service): Sistema de radio para transmitir datos de la red GSM. GSM (Global System for Mobile communications): Sistema global para comunicaciones móviles. HLR (Home Location Registrer ):Sistema de localización de origen. IDE (Integrated Development Environment): Ambiente integrado de desarrollo. IMAP4 (Internet Message Access Protocol): Protocolo de acceso a mensajería en Internet IMEI (International Mobile Equipment Identity): identificación internacional del equipo móvil. Interleaving: Intercalar datos cuando surjan errores. IP (Intenet Protocol): Protocolo que permite el ingreso a internet. J2me (java 2 Micro Edition): Lenguaje de programación Java especial para dispositivos móviles. JCP( Java Commnunity Process): Comundad Java que define los estándares para desarrollar aplicaciones. JSR(Java Specification Requests): Define especificaciones java. JVM (java virtual machine): Maquina Virtual de Java. M-commerce (Mobile Commerce): Comercio electrónico móvil. ME(Mobile Equipment): Equipo Móvil MIDP (Mobile Information Device Profile): Perfil que proporciona el entorno de desarrollo para aplicaciones J2ME. MIDlet: Aplicación hecho bajo el perfil MIDP. MS (Mobile Station): Estación Móvil. MSC (Mobile Services Switching Center): centro de servicios móviles.

Page 12: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

12

NSS (Network and Switching Subsystem): Subsistema de Red y Switcheo. OTA(Over the air): Definición que se pueden realizar instalación de aplicaciones utilizando redes inalámbricas. PCU (Packet Control Unit): Unidad de control de paquetes. PIN (Personal Identification Number): Número de Identificación personal. PLL (Physical link layer): Capa del enlace Físico. POP3( Post Office Protocol 3): Protocolo de correo para Internet. RFL (Radio Frequency layer): La Capa de Enlace de Radio Frecuencia. RLC (Radio Link Control): Control del radio enlace. RMS (Record Management System): Sistema que permite almacenar información dentro del dispositivo móvil. Roaming: posibilidad de usar el terminal y la tarjeta SIM en redes GSM de otros países. SDK (Software Development Kit): Programa que ofrece multiples herramientas para desarrollar software. SGSN (Serving GPRS support node): Nodo de soporte para servicios GPRS SIM (Subscriber Identity Module): Módulo de identificación del Usuario. SMSC (Short Message System Center ): Centro de mensajes cortos. Timeslot: Espacio de tiempo asignado a una comunicación. Tunneling: Ruta final que sigue la información UI (User Interface): Interfaz que permite al usuario manejar la aplicación. UMTS (Universal Mobile Telecommunications System): Sistema Universal de Telecomunicaciones Móviles. VLR (Visitor Location Register): Registro de visitantes

Page 13: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

13

WAP( Wireless Application Protocol): Protocolo de aplicaciones para telefonía inalámbrica.

WAPCERT (WAP Certificate Profile).

Page 14: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

14

RESUMEN

Este documento contiene información sobre comercio móvil utilizando técnicas electrónicas de transmisión de datos y recolección de información. Se da una introducción a las nuevas tecnologías sobre comercio móvil, se define el concepto de Automatización de Fuerza de Ventas, enfatizando en la utilización de teléfonos celulares. Se describe la aplicación móvil para toma de pedidos utilizando un teléfono celular, desarrollada para la empresa Sidem Ltda, hecha con Java 2 Micro Edition y compilada en el entorno de desarrollo Netbeans. Se hace una introducción al lenguaje de programación java para dispositivos móviles, enfatizando en almacenamiento persistente de datos y manejo de Registros (Records). Para el manejo del lenguaje java se introducen algunos ejemplos; un ejemplo básico del MIDlet “hola mundo”, un ejemplo de establecimiento de conexión con una página Web que contiene un pequeño string o cadena de caracteres y otro para manejo de registros, que se utilizan para alojar información en el celular. Después de introducirse al lenguaje de programación se va al estudio del entorno de desarrollo Netbeans, se describe los requerimientos para la instalación del programa, el entorno de ejecución y se hace un ejemplo de compilación y depuración del MIDlet “Hola mundo”. Luego se estudian las redes utilizadas para transmisión de datos GPRS y Trunking de Avantel. Con estos temas se concluye el contenido de la investigación en fuerza de ventas y entornos utilizados. La parte del diseño en el lenguaje UML y el código de la aplicación no fue introducida en este documento, porque hace parte de los derechos intelectuales de la empresa.

Page 15: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

15

INTRODUCCIÓN

Sidem Ltda, Sistemas de Integración y Desarrollo Empresarial, empresa desarrolladora de soluciones informáticas; en su área de investigación, estudia las nuevas tecnologías móviles para ofrecer aplicaciones portables que mejoren y faciliten las actividades comerciales de una empresa. El propósito de este trabajo es tener una fuente de conocimiento en el área de desarrollo y operación de aplicaciones móviles, y los sistemas de transmisión de datos inalámbricos de amplia cobertura. Este documento se encuentra dividido seis partes, la primera parte es la descripción de la aplicación móvil realizada para este proyecto. Siguiendo con la introducción al lenguaje de programación java para dispositivos móviles, continuando con el almacenamiento persistente de datos, después el manejo del entorno de desarrollo Netbeans, sobre el cual se compilan los proyectos móviles, y al final, el reconocimiento de los sistemas de red GPRS, Trunking para transmisión de datos. Los temas aquí cubiertos son un material de apoyo técnico para Sidem y de apoyo académico para quienes estén interesados en aprender el entorno de desarrollo y ejecución de aplicaciones móviles.

Page 16: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

16

1. PLANTEAMIENTO DEL PROBLEMA

En la actualidad Sidem Ltda, no ofrece soluciones comerciales sobre dispositivos móviles celulares, y no cuenta con la documentación necesaria que soporte la información técnica de estas tecnologías.

Page 17: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

17

2. OBJETIVOS

2.1 OBJETIVO GENERAL Llevar a cabo el desarrollo de una aplicación que permita tomar pedidos, consulta de stock en línea, consulta de inventario; desde un celular GSM o un equipo Avantel (Automatización de Fuerza de Ventas sobre dispositivos móviles). 2.2 OBJETIVOS ESPECÍFICOS Investigar y documentar la transmisión de datos en las redes de COMCEL y la

red trunking de Avantel. Consultar la utilización de herramientas de la tecnología Java para la

programación de terminales móviles on-line. Desarrollar un software para celulares y quipos trunking, que permita gestión

de ventas en toma de pedidos, distribución, consulta de stock e inventario de productos.

Habilitar dispositivos móviles (celulares, smarthphones, radio teléfonos) para operar en línea con bases de datos almacenadas en un servidor.

Realizar pruebas en la plataforma virtual, a través de emuladores sobre el funcionamiento de la aplicación.

Realizar pruebas en la plataforma real (Red Avantel) donde va a operar la aplicación.

Page 18: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

18

3. JUSTIFICACIÓN

La empresa “Sistemas de integración y desarrollo empresarial”, Sidem Ltda, es una empresa que desarrolla soluciones en software para el sector comercial, sector salud y administrativo. Sidem busca estar a la vanguardia para brindar programas de asistencia comercial de última tecnología. Las aplicaciones en teléfonos celulares permiten movilidad y gestiones comerciales en menor tiempo agilizando los procesos de venta. El sector comercial y administrativo encuentra en esta herramienta una gran ayuda por esto tienen buena acogida en la industria. Indirectamente Sidem se beneficia con este proyecto ya que se están formando vínculos para ampliar la investigación, aprovechando los recursos académicos de la Universidad Autónoma de Occidente, como también brindando un aporte documentado sobre las nuevas tecnologías electrónicas en el comercio. Para los participantes del proyecto es de beneficio y experiencia el conocer la estructura para Automatizar procesos de ventas, ya que esta nueva tecnología, tiene una gran acogida en el sector industrial.

Page 19: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

19

4. AUTOMATIZACION DE FUERZA DE VENTAS La automatización de fuerza de ventas es una herramienta para realizar transacciones comerciales a través de tecnologías electrónicas. Esta permite que los procesos sean más ágiles y eficientes, gracias a los servicios de transmisión de datos digitales. También se hace posible el ingreso, consulta, y operaciones en línea de información almacenada en bases de datos, para nuestro propósito, manipuladas desde dispositivos móviles siempre conectados a una red de telecomunicaciones, como son teléfonos celulares con tecnología GSM y dispositivos móviles que soporten la plataforma j2me (Java 2 micro edition). Dada las problemáticas que surgen en el proceso de mercadeo de un producto, es necesario mejorar el manejo de los datos económicos de una empresa, se cuenta con la tecnología para hacerlo. La automatización de fuerza de ventas para el caso de esta pasantía, ahorra gastos en transporte, ya que evita a los vendedores la necesidad que tenían de desplazarse hasta el centro de distribución para hacer un pedido, economizando así tiempo y dinero. Se agilizará el proceso de ventas ya que la solicitud de productos es inmediata. También es importante solucionar el problema de horario en los servicios de pedidos, ya que con el sistema se tendrá acceso a pedidos en jornada continua. Actualmente muchas empresas cuentan con sistemas automáticos móviles, para la gestión de ventas. Pero estos sistemas no son en línea, esto retraza la distribución de sus mercancías. La tecnología ofrecida, permite agilizar el proceso de pedidos, despacho, entrega, y por consiguiente, para los administradores, agilizar el estado de cuenta de la empresa. 4.1 DESCRIPCION DE LA IMPLEMENTACIÓN 4.1.1 Descripción de la plataforma empleada Entorno de desarrollo IDE: Netbeans Lenguaje de Desarrollo: Java 2 Micro Edition Emulador Utilizado: SDK Sony Ericsson- W600 emu Servidor Web: Apache. Servidor de Base de datos: SQL Server. Transmisión de datos: red GPRS Conexión utilizada: HttpConnection Método de envío y recepción utilizado: Método Post.

Page 20: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

20

4.1.2 Descripción del usuario: Es la persona que interactúa con el servicio. La Figura 1 muestra las funcionalidades del usuario. Figura 1. Diagrama de uso del agente de Ventas

Alcances para

Vendedor

• 24 horas de disponibilidad para pedidos, en cualquier lugar.

• Conocimiento productos disponibles, en línea. • Rápido acceso a información.

Listado de Casos de uso del sistema para el vendedor:

Identificación: El vendedor como primera instancia debe identificarse como

usuario autorizado del sistema, para poder acceder al menú de servicios.

Page 21: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

21

Tabla 1. Casos de Uso para el agente de ventas Menú de servicios - Vendedores

Opción 1. Ver Ruta

El sistema entrega al vendedor la información de los

clientes que debe visitar.

Opción 2. Información

del tendero.

El sistema entrega la información del tendero, el

servicio despliega datos como razón social,

representante legal, dirección, teléfono, entre otros.

Opción 3. Ver

Información del

Producto

El servicio le proporciona al vendedor el nombre,

código, cantidad disponible y precio del producto.

Opción 4. Toma de

Pedidos.

El sistema entrega un formulario donde se debe

introducir el producto y la cantidad solicitada. Luego de

ingresar todo el pedido, se lo envía en línea. El sistema

informa sobre “envío exitoso”, o si Hubo fallas en la

transmisión.

Page 22: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

22

4.2 ARQUITECTURA DE LA APLICACIÓN. La aplicación tiene la siguiente arquitectura dividida en cuatro paquetes Figura 2. Descripción del proyecto en Netbeans

4.2.1 Corriendo el proyecto: El proyecto se compilo utilizando el SDK de Sony Ericsson y el emulador del teléfono W600. A continuación se muestran las interfaces gráficas

Paquete de Control : Contiene el midlet controlador de la aplicación Paquete Entidad: contiene las clases que manejan los registros Paquete Iconos: Iconos que contiene la aplicación. Paquete view: Contiene las interfaces gráficas de usuario

Page 23: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

23

Al correr la aplicación se despliega la siguiente pantalla, que muestra el nombre de la aplicación. (Figura 3) Figura 3. Launch Project

Al lanzar la aplicación se despliega la interfaz gráfica de selección

Page 24: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

24

La lista ingreso es para acceder al sistema. Y pedir la ruta que el vendedor debe cubrir en determinado día. En el formulario IDENTIFICACION se escribe el Usuario:, contraseña:, y día en que el vendedor va a cubrir la ruta. En este caso se seleccionó martes.(Figura 4) Figura 4. Autenticación

La clave y el usuario más el día en que se debe cubrir una ruta, son enviados en un string a través de una conexión http, hacía el servidor, este autentica los datos. Si el Usuario o Contraseña son erróneos el servidor devuelve un 0, y se lanza una alerta de usuario no válido. Si los datos son válidos el servidor devuelve la

Page 25: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

25

información que contiene los productos y clientes (Figura 5). Figura 5. Respuesta del servidor.

La lista de clientes muestra los clientes a quienes se debe visitar. (Figura 6) Figura 6. Lista de clientes.

Cada cliente tiene la opción de Hacer Pedido , al seleccionar esta opción se despliega un formulario que contiene los datos del cliente quien hace el pedido y la

Información del Usuario

Page 26: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

26

fecha y hora en que se hizo (Figura 7) Figura 7. Pedido

Al seleccionar Escoger Producto Se despliega la pantalla que contiene la lista de productos. Al seleccionar un producto se despliega la siguiente interfaz, que contiene la

Page 27: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

27

información sobre el producto. (Figura 8) Figura 8. Información del producto.

Al seleccionar Guardar la descripción del producto y el precio total se adicionan al menú Toma de pedido de la Figura 7. Luego de registrar los productor, en el menú Toma de pedido (Figura 7) se encuentra la opción Menú, al seleccionar esta opción se despliega el menú de la Figura 9 Figura 9. Menú enviar

La opción Enviar, envía a través de la red GPRS la información del pedido hacia el servidor de base de datos.

Page 28: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

28

Finalmente en el lado del servido el administrador puede observar que los pedidos fueron ejecutados (Figura 10) Figura 10. Web pedidos

Luís Carlos Molina con nombre de Usuario: lcm tiene registrado un pedido. Al ver las características del pedido se observa la fecha, la cantidad, el total de la copra, el nombre del comprador y vendedor.

Page 29: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

29

Figura 11. Descripción del pedido en la web.

De este modo quedan los pedidos registrados. La Figura 12 Muestra que la transmisión de datos no es de modo directo, sino que se hace a través de una red privada. Figura 12. Descripción de la interacción con la red.

Page 30: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

30

4.2 ESTABLECIMIENTO DE BENEFICIOS QUE SE DESEAN LOGRAR

Corto Plazo:

Permitir agilizar los procesos venta a los administradores.

• Mayor control de distribución.

• Mejorar la calidad del servicio al cliente.

• Aprovechar la transmisión de datos en línea.

Mediano Plazo:

• Mejorar las ventas a distribuidores, debido a la agilidad y eficiencia del servicio.

• Innovación en aplicaciones, para actualizar el sistema de ventas.

• Adaptación y flexibilidad de los trabajadores hacia la nueva tecnología.

Largo Plazo:

• Dar importancia a los continuos esfuerzos de la empresa por innovar

• Crear conciencia de la necesidad de mantenerse a la vanguardia para ofrecer

un mejor servicio.

• Presentar necesidades para el desarrollo de nuevas soluciones móviles.

4.3 CALIDAD DEL SERVICIO Esta depende de factores como: - Capacitación de empleados para conocer plenamente el manejo de la

tecnología. - Responsabilidad de los usuarios en el momento de interactuar con el sistema

base. - Las zonas de cobertura de la red, ya que no se podrá interactuar con el

sistema base en un sector que no tiene cobertura. - Ingreso correcto de información sobre pedidos. - Fallas en la red de transmisión. - Continua capacitación de los empleados. - Gestión eficaz en abastecimiento del inventario. - Características de memoria y pantalla del equipo móvil con que se trabaje.

Page 31: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

31

5. INTRODUCCION a J2ME JAVA 2 MICRO EDITION

Versión de Java orientada a dispositivos móviles que posean bajas capacidades de hardware y software, poca capacidad de memoria, de procesador, pantalla. A continuación se muestra la arquitectura del entorno J2ME.

5.1 ARQUITECTURA Java posee una máquina virtual, una configuración y un perfil requeridos para su funcionamiento (Figura 13). Figura 13. Arquitectura J2ME

Aquí se describen cada uno de estos elementos.

5.1.1 Sistema Operativo. Sistema que poseen los teléfonos sobre el cual va la maquina virtual java, estos sistemas para teléfonos celulares pueden ser Symbian OS, palm OS, etc.

5.1.2 Java Virtual Machine (JVM). Una máquina virtual es un programa ejecutable en una plataforma específica, esta es capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (Java bytecode), el cual es generado por el compilador del lenguaje Java. La VM proporciona al programa Java independencia de la plataforma con respecto al hardware y al sistema operativo base, existente.

Stma Operativo

Perfil MIDP

Configuración

Maquina Virtual

Page 32: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

32

KVM (Kilo Virtual Machine): Es la Máquina Virtual más pequeña desarrollada por Sun para dispositivos móviles. Requiere entre 50 y 80 Kbytes de memoria.

5.1.3 Configuración. Es el grupo de APIs (Application Programming Interface), necesarias para desarrollar aplicaciones móviles. Existen 2 configuraciones definidas en J2ME: - Connected Limited Device Configuration (CLDC): enfocada a dispositivos con

restricciones de procesamiento y memoria. Ejemplo: Teléfonos celulares. - Connected Device Configuration (CDC) enfocada a dispositivos con más

recursos. Ejemplo pocket pc, palms.

Este documento esta enfocado en la configuración CLDC, ya que se va a trabajar sobre equipos celulares.

- Configuración estándar de J2ME CLDC (Connected Limited Device Configuration)

Es la configuración estándar para desarrollar aplicaciones en un amplio rango de dispositivos, contiene un conjunto de clases esenciales para desarrollar aplicaciones.

Requisitos mínimos de hardware para CLDC - Procesador de 16 bits - 128 KB en memoria no volátil para la máquina virtual Java y las librerías API de

CLDC. - 32 KB de memoria volátil, para sistema de ejecución (Java Runtime System). - Conexión a red.

Características CLDC 1.0

- CLDC no proporciona soporte para coma flotante - No se cuenta con el método objet.finalize, este método se invoca cuando se

elimina un objeto de la memoria, para optimizar los recursos. - Se limita el manejo de las excepciones, ya que es difícil definir un conjunto de

clases estándar para todo el grupo de dispositivos

Page 33: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

33

- La seguridad en CLDC sigue el modelo sandbox Sandbox: Modelo de seguridad donde las aplicaciones pueden ser ejecutadas sin riesgo para el resto del sistema. Es decir, una aplicación debe correr en un ambiente cerrado en el cual la aplicación puede acceder solamente a las librerías que fueron definidas por la configuración, perfil u otras clases soportadas por el dispositivo. Las aplicaciones no pueden acceder a librerías o recursos que no estén predefinidos. Características CLDC

* 1.1

La versión revisada de la especificación CLCD 1.0, incluye: - Soporte para punto flotante Todos los códigos de bytes de punto flotante son soportados. También las clases Float y Double, son adicionadas. - Soporte para referencia débil (Pequeño subconjunto de j2SE de las clases de

referencia débil) - Las clases Calendar, Date y TimeZone fueron adicionadas. - Fue adicionada una nueva clase para manejo de errores,

NoClassDefFoundError. - En CLDC 1.1 los hilos tienen nombres semejantes a los de j2ME. El método

Thread.getName() fue introducido. Y la clase Thread tiene algunos nuevos constructores heredados de J2SE.

- Se adicionaron los siguientes archivos y métodos.

■ Boolean.TRUE and Boolean.FALSE ■ Date.toString() ■ Random.nextInt(int n) ■ String.intern() ■ String.equalsIgnoreCase() ■ Thread.interrupt() - Mínimos requerimientos de memoria. Entre 160 y 192 Kilobytes,

principalmente a causa de la adición de punto flotante. - Fueron añadidas especificaciones de texto y las subsecciones obsoletas fueron

removidas. Los dispositivos deben tener las siguientes características: ■ Al menos 192 Kb de memoria disponible para la plataforma Java ■ 16-bit o 32-bit de procesador * La mayoría de teléfonos celulares ya poseen la configuración CLDC 1.1. Los teléfonos que posean la configuración CLDC 1.0 no se pueden actualizar a CLDC 1.1, ya que es necesario mayores capacidades de hardware en memoria y procesamiento.

Page 34: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

34

■ Bajo consumo de energía ■ Conectividad a algunos tipos de red, a menudo redes inalámbricas. Alcances de CLDC 1.1 CLDC cubre las siguientes áreas. ■ Características del lenguaje Java y la maquina virtual. ■ Librerías Java (java.lang.*,java.util.*) ■ Input/output (java.io.*) ■ Seguridad ■ Networking ■ Internacionalización

5.1.4 Perfil (Profile). Es un grupo específico de APIs que definen las características de un dispositivo, mientras que la configuración define las características de una familia de dispositivos. En la arquitectura J2ME, el perfil va por encima de la configuración, esto quiere decir que un perfil se construye sobre una configuración determinada. El perfil es el conjunto de APIs que otorgan a una configuración una funcionalidad específica.

Este se encarga de: ■ Instalación de las aplicaciones y manejo del ciclo de vida ■ Funcionalidad de Interfaz de Usuario (UI) ■ Manejo de eventos. ■ Modelo de aplicaciones de alto nivel (Interacción entre el usuario y la aplicación) Una configuración y un Perfil se ejecuta sobre la maquina virtual y esta a su vez sobre el sistema operativo existente. MIDP es el perfil de j2me y se muestra a continuación.

5.2 MIDP (Mobile Information Device Profile) Es un perfil que proporciona un entorno de ejecución para dispositivos móviles. Las especificaciones de MIDP, fueron definidas a través de la Java Commnunity Process (JCP). Existen dos versiones de MIDP:

• MIDP 1.0 (JSR 37)

Page 35: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

35

• MIDP 2.0 (JSR 118)

5.2.1 MIDP 1.0 (JSR 37). (Java Specification Requests 37): Especificación que define un perfil que habilita el desarrollo de aplicaciones para dispositivos móviles. Los requisitos hardware mínimos que exige MIDP 1.0 son los siguientes:

• Pantalla: 96x54 con una profundidad de color por pixel de 1 bit • Introducción de datos: Se ha de permitir alguno de los siguientes

mecanismos:

teclado de una mano (teclado de teléfono IUT-T) teclado de dos manos (teclado QWERTY) pantalla táctil

• Memoria (exclusivamente para aplicaciones MIDP):

128 KB de memoria no volátil para las aplicaciones MIDP 8 KB de memoria no volátil para los datos persistentes de la aplicación 32 KB de memoria volátil para el entorno de ejecución Java

• Trabajo en red: Ancho de banda limitado, bidireccional, sin cables, normalmente intermitente.

5.2.2 MIDP 2.0 (JSR 118). Es la última versión de MIDP, que permite mayor funcionalidad para desarrollar aplicaciones. Uno de los aportes más importantes de MIDP 2.0 es la seguridad. Soporte para WAPCERT (WAP Certificate Profile), certificados de clave pública y listas de renovación de certificados. Estas características protegen al dispositivo contra accesos no autorizados por parte de las aplicaciones. Los protocolos seguros estándar como HTTPS, TLS/SSL y WTLS permiten la transmisión segura de datos a través de la encriptación de los mismos. Es necesario aclarar que bajo la especificación MIDP 1.0 no se soporta comunicación serial a través de CommConecction, bluetooth, no soporta manejo multimedia, y otros limitaciones; a diferencia de MIDP 2.0 Esta versión extiende la conectividad de red, para soportar http, datagramas UDP, sockets TCP. La descarga de aplicaciones a través de OTA (Over To Air) también a sido mejorada.

Page 36: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

36

Características Interfaz de Usuario Mejorada: Mejora la portabilidad de las aplicaciones, provee extensibilidad. Hace las aplicaciones más interactivas y fáciles de usar, por ejemplo: - Los ítems pueden tener su propio set de comandos que pueden ser invocados, así como también adicionar nuevos comandos. Conectividad Expandida: MIDP 2.0 da soporte para los estándares de conectividad como http, https, datagrama, sockets, Server sockeets, y comunicaciones por puerto serie. Arquitectura Push: Incluye un modelo de servidor “Push”, que mantiene una lista de aplicaciones registradas para que pueda recibir información de la red. Cuando la información llega, el dispositivo decide que aplicación usar en función de las preferencias del usuario. Esta arquitectura incluye alertas, mensajería, y miltidifusión, mejorando las capacidades de gestión de eventos de los dispositivos y redes de comunicaciones. Provisión de OTA: La principal, nueva característica de MIDP 2.0 es su habilidad para despliegue dinámico, y actualización de aplicaciones sobre el aire (OTA). MIDP también habilita al proveedor del servicio para identificar que MIDlet suites trabajan en determinado dispositivo, y obtiene reportes de estado de aplicaciones que han sido actualizadas o removidas. End-to-end Security: MIDP 2.0 adiciona un robusto modelo de seguridad end-to-end, fundamentado en estándares abiertos, que protegen la red. MIDP 2.0 soporta HTTPS y estándares tales como SSL y WTLS que permiten la transmisión de datos encriptados.

5.3 MIDlet Son las aplicaciones J2ME desarrolladas bajo la especificación MIDP. Esta especificación indica las capacidades y restricciones de los móviles que utilicen java. Un MIDlet se almacena dentro de un fichero .class. Las aplicaciones deben ser probadas antes de ejecutarse, para así evitar una operación no permitida dentro de la maquina virtual. Es recomendable descargar el emulador de determinado equipo celular, ya que este simula las característicasreales del dispositivo, si una aplicación no se ejecuta en el emulador, lo más probable es que no corra en el dispositivo móvil.

Page 37: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

37

Después de ser preverificada, una aplicación se empaqueta en un fichero .jar y este fichero se descarga al dispositivo, en la mayoría de los dispositivos este archivo se ejecuta automáticamente, y se guarda en la carpeta aplicaciones del teléfono. Archivo manifiesto: Para poner en marcha un MIDlet se requiere una información extra; esta información se almacena en un fichero de manifiesto que va incluido en el fichero .jar. “La finalidad del manifiesto es describir el contenido del fichero .JAR con información tal como el nombre, versión, vendedor, etc. También se incluye en este fichero una entrada por cada MIDlet que lo compone”.1 Un fichero .jar se compone de:

• Clases del MIDLet • Clases de soporte • Recursos (imágenes, sonidos...) • Manifiesto (fichero “.mf”) • Descriptor (fichero “.jad”): este fichero es necesario para ejecutar la aplicación.

El fichero contiene la siguiente información: MIDLet-1: midlet1, ,MIDLet1 MIDLet-Name: Prueba1 MIDLet-Version: 1.0 MIDLet-Vendor: Andrea.M MIDLet-Jar-URL: midlet1.jar MIDLet-Jar-Size: 981

El código fuente de un MIDLet se almacena en el directorio src. Los archivos ejecutables para ser descargados al celular dependiendo el fabricante del equipo, serán los archivos jad o jar. En la mayoría de teléfonos se descarga el archivo jar, algunos otros equipos como Motorota, requieren el archivo .jad para hacer instalación del paquete .jar; como ya se había mencionado antes, estos archivos se crean automáticamente cuando se compila la aplicación y se alojan en la carpeta dist.

5.3.1 Estructura de un MIDlet. Todos los MIDLets tienen la estructura de la clase base javax.microedition.midlet.MIDlet. Esta clase define varios métodos como son:

1 Aplicaciones móviles [en línea]. Madrid: Universidad Carlos III De Madrid, 2001. [consultado 30 de Noviembre de 2006]. Disponible en Internet: http://www.it.uc3m.es/pervasive/documentos/Intro_J2ME.pdf

Page 38: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

38

startApp() – Lanza el MIDlet pauseApp() – Detiene el MIDlet

destroyApp() – Detruye el MIDlet

El formato básico para hacer cualquier MIDlet es: import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Midlet extends MIDlet { /*Aqui se inician las variables.*/ public void startApp() { /*Código que se ejecuta cuando el MIDlet se activa*/ } public void pauseApp() { /*Código opcional que se ejecuta cuando el MIDlet esta en pausa*/ } public void destroyApp (boolean unconditional) { } /*Código Opcional que se ejecuta cuando el MIDlet es destruido*/ }

Todos los MIDlets se crean bajo la anterior estructura y cumplen con un ciclo de

Page 39: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

39

vida. (Figura 14.) Figura 14. Ciclo de vida de un MIDlet.

Imagen 2. Ciclo de vida de un MIDlet

Estos métodos definen el estado del MIDLet el cual es activo, parado o destruido. El MIDLet puede ser detenido, o ejecutado varias veces, pero una vez destruido no se puede recuperar. El programa encargado de manejar la descarga y ciclo de vida de los MIDlets en el dispositivo se llama Gestor de Aplicaciones o AMS (Application Management Software).

5.3.2 Ejemplo MIDlet Hola Mundo package Mundo; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /** * * @author Andrea * @version */ public class HolaMundo extends MIDlet { private Display pantalla; private Form formulario = null; //Declara un formulario

new( ) pauseApp( ) destroyApp( ) startApp( )

Pausado

Activo

Destruido

Page 40: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

40

public HolaMundo(){ pantalla = Display.getDisplay(this); formulario = new Form("Hola Mundo"); } public void startApp() { pantalla.setCurrent(formulario);//Cuando se da inicio a la aplicación se despliega el formulario creado } public void pauseApp() { } public void destroyApp(boolean unconditional) { pantalla = null; formulario = null; notifyDestroyed(); } } Figura 15. Despliegue

Page 41: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

41

5.4 APIs API (Application Programming Interface - Interfaz de Programación de Aplicaciones) es un grupo de especificaciones que proporcionan soporte para el desarrollo de software. El propósito de una API consiste en proporcionar un conjunto de funciones de uso general, por ejemplo para dibujar ventanas o íconos en la pantalla. De esta forma los programadores se benefician de las ventajas de la API, evitando el trabajo de programar todo.

5.4.1 APIs de J2ME Las APIs que proporcionan soporte para el desarrollo de MIDlets, están descritas en las especificaciones que definen una configuración y un perfil de dispositivos inalámbricos móviles. Estas APIs constan de clases e interfaces ya presentes en el estándar j2SE.

J2ME tiene la característica de tener una parte de su API fija, es decir, aplicable a todos los dispositivos inalámbricos y una parte que es específica para ciertos dispositivos; como ejemplo la API especifica de Palm y otra para celulares.

Ubicación de APIs J2ME dentro de la plataforma JAVA 2 de SUN Figura 15. Ubicación de APIs dentro de la plataforma J2 de Sun

Fuente: GÁLVEZ, Sergio. Java a Tope [en línea]. Málaga: Universidad de Málaga, 2000. [consultado 15 Noviembre de 2006]. Disponible en Internet: http://www.lcc.uma.es/~galvez/J2ME.html

Page 42: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

42

La interfaz de usuario (User interface, UI) MIDP está compuesta de dos APIs: una de alto nivel y otra de bajo nivel. • La primera (high-leve API) se diseña para aplicaciones de negocio para las que interesa una portabilidad del cliente. Para ello, se sacrifica el control sobre la apariencia (look & feel) de los distintos elementos que la componen. La implementación asumirá y llevará a cabo la adaptación de la UI al dispositivo y programas: o La implementación del dispositivo será responsable de la apariencia visual

(forma, color, tipo de letra, etc)*. o La navegación por los elementos de la interfaz dependen de la implementación

y la aplicación no lo controla. o Las aplicaciones no pueden acceder a dispositivos de entrada concretos.

• El API de bajo nivel (low-level API), Se ha diseñado para que las aplicaciones que necesiten un control fino de los elementos gráfico o acceso a dispositivos de entrada puedan hacerlo directamente. A cambio de todo esto, se sacrifica la portabilidad de este tipo de aplicaciones. Un ejemplo típico de estas aplicaciones son los juegos. Si se utiliza este API se podrá: o Tener un control absoluto de lo que se dibuja en la pantalla o Controlar los eventos primitivos del tipo pulsación y liberación de teclas o Acceder a teclas concretas y otros dispositivos de entrada.

5.5 CLASES UTILIZADAS EN J2ME

5.5.1 La clase display. javax.microedition.lcdui.Display clase que controla la pantalla del dispositivo. En un dispositivo móvil solo se puede abrir una pantalla a la vez; es por eso que solo existe una petición Display por cada MIDLet que se ejecuta. Se declara de la siguiente manera. display = Display.getDisplay(this) Esta clase se define dentro del paquete javax.microedition.lcdui. El objeto Display, proporciona acceso a la pantalla y teclado. La clase display esta disponible desde el comienzo del método startApp(), y es válido hasta el final de la ejecución del método destroyApp().

* Dependiendo la configuración que tenga un dispositivo, así se vera la aplicación, dependiendo el dispositivo quedan ubicados los controles para salir o entrar a la aplicación, color de letra, fondo, etc.

Page 43: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

43

Figura 16. Clases derivadas de la clase display

5.5.1.1 Clase Screen: javax.microedition.lcdui.Screen Objeto que sirve como base para otros componentes. Representan una pantalla de información como formulario, una lista o una línea de texto. Estas funcionalidades se encuentran en las subclases Form, TextBox o List de la clase Screen.

5.5.1.2 Clase InputStream. Esta clase define un interfaz básico para leer bytes en modo de stream (cadena de caracteres). Si no hay información disponible, el stream de entrada usa una técnica conocida como blocking (bloqueo), para esperar hasta que haya datos disponibles. La clase InputStream define los siguientes métodos: • read(): Método para leer datos. Este método lee bytes y los retorna como un

entero. • read(byte b[]) • read(byte b[], int off, int len) • skip(long n): Método usado para saltar un determinado número de bytes. • available(): método utilizado para determinar el número de bytes del stream.

Este es útil cuando queremos asegurarnos de que hay datos disponibles antes de llamar al método read y así evitar bloqueos.

• mark(int readlimit): Marca la posición actual del Stream • reset(): Usando este método se puede ir a la posición actual del Stream • markSupported(): devuelve un Boolean que indica si el Stream soporta las

marcas de posición.

Page 44: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

44

• close(): cierra el Stream y libera los recursos asociados.

5.5.1.3 Clase OutputStream. Sirve como base para todas las clases de streams de salida del MIDlet. Esta clase define el protocolo básico para escribir datos a través de un stream de salida. Por Ejemplo para enviar un stream a través del puerto serie. Métodos utilizados por esta clase: • write(int b): Escribe un byte en el stream. • write(byte b[]): Escribe una matriz de bytes y los escribe en el stream. • write(byte b[], int off, int len) • flush(): Método usado para dejar libre el stream. Fuerza al objeto

OutputStream enviar datos pedientes. • close(): cierra el stream y libera los recursos asociados.

5.6 GCF (Generic Connection Framework) de CLDC Sistema que provee soporte para funciones de red. Estas funciones las cumplen los perfiles, ya que un perfil se ajusta a las características de diferentes grupos de dispositivos. El perfil del MIDP* seleccionará los protocolos y servicios que el equipo móvil es capaz de soportar. Estas clases e interfaces usadas para acceso a red son muy similares a las usadas en J2SE y J2EE. El GCF está compuesto por una serie de interfaces de conexión, junto con la clase connector que es usada para establecer las diferentes conexiones. Todo esto, está dentro del paquete javax.microedition.io. En el GCF, todas las conexiones se crean utilizando el método estático open de la clase Connector. El método open tiene la siguiente sintaxis. Connector.open(String); Parámetro String: tiene el formato open "protocol:address;parameters". * El perfil MIDP 1.0 soporta conexiones http pero con algunas limitaciones, no soporta librerías bluetooth, ni comunicación serial.

Page 45: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

45

Ejemplo: Conexión HTTP:

o Connector.open("http://www.it.uc3m.es/pervasive"); • Conexión Datagrama:

o Connector.open("datagram://address:port#"); • Conmunicación con puerto serie:

o Connector.open("comm:0;baudrate=9600"); • Por puerto infrarrojo

o Connector.open(“comm: IR0;baudrate=9600”); • Acceso a ficheros:

o Connector.open("file:/miFichero.txt");

Tipos de conexiones: • Connection – Una conexión básica que sólo puede abrirse o cerrarse. • ContentConnection – Un flujo (stream) de conexión que proporciona acceso a

datos web. Acceso a información de algunos meta datos proporcionados en un conexión HTTP.

• DatagramConnection – Una conexión para manejar comunicaciones orientadas a paquetes. Representa el destino de un datagrama.

• InputConnection – representa un dispositivo desde el que se pueden leer datos.

• OutputConnection – representa un dispositivo en el que se pueden escribir datos.

• StreamConnection – Una conexión en ambas direcciones. Combina las conexiones de entrada y de salida anteriores.

• StreamConnectionNotifier – Una conexión especial para notificaciones, que es usada para esperar que se establezca una conexión.

Una vez una conexión esté establecida se deben usar las clases de entrada/salida para leer y escribir datos a través de la conexión. Estas clases son aportadas por el paquete java.io: • ByteArrayInputStream – Un flujo (stream) de entrada que se gestiona

internamente como una matriz de bytes. • ByteArrayOutputStream – Un flujo (stream) de salida que se gestiona

internamente como una matriz de bytes. • DataInputStream - Un flujo (stream) desde el cual se leen datos como tipos

primitivos. • DataOutputStream – Escribe datos en tipos primitivos en un flujo (stream) en

formato binario*

* Es necesario ver las características de conexión que tienen los dispositivos, ya que no todos soportan los mismos protocolos para establecer una comunicación por puerto serie.

Page 46: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

46

• InputStream – La clase base para todos los flujos (streams) de entrada • InputStreamReader – Un flujo (stream) desde el que se pueden leer caracteres

de texto • OutputStream – La clase base para todos los flujos (streams) de salida • OutputStreamWriter – Un flujo (stream) en el que se pueden escribir caracteres

de texto. • PrintStream – Un flujo (stream) de escritura que facilita el “envío” de datos en

forma de tipos primitivos. • Reader – Una clase abstracta para leer flujos (streams) de lectura • Writer – Una clase abstracta para leer flujos (streams) de escritura Las dos clases más importantes de esta lista son InputStream y OutputStream, que proporcionan la funcionalidad básica para recibir y enviar datos.

5.6.1 Ejemplo de acceso a una web con contenido txt, utilizando un dispositivo móvil.

import java.io.*; import javax.microedition.midlet.*; import javax.microedition.io.*; import javax.microedition.lcdui.*; /** * Un ejemplo de MIDlet para visualizar el contenido de una URL * utilizando la implementación del interfaz HttpConnection. */ public class MIDletHTTPExample extends MIDlet { private Display display; //de declara la url con la cual se va a establecer la conexión private String url = "http://www.it.uc3m.es/celeste/docencia/cr/hola.txt"; public MIDletHTTPExample() { display = Display.getDisplay(this); } /** * Método startApp() */ public void startApp() { // Llama al método download para descargar el contenido de la URL try { download(url);

Page 47: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

47

} catch(IOException e) { System.out.println("IOException: " + e); } } private void download (String url) throws IOException { StringBuffer b = new StringBuffer(); InputStream is = null; HttpConnection c = null; TextBox t = null; try { long len = 0 ; int ch = 0; // Abre una conexión del tipo HttpConnection c = (HttpConnection)Connector.open(url); // Obtiene un stream de entrada, para leer el contenido de la url // con la que establece la conexión is = c.openInputStream(); // Lee hasta que se cierra la conexión while ((ch = is.read()) != -1) { b.append((char)ch); } // Se contruye un TextBox con el contenido de la URL t = new TextBox("Hola...", b.toString(), 1024, 0); } finally { // Se cierra tanto el stream de entrada if (is != null) is.close(); // Se cierra la conexión if (c != null) c.close(); } // Se visualiza el TextBox en el Display display.setCurrent(t); }

Page 48: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

48

/** * pauseApp */ public void pauseApp() { } /** * destroyApp */ public void destroyApp(boolean unconditional) { } }

Figura 17. Resultado

Al lanzar la aplicación, se habre la web http://www.it.uc3m.es/celeste/docencia/cr/hola.txt Esta página tiene una pequeña frase en formato txt.

5.7 OTA (Over The Air) Medio para realizar descargas de aplicaciones (Over the Air). La documentación OTA se encuentra en internet3.

3 OTA provisioning [en línea]. Estados Unidos: SUN Microsystems, 2004. [cosultado Noviembre de 2006]. Disponible en internet. http://java.sun.com/products/midp/OTAProvisioning-1.0.pdf

Page 49: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

49

5.8 J2ME y WAP La siguiente definición de WAP tomada del documento “Java a tope” de la universidad de Málaga4 dice: “WAP Wireless Application Protocol o Protocolo de Aplicación Inalámbrica, es un protocolo con el que se ha tratado de dotar a los dispositivos móviles de un pequeño y limitado navegador web. WAP exige la presencia de una puerta de enlace encargado de actuar cómo intermediario entre Internet y el terminal. Esta puerta de enlace o gateway es la que se encarga de convertir las peticiones WAP a peticiones web habituales y viceversa. Las páginas que se transfieren en una petición usando WAP no están escritas en HTML, si no que están escritas en WML, un subconjunto de éste. WAP ha sido un gran avance, pero no ha resultado ser la herramienta que se prometía. La navegación es muy engorrosa (La introducción de URLs largas por teclado es muy pesada, además de que cualquier error en su introducción requiere que se vuelva a escribir la dirección completa por el teclado del móvil). Además su coste es bastante elevado ya que el pago de uso de esta tecnología se realiza en base al tiempo de conexión a una velocidad, que no es digamos, muy buena.”WAP y J2ME son cosas distintas y no pueden competir entres sí. J2ME es una tecnología que permite la creación de aplicaciones que reciban y envíen datos a través de redes inalámbricas. WAP es sencillamente un protocolo para navegar la web en dispositivos móviles. Por tanto ambas tecnologías coexisten sin problemas.

4 GÁLVEZ ROJAS, Sergio. Java a Tope[en línea]. España: Java, 2001. [consultado 15 Noviembre de 2006]. Disponible en Internet: http://www.lcc.uma.es/~galvez/J2ME.html

Page 50: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

50

6 ALMACENAMIENTO PERSISTENTE DE DATOS (RMS)

6.1 ALMACENAMIENTO EN REGISTROS J2ME emplea espacios de memoria llamados registros los cuales son utilizados como medios de almacenamiento dentro del dispositivo móvil. El sistema de gestión de registros proporciona una serie de clases que permiten almacenar datos en bases de datos alojadas en el dispositivo móvil. El paquete de java MIDP que se ocupa del almacenamiento persistente de datos es javax.microedition.rms, RMS (Record Management System). Para que una aplicación pueda almacenar datos en el dispositivo móvil, debe crear un almacén de registros ("RecordStore"). RecordStore: Es una Base de datos especial donde la unidad de información son los registros (Records). Cada Record tiene un número de identificación llamado RecordID. - Cada almacén de registros tiene un nombre, identificador que es una cadena

de 1 a 32 caracteres Unicote. - La combinación (nombre del almacén, MIDlet Suite) identifican unívocamente a

un almacén de registros. - Un record puede contener: Un número, una cadena de caracteres, un vector de

datos, una imagen, o cualquier cosa que pueda representar una secuencia de bytes.

- Un MIDlet perteneciente a una Suite, puede acceder por tanto a cualquier almacén de datos de cualquiera de los otros MIDlets de su propia suite, pero no puede obtener ningún tipo de información de los almacenes de registros de cualquier otra Suite.

- Un almacén de registros tiene cero o más registros, donde cada registro es un array de bytes.

- Cuando un record es creado, el recordstore le asigna un único identificador. Llamado record ID. El primer record adicionado al almacén tiene un record ID de 1, el segundo un recordID de 2, y así sucesivamente. Cuando se borra un record, no se renumeran los records existentes.

- El cómo la información se almacena, es algo dependiente del dispositivo en concreto y no es visible a los MIDlets.

Page 51: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

51

6.2 MIDLET SUITE Es una colección de MIDLets contenidos en el fichero .jar. En MIDP 2.0 se pueden crear recordstores compartidos con otras suites.

Una suite se compone de MIDlets y cada MIDlet contiene un almacén de registros.

Figura 17. MIDlet Suite

6.3 INTERFACES

RecordComparator.- Nos ayudará a comparar dos registros para la obtención ordenada de todos los registros de un almacén.

RecordEnumeration.- Nos devolverá una enumeración de los registros de un almacén de datos. Nos servirá para recorrer todos los registros de un almacén.

RecordFilter.- A la hora de obtener una enumeración nos permitirá filtrar los registros que recorreremos.

RecordListener.- Monitorizador de eventos que usaremos para controlar cambios en los registros.

Page 52: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

52

6.4 CLASES Las clases que se incluyen en el paquete javax.microedition.rms son: 6.4.1 Clase RecordStore. Clase principal del almacenamiento por registros, representa una colección de registros. Por medio de esta clase se podrá: abrir, cerrar y borrar almacenes así como operar con los registros de éstos, añadiendo, eliminando, modificando y enumerando los registros dentro de un almacén.

Esta clase contiene los siguientes métodos: 6.4.1.1 Método para abrir un almacén de registros. Lo que hace el método es retornar un objeto Record Store para poder acceder, abrir un record store de nombre específico. Método: public static RecordStore openRecordStore (String name, boolean create) - Si abrimos un almacén que no está creado y el parámetro “boolean create” está en false se devolverá la excepción "RecordStoreNotFound". - Cuando abramos un almacén o crear uno nuevo se debe poner el parámetro “bolean create” en true, de esta manera se podrá comprobar si el almacén ya fue creado dentro de la misma suite. ejemplo RecordStore almacen = RecordStore.openRecordStore("Scores", true) 6.4.1.2 Método para cerrar un almacén de registros. Una vez se utilice se debe cerrar un almacén de registros, se utiliza el siguiente método: Método: public void closeRecordStore() Si se ha abierto un Record Store más de una vez, éste no se cerrara hasta que cada instancia del almacén invoque el método closeRecordStore(). Para utilizar un RecordStore éste primero se debe abrir de caso contrario, al querer utilizar un RecordStore que aún no se a abierto, el método devolverá la excepción "RecordStoreNotException".

Page 53: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

53

6.4.1.3 Método para eliminar un RecordStore del dispositivo móvil Método: public static void deleteRecordStore(String name) Para borrar un RecordStore debemos tener en cuenta. • No podremos borrar ningún Record Store que no pertenezca al Suite al que

pertenece el MIDlet • No podremos borrar ningún Record Store que esté siendo usado (no se haya

cerrado convenientemente) • Al eliminar una Suite de MIDlets automáticamente se borran sus almacenes de

registros. 6.4.1.4 Método para añadir registros a un almacén de registros. Añade un registro al almacén de registros y devuelve el identificador (id register) del registro añadido. Utilizaremos el siguiente método. Método: public int addRecord (byte[ ] data, int offset, int size) Los datos tienen que estar almacenados como un array de bytes ya que el método añade como nuevo registro el subarray de bytes de data (byte[ ] data). Parámetros: bytes= Matriz de bytes int offset = Desplazamiento dentro de la matriz. Int size = indica que se ha añadido toda la matriz de datos al almacén de registros. (Número de bytes a añadir)

6.4.1.5 Método para recuperar registros de un almacén de registros. Para recuperar un registro del almacén de registros se debe convertir el arreglo de bytes en datos entendibles. El método utilizado es Método: public byte[ ] getRecord(int recordId) 6.4.1.6 Método para editar registros. La llamada para almacenar un registro después de haberlo modificado, lleva indicado el Id del registro a modificar. Método: public void setRecord(int recordID, byte[] data,int offset, int size);

Page 54: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

54

6.4.1.7 Método para borrar un registro del almacén. Simplemente se ejecuta el método: Método: public void deleteRecord(int recordID)

6.4.1.8 Métodos que controlan la modificación de registros. La edición de registros viene controlada por los objetos que implemente la interfaz "RecordListener" y que se configuren con el método addRecordListener() al correspondiente almacén. Esta interfaz tiene tres métodos, donde se identifican el nombre del registro y su identificador: Método 1: public void recordAdded(RecordStore store, int recordID); Método 2: public void recordChanged(RecordStore store, int recordID); Método 3: public void recordDeleted(RecordStore store,int recordID); 6.4.1.9 Métodos Para recorrer registros. El método para recorrer registros pertenece a la clase "RecordStore". Devuelve la enumeración de los registros, en el orden que nosotros señalemos. También implementa un filtro para seleccionar los registros que cumplan cierta condición. Método: public RecordEnumeration enumerateRecords (RecordFilter filter, RecordComparator comparator, boolean keepUpdated) Parámetros: - El término "filter" nos especificará los registros del almacén que serán incluidos en la enumeración. - RecordComparator comparator: Determina el orden en que los registros son enumerados.

"keepUpdated": Parámetro del tipo Bolean, determina si la enumeración debe ser actualizada con el almacén. Si el valor es true, la información sera actualizada automáticamente. Se puede realizar una llamada a esta función tomando los dos primeros parámetros en null, Una vez tenemos la enumeración, la manera de trabajar con ella es la siguiente:

Page 55: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

55

Disponemos de los siguientes métodos:

- public abstract int numRecords(): nos devuelve el número de registros de la enumeración.

- hasNextElement() y hasPreviousElement() nos permitirá comprobar si quedan elementos a recorrer delante o detrás del registro actual, y con

- nextRecordId() y previousRecordId() obtenemos los identificadores de el registro previo o siguiente completando la lectura con getRecord(int id) y con

- nextRecord() o previousRecord() obtenemos directamente el registro sin tener que utilizar después getRecord().

- otros métodos: reset(), isKeptUpdated(), keepUpdated(), rebuild().

Otros métodos para el manejo de registros

- getNumRecords(): devuelve el número de registros en el almacén de registros.

- getRecordSize(): devuelve el tamaño de los datos de ese registro (sin contar los datos internos del almacén asociados a este registro).

- getNextRecordId(): nos devuelve el id del siguiente registro que va a ser creado en el almacén de datos. Puede ser útil para almacenar claves externas o para almacenar el ID dentro de los datos del mismo registro. -OJO!: cuidado con el acceso concurrente al almacén de datos-.

Otras operaciones

• public static String[ ] listRecordStores(): obtenemos todos los nombres de los almacenes de datos que pertenecen al MIDlet suite

• public String getName(): devuelve el nombre del almacén al que se le aplica

• public long getLastModified(): devuelve la hora en la que fue modificado ( en milisegundos contando desde el uno de enero de 1970 ~ System currentTimeMillis())

• public int getVersion(): número entero que se modifica cada vez que un registro es insertado, eliminado o modificado.

• public int getSize(): número de bytes que ocupa el almacén. • public int getSizeAvailable(): número de bytes disponibles para que el

almacén siga creciendo.

Page 56: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

56

6.4.2 Excepciones. Al utilizar los métodos para el manejo de registros pueden ocurrir diferentes errores, y aquí se muestran las excepciones que se producen.

InvalidRecordIDException: cuando realizamos una operación con "RecordStore" sobre un registro que no existe. Tanto cero como los números negativos son identificadores inválidos para los registros.

RecordStoreException: excepción genérica para las operaciones realizadas sobre un "RecordStore". RecordStoreFullException: excepción generada cuando no hay espacio suficiente. RecordStoreNotFoundException: excepción lanzada cuando no se puede encontrar el "RecordStore" a abrir o cerrar. RecordStoreNotOpenException: intento de realizar una operación con un "RecordStore" que ya ha sido cerrado mediante la operación closeRecordStore().

6.5 Ejemplo de manejo de registros

/*-------------------------------------------------- * OpenClose.java * * www.CoreJ2ME.com * * Open, close, read and write to the record store. *-------------------------------------------------*/ import javax.microedition.rms.*; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; public class OpenClose extends MIDlet { private RecordStore rs = null; static final String RECORD_STORE = "rms_test"; public OpenClose() { // Abrimos el record store, llamado al método openRMS( ); openRMS(); // Metódo al que se le pasa un string para ser guardado en los Registros writeRMS("Java 2 Micro Edition");

Page 57: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

57

writeRMS("Core J2ME Technology"); readRMS(); // Médodo que lee el string guardado en los registros. closeRMS(); //Cierra el registro deleteRMS(); // Borra los registros cuando terminan de ejecutarse //los métodos anteriores } public void destroyApp( boolean unconditional ) { } public void startApp() { destroyApp(false); notifyDestroyed(); } public void pauseApp() { } public void openRMS() { try { // Crea un registro si este no existe. Ya que tiene el parámetro true. rs = RecordStore.openRecordStore(RECORD_STORE, true ); } catch (Exception e) { db(e.toString()); } } public void closeRMS() { try { rs.closeRecordStore(); } catch (Exception e)

Page 58: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

58

{ db(e.toString()); } } public void deleteRMS() { if (RecordStore.listRecordStores() != null) { try { RecordStore.deleteRecordStore(RECORD_STORE); } catch (Exception e) { db(e.toString()); } } } public void writeRMS(String str) { byte[ ] rec = str.getBytes(); try { rs.addRecord(rec, 0, rec.length); //Se toma el string y se lo guarda en un

//redord dentro del rs. } catch (Exception e) { db(e.toString()); } } public void readRMS() { try { byte[ ] data = new byte[50]; int dataLen; System.out.println("Reading from the record store:\n");

Page 59: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

59

for (int i = 1; i <= rs.getNumRecords(); i++) { System.out.println("------------------------------"); dataLen = rs.getRecord(i, data, 0); System.out.println("Record #" + i + ": " + new String(data, 0, dataLen)); } System.out.println("------------------------------"); } catch (Exception e) { db(e.toString()); } } /*-------------------------------------------------- * Message to console for debug/errors *-------------------------------------------------*/ private void db(String str) { System.err.println("Msg: " + str); } }

Page 60: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

60

7 ENTORNO DE DESARROLLO IDE El entorno de desarrollo es una herramienta donde el programador puede codificar, depurar, corregir, construir una aplicación, utilizando un determinado lenguaje de programación, en este caso el lenguaje utilizado será Java y el entorno de desarrollo Netbeans. Para trabajar en el ambiente Java se va a utilizar el IDE (Integrated Development Environment) de Netbeans 5.0*, ya que éste es un potente entorno de desarrollo que facilita la tarea de programar. 7.1 CARACTERÍSTICAS Netbeans* presenta las siguientes características. • Soporte integral para aplicaciones java. • Simplificado e intuitivo constructor de GUI (Graphical User Interface)

Constructor de interfaces de usuario, habilitado para aplicaciones web, empresariales, móviles, etc.

• Soporte para el Sun Application Server 8.2 • Soporte para servicios web para aplicaciones empresariales. • Incluye varios editores, incluyendo detectores de errores de línea e indicador

de sugerencias. • Incluye el Netbeans Profiler, el cual ayuda a optimizar las aplicaciones en

cuanto al uso de memoria y CPU. • Paquete para desarrollar aplicaciones móviles. 7.1.1 Tecnologías soportadas. Netbeans soporta las siguientes tecnologías. • JavaBeans empresarial (EJB) 2.1. • Java Servlet 2.4 • JavaServer Pages (JSP) 2.0 • JavaServerFaces 1.1 (JSR-127) • Java API for XML-based Remote Procedure Calls (JAX-RPC) 1.6 • Java APIs for XML Registries (JAXR) 1.0 • Java API for XML Processing (JAXP) 1.2 • JavaServer Pages Standard Tag Library 1.1 Support

* Revisar actualizaciones en la página http://netbeans.org (11/2006)

Page 61: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

61

7.1.2 Servidores Soportados. Netbeans viene integrado con los siguientes servidores.

• Sun Java System Application Server PE 8.1 update 2 • Tomcat 5.5.x • JBoss 4.0.x • WebLogic 9.0

Nota: El Sun Java System Application Server puede no correr en ciertas plataformas.

7.2 REQUERIMIENTOS DEL SISTEMA

Netbeans* corre en los sistemas operativos que soporten la maquina virtual de Java. • Microsoft Windows Vista Beta 1 • Microsoft Windows XP Professional SP2 • Solaris operating system (SPARC® and x86 Platform Editions) versions 8, 9,

and 10 • Red Hat Fedora Core 3 • Mac OS X 10.4 • Java Desktop System 2 • Microsoft Windows 2000 Professional SP3 • Various other Linux distributions • Open VMS 7.2-1 or later • Other UNIX® platforms, such as HP-UX

7.2.1 Requerimientos mínimos en el sistema. Para que el entorno de desarrollo pueda ejecutarse, se requieren estas mínimas características en la CPU.*

Procesador: 780 MHz. Memoria RAM: 512 MegaBytes. Espacio en disco: 125 megabytes

7.2.2 Software Requerido para Instalar NetBeans. El IDE requiere el kit de desarrollo Java; esta es la plataforma con la cual trabaja este entorno de desarrollo. Aquí se muestra los programas en orden de instalación. J2SE JDK 5.0 (Java 2 JDK, Java Development Kit Standard Edition): Consiste de un ambiente de desarrollo, con herramientas para compilar, depurar, y correr * A diferencia de otros entornos de desarrollo, como por ejemplo Eclipse, JBuilder, JDeveloper; Netbeans necesitas mejores características de hardware

Page 62: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

62

aplicaciones escritas en el lenguaje Java. Netbeans también corre en el J2SE SDK versión 1.4.2, pero fue probado para correr en el JDK 5.0. El JDK para Windows se puede descargar de la página: http://java.sun.com/j2se/1.5.0/download.jsp (11/2006) NetBeans IDE 5.0 Installer: Ambiente Integrado de Desarrollo.(58.03 MB) Download: http://www.netbeans.org NetBeans Mobility Pack 5.0 Installer: Software para desarrollar aplicaciones móviles.netbeans_mobility-5_0-win.exe (22.49 MB) Download: http://www.netbeans.org

NetBeans Profiler 5.0 Installer: Software para optimizar los requerimientos de memoria y procesador. Download: http://www.netbeans.org Sun Java System Appliction Server: Para usar las características de desarrollo en J2EE. Download: http://www.netbeans.org 7.3 GUÍA DE INSTALACIÓN PARA WINDOWS

7.3.1 Instalación de Netbeans. Para la instalación se siguen los siguientes pasos. • Se descarga y se ejecuta el J2SE JDK 5.0 • Una vez instalado el JDK (Java Development kit ), se ejecuta el instalador de

netbeans. • En la ventana que se muestra lea y acepte el acuerdo de licencia. De click en

Next. • Escoja el JDK que va a utilizar. Click en Next. • Verifique la carpeta de instalación es la correcta, y que dispone del espacio

suficiente en el disco duro. • Clic en Next y la instalación se inicia. 7.3.2 Instalación del Sun Java System Application Server • Ejecute el instalador. • Lea y responda al acuerdo de licencia y de click e next. • Especifique el directorio dentro del cual hará la instalación. • el app Server necesita ser registrado y activado en Netbeans antes de usarlo.

Este registro se hace de la siguiente manera.

Page 63: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

63

7.3.2.1 Registro del Java System Application Server en Netbeans

• En el menú de herramientas de Netbeans, vaya a Tools>Server Manager. • En el Server Manager de click en Add Server. • Seleccione Sun Java System Application Server 8.2 y de click en Next. • Seleccione la carpeta donde quedó instalado el App Server, digite el nombre

con que se reconocerá al Server en Netbeans, el que aparece es el nombre por defecto. Click en Next

• Ingrese el nombre de usuario y el password. • Nota: El usuario preestablecido es admin. Y el password: adminadmin • Click en Finish. 7.3.2.2 Iniciar el Sun Java System Application Server

• En el menú de herramientas de Netbeans seleccione Window>Runtime • Expanda el icono Servers y seleccione Sun Java System Application

Server • De clic derecho en el servidor y clic en Start • De este modo el servidor se inicia, para empezar a desarrollar y ejecutar

aplicaciones empresariales.

7.3.3 Instalación del NetBeans Mobility Pack 5.0 Paquete de Netbeans para desarrollar aplicaciones móviles

• Ejecute el instalador. • Mobility Pack se instala dentro del la carpeta de netbeans. • Se finaliza la instalación. • Netbeans automáticamente detecta el paquete de instalación, para empezar a

trabajar en aplicaciones móviles, sin la necesidad de ser adicionado. 7.3.3.1 Mobility Pack 5.0. Sirve para probar y depurar aplicaciones para JavaTM

Micro Edition Platform (J2ME), plataforma para dispositivos móviles. Tiene soporte para Mobile Information Device Profile (MIDP 2.0) y Limited Device Configuration (CLDC 1.1). Funcionalidades • Integración con el J2ME Wireless Toolkit 2.2. • Soporte para los formatos iMelody, MP3, MP4, AAC, WMA. • Soporte para http y SSL.

Page 64: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

64

• Soporte para eventos de red (simulando la entrada de una interrupción, tal como una llamada o mensaje)

• Mensaje de aviso cuando se ha excedido la cantidad de midlets en una suite. • Guía de usuario SDK actualizada. Características • Diseñador Visual: Para arrastrar objetos de diseño de pantalla dentro del

diseñador de flujo, editar acciones y generar automáticamente el código java. • Aplicaciones de conexión inalámbrica: Ofrece fácil acceso a servicios web y

servidores de datos desde MIDlets y a través de servlets. • Soporte de aplicaciones en múltiples dispositivos: Desarrollo de

aplicaciones que pueden ser editadas dependiendo las características de diferentes dispositivos.

• Opciones de despliegue: Para cargar un MIDlet vía WebDAV, FTP, y SCP desde dentro del IDE.

• Soporte a proyectos construidos en Apache Ant: Permite organizar el código fuente del MIDP y las bases de datos.

• Integración con el J2ME Wireless Toolkit 2.2: Provee soporte para avanzadas características de desarrollo tales como firmado de MIDlet, manejo de certificados, integra OTA (Emulación de OTA, mensajería inalámbrica, aplicaciones multimedia, emuladores para características mensajes SMS, y mensajes CBS, cell broadcast service; servicio para envío de mensajes a varios dispositivos dentro de un área determinada)

• Soporte para MIDP localización: Habilita para adicionar componentes específicos de localización.

• Soporte para los estándares J2ME MIDP 2.0 y CLDC 1.1 • Integra soporte para optimización: Adiciona seguridad, optimiza el tamaño de

las aplicaciones. • Pruebas bajo OTA: El emulador simula el comportamiento real de los

dispositivos móviles. El paquete de desarrollo para dispositivos móviles. Soporta una variedad emuladores. 7.4 EMULADORES UEI Unified Emulator Interface, estandarización que permite integrar ambientes de desarrollo para usar una sola interfase (API) en emuladores de varias compañías. A continuación se muestran los principales fabricantes.

Page 65: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

65

Los fabricantes de los equipos móviles, ofrecen emuladores que tienen las características reales de los celulares. Aquí se muestran los fabricantes y enlaces para descargar SDK que contienen sus respectivos emuladores. Motorota http://developer.motorola.com/?path=1.2 (Rev. 11/2006) (Requiere registro) Motorota ofrece el Software de desarrollo SDK (Software Development Kit), para J2ME. El cual incluye múltiples emuladores. Dependiendo de la KVM (kilo Virtual Machine), los emuladores de motorota se dividen en tres grupos A1, A3, A4.

Dispositivos que soporta el SDK de Motorota:

A.1 - A630, A845, C380, C381p, C381/C386, C384/C385/C390/C391, C650/C651, C698p, E375, E398, E550/V535/V560, T725, V180/V185/V186/V188, V220/V220i/V226, V3 (CLDC 1.0)/RAZR V3b, V300/V400/V500, V330/V547/V551/V555, V400p/V303p, V540/V545/V550, V600, V600i, V620, V635, V80

A.3 - C975, C980, E770 (New), E1000/E1000R, E1070 (New), RAZR V3x, V975, V980 A.4 - L2/L6, PEBL, V3 (CLDC 1.1), RAZR V3i, ROKR E1, SLVR, V190/V191, V230/V235, V360/V361, V557/V557p

Nokia http://www.forum.nokia.com (Rev. 11/2006) (Requiere registro) Ofrece software de desarrollo SDK para las plataformas de los dispositivos de la serie 40, serie 60 y serie 80. Dispositivos de la serie 40 6070, 6136, 6131, N92, 2355, 6165, 2855, 7360, 7370, 6280, 6265, 6265i, 6060, 6111, 6270, 5140i, 8800, 6152, 3155i, 6155i, 3152, 3155, 6155, 6230i, 6021, 6030, 6101, 6102, 6822, 6235i, 6235, 7710, 6020, 7260, 7270, 6651, 2650, 6170, 3220, 3587i, 3125, 6610i, 3120, 6012, 3205, 6255, 6015i, 5140, 3108, 6010,

Page 66: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

66

7200, 6810, 6820, 6230, 7600, 3105, 3200, 3100, 6108, 7250i, 9585, 6220, 3300, 3595, 6800, 6200, 6100, 8910i, 6800, 7250, 5100, 6650, 3510i, 3530, 6610, 7210. Serie 60 N80, N71, N92, E60, E61, E70, 3250, N90, N70, N91, 6682, 6680, 6681, 3230, 6630, 6670, 6260, 7610, 6620, 3620, 3660, 6600, 3600, 3650. Serie 80 9300i, 9300, 9500. Samsung http://developer.samsungmobile.com (Rev. 11/2006) (Requiere Registro) El programa para desarrollo de aplicaciones móviles de Samsung Ofrece varios SDKs y emuladores. SDK • JBlend_3.01.1.zip, emulador para los modelos: E770, D347, D357, D407,

D800, D807 & T609 • Java SDK for SGH-D600 • JBlend emulator for SGH-X800 • JBlend emulator for SGH-E860V • Wireless Toolkit Version 2.0.2 (SDK for Chinese models) Los Dispositivos aplicables son los siguientes.

- SGH-Z130 - SGH-C207/X480 - SGH-E720 - SGH-E860 - SGH-P705 - SGH-P777 - SGH-X475

Page 67: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

67

- SGH-E300/E310/E810 series - SGH-D410/D415/D418/E610/E618 series - SGH-E105/E710/E715/P400/P510/P518/X450/X458 series - SGH-C208/E608/X105 series - SGH-E108/E708/E808 series - SGH-X108/X608 series - SGH-D508 Aunque los emuladores para los dispositivos SGH-C208, E618, E708, X608, X450 & X458 no están disponibles, Los desarrolladores pueden sustituirlos por D410's skin for E610 & D508, E100's skin for E708 & E808, X100's skin for C208, E608 & X608 and P400's skin for P518, X450 & X458. • Java SDK for SGH-D500 • Samsung SGH-P400 emulator • Java SDK Version 2.0 for SGH-E800, E700, X600 & X100 • Java Emulator Version 1.3.1 for Samsung MIDP 1.0 Handsets (SDK for SGH-

D108). SGH-D100/D108, SGH-C100/C108T/C110, SGH-S100/S105, SGH-S200/S208, SGH-S300/S300M/S307, SGH-X426/X427 and SGH-X430 series handsets.

• Wireless Toolkit Version 2.0.1 Para los siguientes dispositivos.

SGH-E300/E310/E810 series - SGH-D410/D415/D418/E610/E618 series - SGH-E105/E710/E715/P400/P510/P518/X450/X458 series - SGH-C208/E608/X105 series - SGH-E108/E708/E808 series - SGH-X108/X608 series

Page 68: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

68

• Java SDK Version 1.0 for SGH-E700, E100, X600 & X100 • Wireless Toolkit Version 2.0.0 for Samsung MIDP 2.0 Handsets.

Samsung SGH-P400, SGH-E710/715, SGH-E105 & SGH-X105 series handsets.

• Java Emulator Version 1.3 for Samsung MIDP 1.0 Handsets Samsung SGH-C100, SGH-S100, SGH-S200, SGH-S300 & SGH-X426 series handsets.

Siemens y BenQ http://www.my-siemens.com/developer (Rev. 11/2006) (Requiere registro) El grupo de desarrollo de aplicaciones móviles de siemens, ofrece varios, kits de compatibilidad con la tecnología Siemens, (Technology Compatibility Kits, TCKs) provistas por Siemens. Mobility ToolKit (SMTK): Kit de desarrollo para equipos moviles Siemens. Emulator Pack v.00.12.08 para el siemens CF62 Emulator Pack v.0.12.24 (int'l) para siemens C60 Emulator Pack v.0.12.05 (int'l) siemens MC60 Emulator Pack v.0.21.05 (int'l) siemens SL55 Emulator Pack v.0.12.09.1 (int'l) siemens M55 Emulator Pack v.0.12.11.1 siemens S55/S56 Emulator Pack v.0.12.09.1 siemens S57 Emulator Pack v.0.12.15.1 siemens C55/C(T)56 Emulator Pack Version 13.201.540 (SVN13, BL201) siemens CX75 Emulator Pack Version 13.201.546(SVN13, BL201) CF75 Emulator Pack Version 20.79.608 S75 Emulator Pack v.37.135.08 (int'l) C65/C70 Emulator Pack v.37.135.08 (int'l) CX65 Emulator Pack v.37.135.08 (int'l) CX70 Emulator Pack v.37.135.08 (int'l) S65 SonyEricsson http://developer.sonyericsson.com (11/2006) (Requiere Registro) El programa para desarrollo de aplicaciones móviles de SonyEricsson, ofrece el SonyEricsson J2ME SDK, el cual incluye múltiples emuladores. Sony Ericsson SDK 2.2.3 for the Java(TM) ME Platform

Page 69: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

69

Trae los siguientes emuladores: MIDP 1.0 and CLDC 1.04: - P800 series - T610 series - T630 series - Z600 series MIDP 2.0 and CLDC 1.0 HI: - P900/P910 series MIDP 2.0 and CLDC 1.1: - F500i, - J300 series- K300 series- K500 series- K600 series- K700 series- K750 series - S700/S710 series- V800- Z500a- Z800 series- Z1010- Z520 series- W600 series - W550 series- W800 series 7.5 INSTALACIÓN DE EMULADORES Para instalar un emulador se siguen los siguientes pasos. Después de ir a la página del fabricante, y descargar el SDK (software development kit), que contiene los emuladores de los distintos fabricantes, se instala el SDK descargado, y se siguen los siguientes pasos. • se va a Tools>Java Platform Manager en la barra de herramientas de

Netbeans • En el Java Platfom Manager se escoge Add Platform • En Select plataform type seleccionamos Java Micro Edition Platform

Emulator damos clic en > Next. • En el nuevo wizard desplegado, escogemos Find More Java ME Platform

Folders. • Escogemos la carpeta donde fue instalado el SDK. Netbeans empieza a buscar

Page 70: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

70

un SDK compatible y lo adiciona a la lista. (ver Figura 18) Figura 18. Adición de la plataforma J2ME.

Escogemos el SDK y damos clic en Next >Finish De este modo queda instalada la nueva plataforma móvil de trabajo. Para trabajar con un emulador desde un proyecto, se hace el siguiente procedimiento. • Se da clic derecho en el proyecto móvil>Properties>. Se desplega el wizard Figura 19. • En la interfaz Registros se escoge Platform Figura 19. Adicionando una Plataforma

• En Emulator Platform escogemos el SDK adicionado y luego el dispositivo. • En Project Configuration adicionamos el dispositivo con el que se vaya a

trabajar.

Page 71: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

71

7.6 “HOLA MUNDO” EN NETBEANS Para crear un nuevo proyecto seguimos los siguientes pasos. • Damos clic en el logo New Project, ver Figura. 20

Figura 20. Nuevo proyecto J2ME.

• Seleccionamos en Categories>Mobile, en Projects>Mobile Application y Next. Como se muestra en la Figura. 21 Figura 21. Nueva Aplicación Móvil.

• En la nueva ventana Name and Location, se escribe el nombre del proyecto, la

ubicación, escogemos el cuadro de selección Set as Main Project. Deseleccionamos Create Hello MIDlet*, damos clic en Next.

• En la nueva ventana Default Platform Selection escogemos la plataforma en Emulator Platform, y Device, luego la Configuración del dispositivo CLDC y el Perfil MIDP.

Page 72: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

72

• Damos clic en Finish De este modo se crea el nuevo proyecto. • Para crear un nuevo MIDlet se da clic derecho en <default

package>New>MIDlet (Figura. 22). Figura 22. Nuevo MIDlet

• Se despliega la siguiente ventana (Figura. 23) donde se escribe el nombre del Midlet, El nombre de la Clase, se selecciona una pequeña imagen de icono si se desea, se deja el nombre del proyecto y se escribe un nombre para el paquete.

Figura 23. Propiedades del MIDlet

• Damos clic en Finish. Netbeans crea la arquitectura para empezar a hacer el

Page 73: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

73

MIDlet “Hola Mundo”. (Figura 24) Figura 24. Arquitectura del MIDlet Hola Mundo

Page 74: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

74

• Escribimos el siguiente código (ver Figura. 25) Figura 25. MIDlet “Hola Mundo”

• Compilamos dando clic derecho sobre el proyecto >Run Project • Al lanzar la aplicación se despliega el MIDlet “Hola Mundo”

Page 75: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

75

7.7 DESCARGA DE LA APLICACIÓN AL CELULAR Cada fabricante tiene un programa que permite descargar aplicaciones al celular, por ejemplo Nokia tiene el Nokia PC Suite, Sony Ericsson el SE PC Suite, para la instalación seleccionamos el archivo .jar que se encuentra en la carpeta dist dentro de la carpeta donde esta guardada la aplicación móvil. Para otros equipos como algunos Motorota se requiere el archivo .jad para la instalación en el dispositivo. Después de haber descargado y ejecutado la Suite de instalación, se observa en la barra de tareas de Windows el PC Suite en Ejecución (Figura. 26) Figura 26. PC Suite en Ejecución

Pasos para descargar la aplicación al celular. • Abrimos el PC Suite y seleccionamos Instalar Aplicaciones (ver Figura. 27) Figura 27. Nokia PC Suite

Page 76: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

76

• Se despliega el Instalador de aplicaciones de java Aquí se selecciona la carpeta donde se creo el proyecto, se va a la carpeta dist de dicho proyecto y se selecciona el archivo .jar como se había mencionado antes. De este modo se pasa la aplicación al móvil.

En celulares Siemens Ben-Q se instala el software ”Siemens Data Suite”.

Page 77: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

77

8 INTRODUCCIÓN A GSM-GPRS

Las aplicaciones móviles desarrolladas para M-Commerce (Comercio Móvil), requieren redes de datos para transmitir información. Este capitulo estudia las redes utilizadas para este fin. El incremento de los usuarios móviles (Ver Figura 28), dio pie a que surgieran nuevas tecnologías para brindar servidos de transmisión de datos. En la figura siguiente, se muestra el crecimiento de los abonados móviles desde el 2001. Figura 28. Usuarios de Telefonía Móvil en el Mundo.

También por el acceso a Internet desde dispositivos móviles, se espera una mayor acojina para las aplicaciones móviles personales y profesionales, aumentando el

Page 78: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

78

número de subscriptores de acceso a Internet inalámbrico. (ver Figura 29) Figura 29. Crecimiento del Acceso a Internet.

La tecnología GSM cubre el mayor número de subscriptores. (ver figura. 30) Figura 30. Abonados inalámbricos digitales por tecnología.

Fuente: Informa Telecoms & Media [en línea]. España: WCIS, 2006 [consultada en noviembre de 2006]. Disponible en Internet: http://www.informatm.com

Page 79: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

79

8.1 M – COMMERSE (MOBILE COMMERCE) El comercio electrónico móvil, es la posibilidad de realizar transacciones comerciales a través de un equipo móvil, de una manera confiable y segura. Estos servicios deben: - Ofrecer fiabilidad. - Generar confianza. - Facilidad de uso. - No resultar costoso. Con el M-Commerce podemos salir de casa provistos sólo de un dispositivo móvil con el que podremos efectuar todo tipo de pagos. Implantación de soluciones móviles en empresas: Las soluciones móviles para empresas deben cumplir los siguientes requisitos: - Fáciles de usar. - Fiables. - Integradas en los sistemas y plataformas tradicionales. Se deben definir estrategias que respondan a las siguientes preguntas: - Por qué es necesaria la solución - Cómo se va a utilizar. - Qué beneficios brindará: Mejora las relaciones con los clientes, aumenta la

productividad, estimula la eficiencia de la empresa. Con respecto a las soluciones móviles es necesario tener en cuenta una serie de factores: - Plataformas utilizadas en la empresa. - Compatibilidad y estandarización de los dispositivos y sistemas - móviles utilizados. - Adaptación de contenidos tradicionales a las soluciones móviles.

Page 80: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

80

8.2 RED GPRS NACIONAL* Los operadores de telefonía móvil en Colombia ofrecen el servicio GPRS a nivel nacional. Cuenta con puntos de transmisión inalámbricos de datos para sus aplicaciones entre ciudades principales como Bogotá, Bucaramanga, Cali, Cúcuta, Ibagué, Medellín, Pereira, Manizales, Tunja, Pasto, Buenaventura, Villavicencio, Barranquilla, Cartagena y Armenia, así como en infinidad de ciudades intermedias y corredores viales comprendidos entre las ciudades antes mencionadas.

8.2.1 Velocidad de transmisión. La velocidad de transmisión de datos es, en promedio, de 34 Kbps. En comparación con operadores de Estados Unidos bajo la tecnología GSM, la velocidad es aceptable. Allá, algunos operadores alcanzan a ofrecer velocidades promedio de 40 o 45 Kbps, aunque la mayoría está por el orden de los 30 a 35 Kbps La velocidad de transmisión es constante, pues normalmente no hay congestiones por tráfico.

8.2.2 Beneficios. • Amplio cubrimiento a nivel nacional. • Alto grado de confiabilidad, de acuerdo con las características de los equipos que se utilizan como solución final al cliente. • Centro de gestión y supervisión en forma permanente y en tiempo real que permite realizar mantenimientos preventivos y correctivos sobre la red. • Servicio e implementación a bajos costos, alta calidad, seguridad y velocidad en transmisiones de información.

8.2.3 Servicios. La tecnología GPRS es el canal que permite a los funcionarios de una empresa consultar bases de datos, ingresar pedidos, enviar y recibir correo electrónico y solicitar todo tipo de información a través de un computador portátil o una agenda electrónica, sin importar el lugar y hora del día. Gracias a la transmisión inalámbrica de datos de todas las operaciones comerciales y administrativas pueden ser realizadas al instante, agilizando el flujo de información requerida.

* Se puede trabajar con cualquier compañía operadora GSM, ya que todas ofrecen transmisión de datos vía GPRS, nosotros escogimos Comcel porque ofrece mejor calidad en la transmisión

Page 81: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

81

Dirigido a: • Empresas con personal que labora fuera de las oficinas y necesita de la información que reposa dentro de los sistemas de bases de datos de la organización. • Acceso inalámbrico a toma de pedidos, chequeo de inventarios, rutas de venta, etc. Ejemplos de paquetes de datos descargados por GPRS: • Envío de un e-mail de 5 líneas de texto con un anexo (documento tipo de Word

de 4 páginas), consumiría alrededor de 95 kbytes. • Acceder a un buscador, buscar un término (ej. viajes) y recibir una pantalla de

respuesta podría ocupar 100 kbytes aproximadamente. • Recibir una hoja de cálculo (documento tipo Excel de 5 hojas), consumiría

aproximadamente 250 kbytes. • Bajar una presentación (documento tipo PowerPoint de 20 diapositivas y con

fotos) equivale a unos 1.000 kbytes. El costo por Kb cuesta alrededor de 15 pesos, (2006).

8.3 INFORMACIÓN TÉCNICA GPRS (GENERAL PACKET RADIO SERVICE) GENERACIÓN 2.5G

8.3.1 Introducción. GPRS, es la solución de la red GSM para desplegar servicios de datos para sus usuarios de una manera eficiente. Estándar introducido por la ETSI.* GPRS funciona paralela a la red GSM (Global System for Mobile comunications), comparte la misma frecuencia. En GSM la tarifación se hace por tiempo, debido a que los timeslots (intervalos de tiempo) son asignados mediante una conmutación de circuitos; en GPRS la tarifación se hace por cantidad de KB descargados, o paquetes de datos transferidos (Conmutación de Paquetes). Con GSM cuando se transmite información, un canal es asignado al usuario y no se libera hasta que termine la transmisión, por este motivo GSM es una tecnología apta para soportar voz. Con GPRS, los canales se comparten dinámicamente entre diferentes usuarios, un usuario ocupa un canal solo cuando transmite datos; los periodos de inactividad de una comunicación son utilizados para que otros usuarios transmitan información, mejorando de esta manera la

* European Telecommunications Standards Institute

Page 82: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

82

utilización de los recursos de red. La forma en que opera GPRS es eficaz para los servicios que no requieren una tasa de transmisión constante. Anteriormente para la transmisión de datos, vía GSM, se utilizaba un canal dedicado, donde la velocidad de transferencia se hacía a 9.6 Kbps y el tiempo establecimiento de conexión duraba de 15 a 30 segundos. Debido a la tardanza en la transmisión y tiempo de establecimiento de conexión, este medio resulta costoso, ya que la tarifación se hace por tiempo de conexión. Para montar una red GPRS no se necesitan grandes inversiones ya que se utiliza parte de la infraestructura de la red GSM. La disposición de los canales GPRS se hace sobre la estructura de canales GSM. Los canales son compartidos entre las comunicaciones GSM y las comunicaciones GPRS, de manera que el reparto entre ambos tipos de servicios puede hacerse en función de la carga de tráfico de uno u otro, o según las preferencias del operador. La solución de GPRS es tener una conexión permanente e inalámbrica, para acceso y transmisión de datos, y poder disponer de los servicios de Internet desde un terminal móvil.

8.3.2 Características Siempre conectado: El usuario siempre esta conectado a la red sin tener que

pagar por esto; solo se paga por cantidad de Kbytes recibidos o transferidos no por tiempo de conexión.

Mayor capacidad de transmisión de descarga que de envío. Enlaces ascendente y descendente independientes.

Velocidades de transmisión entre 18 y 53 Kbps en sentido descendente (desde la red al teléfono móvil), Y entre 9 y 13 Kbps en sentido ascendente. (desde el móvil a la red)

Varios usuarios pueden compartir un mismo canal. Red troncal basada en el protocolo TCP/IP Tiene la misma cobertura de la red GSM Tiempo de establecimiento de conexión inferior al segundo. Soporta Aplicaciones WAP y J2me. Velocidad de transmisión variable, depende de factores como el grado de

ocupación de la red, el equipo celular utilizado (Clase A, B, C) número de canales que emplea, la distancia a la torre de transmisión (estación base), la velocidad a la que se desplaza el usuario.

8.3.3 Servicios. El Usuario de GPRS, puede especificar y activar los servicios de forma independiente. Navegación por Internet. Acceso a páginas Web1 Acceso a intranet Corporativas Oficina Virtual

Page 83: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

83

Acceso a sistemas de correo electrónico (Microsoft Mail, Outlook Express, Microsoft Exchange, etc). Siempre que cumplan los las normas POP3 o IMAP4.

Acceso a bases de datos corporativas. Gestión de Fuerza de Ventas: consulta de estados de pedidos, consulta de

catálogos, consulta de stocks, información relativa a los clientes, desde cualquier lugar.

Gestión de equipos de trabajo que operan fuera de la empresa (equipos de mantenimiento, supervisión, reparto, etc.)

Servicios basados en el envío de mensajes cortos. Servicios de localización. GPRS es una red diseñada para roaming, requerimiento para hacer posible la

red de Internet móvil global.

8.3.4 Equipos Celulares. Para poder utilizar GPRS es necesario contar con un nuevo terminal. Los teléfonos celulares que únicamente tengan la tecnología GSM no funcionan para GPRS. Los equipos utilizados, se dividen de acuerdo al número de canales que empleen para la transmisión (Modo de transmisión asimétrico), se contará con los siguientes terminales, entre otros: 2 + 1 (Dos canales para recibir información y uno para envío). Con

velocidades aproximadas de 28,6 Kbps de descarga y 13,4 Kbps de envío. 3 + 1 (Tres slots para recibir información y uno para envío). Con velocidades

aproximada de 40,2 Kbps para descarga y 13.4 Kbps para envío. 4 + 1 (Cuatro slots de descarga de datos y uno para envío). Con velocidades

aproximadas de 53.6 Kbps de bajada y 13.4 de subida. En función de la posibilidad de transmitir simultáneamente voz (Conmutación de Circuitos) y datos (Conmutación de paquetes), se distinguen tres clases de terminales (Estaciones móviles): CLASE A: Uso simultáneo de GSM y GPRS 1 Timeslot para GSM y uno o más para GPRS No hay degradación de ninguno de los dos servicios. Se puede hacer una llamada mientras se navega por Internet.

Page 84: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

84

CLASE B: Uno de los dos (GSM o GPRS) está en suspenso mientras el otro está activo. Prioridad para GSM: si recibe una llamada y se están transmitiendo datos,

deja en suspenso la transmisión de datos y se recupera cuando finaliza la llamada de voz.

Degradación de QoS (se utilizada para definir requerimientos de calidad) sólo para GPRS

CLASE C: Elección manual de GPRS o GSM. No hay uso simultáneo. Denominados teléfonos GPRS de gama baja.

Los equipos también se diferencian dependiendo la potencia que tengan, la cual va de los 2 hasta los 20 Vatios.

8.3.5 Tarifación. El cobro de la información se hace por paquetes de datos enviados y recibidos. Esta forma de tarifación presenta un inconveniente, cuando los datos son subdivididos en paquetes, estos se pueden dañar durante la transferencia, o ser transmitidos por error. Al ser necesaria una nueva transferencia, el usuario tendrá que volver a pagar más veces por la misma cantidad de información. Puede ocurrir que el móvil cuando recibe los datos no envíe un aviso de recibido al servidor correspondiente y éste reenvíe dos veces el paquete IP solicitado. En este caso se cobrarían los dos envíos. Si se establece una conexión con una página WAP, se cobrará el proceso de descarga de ficheros que componen el sitio WAP. Una vez descargado en el dispositivo, no se cobra por el tiempo que el usuario esté navegando por el mismo.

8.3.6 Seguridad. Esta tecnología ofrece integridad y confidencialidad, gracias al modulo de identidad del suscriptor (SIM). La tarjeta SIM contiene toda la información del usuario, la cual esta protegida por un número de identificación personal (PIN). También está protegido por un sistema de algoritmos de encriptación que guardan la privacidad de las transmisiones. Se presentan los niveles de seguridad de GSM como son: Autenticidad de la señal. Confidencialidad de los datos de señal y del usuario. La confidencialidad de la identidad del suscriptor.

Page 85: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

85

8.3.7 Arquitectura de la Red Gsm la Base de Gprs. Como se había mencionado, esta red fue diseñada para la transmisión de voz por lo que se basa en la conmutación de circuitos. La red GSM se divide en tres niveles principales5 La estación móvil (Mobile Station, MS): Consta de dos elementos El Terminal Móvil (Mobile Equipment): Equipo Celular. La tarjeta SIM (Subscriber Identity Module): Identifica las características del

Terminal ante el operador, permite el acceso a la red. La estación Base (Base Station Subsystem, BSS): Conecta los equipos celulares con el sistema de red (Network and Switching Subsystem, NSS), se encarga de la transmisión y la recepción de señales de radio, hace las conexiones entre usuarios a través del NSS. Consta de dos elementos: La estación de transmisión (Base transceiver Station, BTS): se encarga de

gestionar las comunicaciones por radio de las estaciones móviles. Proporciona un número de canales de radio a la zona a la que da servicio.

Controlador de la estación base (Base Station Controller, BSC): Gestiona los recursos de radio de una o varias estaciones de transmisión, enlazándolas con el centro de conmutación de servicios móviles. La función primaria es el mantenimiento de la llamada, así como la adaptación de la velocidad del enlace de radio al estándar de 64 bps utilizado por la red. Controla la frecuencia de radio de la estación base (BTS).

Sistema de Red (Network and Switching Subsystem, NSS): Administra las comunicaciones que se realizan entre los diferentes usuarios de la red. Se divide en siete sistemas: Mobile Services Switching Center (MSC): Se encarga de todas las tareas

informáticas, registra y verifica las comunicaciones, actualiza la localización del usuario, gestiona los problemas de saturación, direcciona las llamadas, interconecta a los usuarios entre sí y con la red fija. Gestiona las comunicaciones entre los usuarios GSM y los usuarios de otras redes de telecomunicaciones.

Gateway Mobile Services Switching Center (GMSC): Se encarga de interconectar la red GSM y las líneas de telefonía fija, haciendo que los protocolos utilizados por estas se entiendan.

5 Sistema GPRS[en línea]. Asunción: Universidad Católica de Asunción, 2004. [consultado 11 noviembre de 2006]. Disponible en Internet: www.uca.edu.pa

Page 86: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

86

Home Location Registrer (HLR): Base de datos que contiene información sobre los usuarios, la localización actual del terminal móvil, y los servicios a los que se tiene acceso. Funciona en unión al VLR.

Visitor Location Register (VLR): Controla el tipo de conexiones que un Terminal móvil puede hacer, ya que contiene toda la información sobre un usuario para que pueda acceder a los servicios de red.

Authentication Center (AuC): Se encarga de la autenticación de los usuarios, soporta funciones de encriptación.

Equipment Identy Register (EIR): Proporciona seguridad en la red, ya que contiene una base de datos con los equipos que pueden ser usados en la red. Esta base de datos contiene los International Mobile Equipment Identy o IMEI de cada terminal, de manera que si un determinado móvil trata de hacer uso de la red y su IMEI no se encuentra localizado en la base de datos del EIR no puede hacer uso de la red.

GSM Interworking Unit (GIWU): sirve como interfaz de comunicación entre diferentes redes para transmisión de datos.

Short Message System Center (SMSC): gestiona los mensajes de texto SMS.

Figura 31. Identificación de los elementos de la red GSM

8.3.8 Arquitectura de la Red GPRS El Gateway GPRS support node (GGSN): Nodo de pasarela. Actúa como

una interfaz hacia las redes de paquetes de datos externas. Proporciona el acceso a las redes de datos basadas en IP.

Actúa como pasarela entre la red troncal GPRS y las redes externas.

SMSC

Page 87: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

87

Traduce los paquetes que vienen del SGSN al formato de red externa IP Realiza autenticación Lleva a cabo tarifación

Serving GPRS support node (SGSN): Nodo de conmutación. Se encarga de la

gestión de la movilidad y del mantenimiento del enlace lógico entre móvil y red. Entrega paquetes desde y hacia los móviles que estén dentro de su área de servicio.

La red troncal GPRS o backbone basado en IP.

El Tunneling: es un concepto para transmisión de datos que define:

- Encapsulado de los datos con introducción cabeceras de dirección de destino y origen.

- Actualización de tablas de enrutamiento existentes (Tanto en el SGSN y el GGSN)

- Asignación de una dirección IP al móvil. GPRS se añade al sistema GSM existente. También añade el PCU (unidad de control de paquetes) al BSC existente. El PCU, maneja la comunicación de paquetes. Figura 32. Identificación de los elementos de la red GPRS

PCU

SMSC

Page 88: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

88

8.3.9 Protocolo De Transmisión GPRS. El plano de transmisión es el encargado de proveer la transmisión de los datos del usuario y su señalización para el control de flujo, detección de errores y la corrección de los mismos. Figura 33. Protocolo de transmisión GPRS

Fuente: Sistema GPRS [en línea]. Asunción: Universidad Católica de Asunción, 2003. [consultado 11 de noviembre de 2006]. Disponible en Internet: www.uca.edu.pa Capas AIR INTERFACE (Um): Concierne a las comunicaciones entre la estación móvil (MS) y la BSS en los protocolos de las capas física, MAC, y RLC. Se conforma de: La capa física (Physical Layer) La capa de enlace de datos (Data Link Layer)

Capa Física (Physical Layer): entre MS y BSS. Funciones: - Se encarga de la corrección de errores hacia adelante (FEC). - Realiza procedimientos para detectar errores en el enlace físico. - Realiza procedimientos de sincronización - Monitoriza la calidad de la señal de radiofrecuencia - Re-selección de celda. - Control de potencia - Utiliza recursos para la conservación de potencia de la batería del móvil.

Page 89: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

89

Se subdivide en las capas: La Capa Del Enlace Físico (PLL): Provee un canal físico. Sus tareas incluyen la

codificación del canal (detección de errores de transmisión, corrección adelantada (FEC), indicación de códigos incorregibles), interleaving y la detección de congestión del enlace físico.

La Capa De Enlace De Radio Frecuencia (RFL): trabaja por debajo de la PLL e incluye la modulación y la demodulación.

GPRS utiliza la misma capa física que tiene GSM. Capa de Enlace de Datos (Data Link Layer): Se encuentra entre la estación móvil (el móvil GPRS en sí) y la red. Se subdivide en: La capa LLC (entre MS-SGSN): Provee un enlace confiable, control de

secuencia, entrega en orden, control de flujo, detección de errores de transmisión y retransmisión.

Capas MAC/RLC: permiten una eficiente multiplexación multiusuario en los canales de paquetes de datos compartidos, y utiliza un protocolo ARQ selectivo para transmisiones seguras a través de la interfaz aire. El canal físico dedicado para tráfico en modo paquete se llama PDCH (Packet Data Channel). Se encuentra en:

La estación móvil (MS) El subsistema estación base (BSS) Funciones: Capa RLC: (Radio Link Control): Establece un enlace fiable, segmentación y reensamblado de las tramas LLC en bloques de datos RLC y ARQ (peticiones de retransmisión) de códigos incorregibles. - Verifica la corrección de errores hacía atrás (BEC), sobre la interfaz de aire. - Define los procesos para una retransmisión selectiva de mapas de bits de

bloques de Datos entregados sin éxito. Antes de transmitir datos, se deben codificar, y al ser recibidos se decodifican. Si ocurre una mala codificación o decodificación se verifica para hacer correcciones; en el caso que no se puedan hacerlas se retransmite la información.

- Permite la transferencia LLC-PDU entre la capa LLC y la función MAC. - Segmentación y re-ensamblado de los LLC-PDUs en Bloques de Datos RLC.

Page 90: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

90

Capa MAC (Medium Access Control): La capa MAC controla los intentos de acceder de un MS a un canal de radio compartido por varios MS. Emplea algoritmos de resolución de contenciones, multiplexación de multiusuarios y prioridades según la QoS contratada. - Define los procesos que permiten a las Estaciones Móviles compartir varios

canales físicos o un medio de transmisión común. - Proporciona multiplexación de los datos y la señalización de control en los

enlaces ascendente y descendente. - Programación de los intentos de acceso del terminal móvil. - Manejo de prioridad INTERFAZ BSS-SGSN (Gb): El protocolo de aplicación BSS GPRS (BSSGP) se encarga del enrutamiento y lo relativo a la información de la QoS entre BSS y SGSN. El servicio de red (NS) esta basado en el protocolo de Frame Relay. TCP: Incorpora detección de errores y retransmisión de tramas. Velocidad más reducida que UDP UDP: Es más apto para transmitir videoconferencia que TCP, ya que las variaciones de retardo (Jitter) son más pequeñas. GTP: GPRS Tunneling Protocol. Es el encargado de transportar los paquetes del usuario y sus señales relacionadas entre los nodos de soporte de GPRS (GSN). Los paquetes GTP contienen los paquetes IP o X.25 del usuario. Por debajo de él, los protocolos estándares TCP o UDP se encargan de transportar los paquetes por la red. Resumiendo, en el Backbone del GPRS tenemos una arquitectura de transporte IP/X.25-sobre-GTP-sobre-UDP/TCP-sobre IP. SNDCP: Sub network Dependent Convergence Protocol. Es el encargado de transferir los paquetes de datos entre los SGSN (nodo responsable de la entrega de paquetes al terminal móvil) y la estación móvil. Las funciones que desempeña: Multiplexación de diversas conexiones de la capa de red en una conexión

lógica virtual de la capa LLC. Compresión y descompresión de los datos e información redundante de

cabecera.

Page 91: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

91

8.3.10 Canales Físicos Canal físico PDCH (Packet Data Channel): Es el canal físico dedicado para el tráfico en modo de paquete. MPDCH (Master Packet Data Channel): Canal de paquetes de datos que actúa como maestro.

8.3.10.1 Canales que componen el MPDCH

PBCH (Packet Broadcast Control Channel): Transmite información de sistema a todos los terminales GPRS en una célula. PTCH (Packet Traffic Channels) PCCCH (Packet Common Control Channel): lleva toda la señalización de control de necesaria para iniciar la transmisión de paquetes. Si no sirve como tal se encargará de una señalización dedicada o datos de usuario. SPDCH (Slave Packet Data Channel): Canal de transmisión de paquetes que actúa como esclavo. Solo es utilizado para transmitir datos de usuario.

8.3.10.2 Canales que componen el SPDCH

8.3.11 Flujo De Datos. La unidad de datos del protocolo de la capa de red, denominada N-PDU o paquete, es recibida de la capa de red y es transmitida a través del interfaz de aire entre la estación móvil y el SGSN usando el protocolo LLC.

Page 92: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

92

Primero el SNDCP transforma los paquetes en tramas LLC, el proceso incluye opcionalmente la compresión de la cabecera de datos, segmentación y encriptación. Una trama LLC es segmentada en bloques de datos RLC, que son formados en la capa física, cada bloque consta de 4 ráfagas normales que son similares a las de TDMA. Figura 34. Flujo de datos en GPRS

Fuente: Sistema GPRS [en línea]. Asunción: Universidad Católica de Asunción, 2003. [consultado 11 de noviembre de 2006]. Disponible en Internet: www.uca.edu.pa

8.3.12 Esquemas De Codificación GPRS. Como se había mencionado, se deben codificar los datos antes de ser transmitidos. Aquí se muestran los esquemas de codificación utilizados por esta red. Existen cuatro tipos de codificación en GPRS cada una con sus características, tanto de carga útil que se codifica como el número de bits codificados Los datos se codifican en ráfagas normales (426bits/ 20ms) BCS: secuencia de chequeo de bloque. USF: (Uplink state flag): Permite el multiplexado uplink. Consta de 3 bits por lo que tiene 8 valores diferentes. Cada bloque RLC del downlink lleva el indicador, si el USF recibido en el downlink es igual al suyo, el usuario puede usar el siguiente bloque uplink; si es igual a FREE, el siguiente bloque es un slot destinado al proceso de acceso (PRACH); los otros siete valores se utilizan para reservar el uplink para diferentes estaciones móviles.

Page 93: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

93

Tabla 2. Esquemas de codificación de datos en GPRS

Eliminando la protección contra errores, se consiguen tasas de transferencia mayores.

Figura 35. Transferencia de datos (Kbps)

Page 94: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

94

8.3.13 Funcionamiento De La Red Gprs

8.3.13.1 Transferencia de datos (up-link). Figura 36. Transferencia de datos Up-link GPRS

Fuente: Sistema GPRS [en línea]. Asunción: Universidad Católica de Asunción, 2003. [consultado 11 de noviembre de 2006]. Disponible en Internet: www.uca.edu.pa

Una estación móvil inicia una transferencia de paquetes haciendo una petición de canal de paquete en el PRACH. La red responde en PAGCH con una o dos fases de accesos: 1er. acceso: la red responde con la asignación de paquete, que reserva los recursos en PDCH para transferir ascendentemente un número de bloques de radio. 2do. acceso: la red responde con la asignación de paquete, que reserva los recursos ascendentes para transmitir la petición de recursos de paquete; a lo que la red responde con la asignación de recursos. En la transmisión se realizan reconocimientos, si se recibe un reconocimiento negativo o erróneo se repite la transmisión del paquete.

Page 95: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

95

8.3.13.2 Transferencia de datos (down-link). Figura 37. Transferencia de datos down-link GPRS

Fuente: Sistema GPRS [en línea]. Asunción: Universidad Católica de Asunción, 2003. [consultado 11 de noviembre de 2006]. Disponible en Internet: www.uca.edu.pa Una BSS inicia una transferencia de paquetes enviando una petición de paging (búsqueda) en el PPCH. La estación móvil responde de forma muy parecida a la del acceso al paquete descrita en el punto anterior. En la asignación de recursos se envía una trama con la lista de PDCH que son usados. Si se recibe un reconocimiento negativo solo se retransmite los bloques erróneos.

8.3.14 Inicio De Sesión. Al iniciar una sesión en GPRS ocurre lo siguiente: Se define un contexto PDP (Packet Data Protocol), antes de iniciar una comunicación con una red externa.

El PDP, especifica las características de la conexión como: • Acces Point Name (APN): Especifica Cual es el punto de acceso a la red

externa. • Prioridad de Radio. • QoS: Se utiliza para definir unos requerimientos de Calidad (Grado de Servicio)

Page 96: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

96

Parámetros que especifican el grado de servicio. Prioridad: Alta, Normal y Baja. Tabla 3. Parámetros que especifican el grado de servicio. Fiabilidad: Retardo: Tabla 4. Flujo de datos pico (Caudal Máximo)

Page 97: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

97

Tabla 5. Caudal medio de flujo de datos

• Se realiza una conexión (enganche o attach) con el nodo SGSN , el cual es el

responsable de la entrega de paquetes al terminal móvil. • Se Crea una tabla de routing, en el nodo GGSN, para intercambiar tramas en

formato TCP/IP. • Se activa un cliente PPP, que negocia con el servidor PPP de la operadora de

direcciones IP para el acceso a Internet. GPRS no realiza únicamente conexiones con Internet, sino que también esta diseñada para conexión con redes X.25, y otras redes públicas y privadas. 8.4 LIMITACIONES DE GPRS La principal limitante de GPRS esta en que las velocidades máximas no pueden ser alcanzadas. Esto debido a que los ocho time-slots asignados a cada usuario GPRS deben ser compartidos con las comunicaciones GSM. En condiciones óptimas de calidad en las que sea necesario realizar chequeos de error, cada time-slot, proporcionaría 21.4 Kbps, los ocho time-slots asignados

Page 98: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

98

proporcionarían 171.2 Kbps. Esta es una velocidad teórica en de transmisión de GPRS, ya que para conseguir la velocidad máxima de 171.2 Kbps una operadora debería destinar todos los recursos a una única llamada GPRS lo cual es improbable Figura 38. Velocidades De Transmisión en GPRS

Retrasos en el tránsito: el protocolo IP tiene inherente un problema, esto es, el hecho de que los paquetes viajen por separado utilizando caminos diferentes puede llevar a que se pierdan o se dañen durante la transmisión de datos mediante el enlace de radio. El resultado es la posibilidad de un retraso en el tránsito. No posee mecanismos de almacenamiento: Si un e-mail es enviado a un dispositivo GPRS y este no está conectado, el mail se quedará en el servidor de correos y tendrá que volver a ser enviado cuando exista conexión. Se necesita conexión para poder recibir la información. Capacidad de celda limitada: Las celdas se limitan cuando las señales de radio son destinadas a dar varios servicios, por ejemplo cuando se comparte el canal para transmitir voz GSM y datos GPRS. La limitante depende del número de canales de acceso que estén reservados en exclusiva para el uso de GPRS. 8.5 EVOLUCIÓN DE LA RED GPRS HACÍA UMTS Y EDGE. La generación siguiente para transmisión de datos son las tecnologías UMTS y EDGE. GPRS se puede decir, es un puente entre GSM y UMTS. UMTS soporta transferencia de datos de hasta 2 Mbps, proporciona aplicaciones multimedia sobre redes CDMA, a nivel mundial; ofreciendo servicios sobre redes fijas o por satélite.

Page 99: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

99

EDGE utiliza la modulación de frecuencias. Permite usar los espectros de frecuencia de la red GSM de manera más eficiente. Ofrece tasa de datos de 384 kbps y teóricamente, de hasta 473.6 kbps. EDGE (Enhanced Data Rates for Global Evolution, Velocidades de Datos Extendidas para una Evolución Global): es el siguiente paso en la evolución de GSM, por consiguiente es considerada la generación 2,75. Un nombre alternativo para esta tecnología es EGPRS (Enhanced General Packet Radio Service) Tabla 6. Evolución de GPRS

GENERACIONES EN COMUNICACIONES MÓVILES GSM GPRS UMTS Canales Utiliza un canal de

comunicación de forma permanente

Usa más de un canal de transmisión.

Se utiliza otra red.

Velocidad transmisión de datos por WAP de 9,6 a 14,4 Kbps

Transmisión de datos de 58 Kbps

Transmisión de datos a 384 Kbps.

Conexión El establecimiento de la comunicación es muy larga

Esta siempre conectado a la red

Siempre conectado

Pago Se paga por minuto de conexión

Se paga por cantidad de peso de información.

Cobro por datos transferidos no por tiempo de conexión.

Funciones Voz, SMS y buzón de correo

Correo electrónico, m-comerce, oficina móvil, transmisión de imágenes.

Transmisión de Video, Catálogos, oficina Virtual.

Page 100: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

100

9 TRANSMISIÓN DE DATOS UTILIZANDO LA RED TRUNKING El sistema iDEN, Integrated Digital Enhanced Network (Red Mejorada Digital Integrada), es una integración de Push-To-Talk (PTT), half-duplex, tecnología análoga de radio y comunicación digital full-duplex. Un usuario puede hacer y recibir llamadas como si la estación móvil (MS), fuera su sistema personal. Esto además permite al proveedor de servicios ofrecer un servicio integrado que incluye: • Messaging (Short Message Service, servicio de mensajes cortos) • Llamadas personales y grupales de dos vías. • Correo de Voz. • Red de datos (Intranet, Virtual Private Network (VPN), Internet). Trunking utiliza técnicas convencionales o basadas en el uso de frecuencias comunes que proporcionan servicios de comunicación móviles de voz de un punto a puntos múltiples o viceversa, conocidos comúnmente como servicios móviles de despacho. 9.1 VENTAJAS • El sistema iDEN hace uso efectivo del espectro de RF. Permite múltiples

usuarios en un único portador RF. • Sistema de transmisión de datos digital: iDEN soporta transmisión digital de

datos para: Computación móvil remota Fax Mensajería Internet inalámbrico (empaquetamiento de datos) Comunicación Digital La comunicación digital tiene varias ventajas sobre la comunicación análoga:

La compresión de Voz maximiza los recursos de red. La comunicación digital Reduce el eco e interferencias. Mejoramiento de la seguridad para codificar la voz y datos. Intranet, Virtual Private Network (VPN) and Internet

Page 101: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

101

9.2 BENEFICIOS

La tecnología Trunking hace posible integrar y gestionar con eficacia, seguridad y bajo costo; todo el tráfico de una red de radio. • Mejor calidad de comunicación. • Mejor aprovechamiento del espectro radioeléctrico. • Privacidad de Canal • Exclusividad de canal • Asignación dinámica de canales comunes:

o Ahorro de frecuencias. • El usuario no selecciona canales, sino que marca el número del individuo o

grupo llamado. • Cada grupo de usuarios es una red virtual independiente 9.3 ORGANIZACIÓN GEOGRÁFICA Organización Geográfica utilizada por el sistema iDEN • Red Global, Global Public Telephone Switched Network (PSTN),. iDEN puede acceder a la red de servicios globales telefónicos, a través de switcheo de conexiones. • Region A, es una extensa área geográfica la cual es mayor que un área urbana. • Domain A, es una división lógica opcional de una región. • Service Area A, es un grupo areas de servicio ( Dispatch Service Areas (DLAs) ) que definen un rango de operació. • Area de Localización (Location Area): es un area que esta definida por la ubicación que tenga la Mobile Station (MS). • Cell (celda): una celda es un área de servicio definida por la propagación de RF, patrón de radicación de las antenas.

Page 102: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

102

9.4 ARQUITECTURA DEL SISTEMA Figura 39. Arquitectura de red

Fuente: Technical Overview [en línea]. Estados Unidos: Motorota Corporation, 2002 [consultada noviembre 30 de 2006]. Disponible en internet: http://developer.motorola.com 9.4.1 Estación Móvil. La estación móvil (Mobile Station, MS) es la interfaz final de usuario. Una estación móvil es el teléfono, pager, modem, transceiver, etc.

Page 103: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

103

dispositivos receptor transmisores compatibles con el sistema iDEN, los sistemas móviles o unidades subscriptoras, tienen las siguientes características: • Multi servicios (ofrecen varias funciones) • Despachan llamadas • interconectan llamadas • Permiten Roaming • Servicio de e-Mail • Comunicación de datos. Características funcionales de la red EBTS (Enhanced Base Transceiver Station): Son transmisores repetidores, los cuales contienen los transceptores de radio que enlazan el canal de radio a la red de comunicaciones. Esta puede ser configurada para soportar múltiples frecuencias de manera sectorizada u omnidireccional. Las principales funciones de la EBTS son: Conservación y mantenimiento del radio enlace. Formateo, codificación, temporizado, control de errores y tramado Cronometraje y supervisión del tiempo de las unidades subscritoras. Medida estimada de la calidad en la señal de radio. (signal Quality Estimate

(SQE)) Identificación y separación de tráfico (Interconexión, despacho, circuito de

datos y paquetes) Sincronización Funciones de suicheo entre transmisores base. Operación, administración y mantenimiento de los equipos de radio enlace. Con la transmisión vía Trunking las pausas en la conversación pueden

generar disponibilidad de los canales para otros usuarios si son requeridos. El sistema de inteligencia se encarga de guiar a los usuarios a un canal libre

9.4.2 Digital Access Cross Connect Switch. El switch de acceso digital, Digital Access Cross Connect Switch (DACS) no es parte del equipo iDEN, pero es requerido para detectar la ubicación remota de las estaciones móviles (MS). Enrutamiento y empaquetamiento de datos DS0s (intervalos frame relay). Caminos de interconexión y señales de control son puestas desde la EBTS hacia los controladores base. 9.4.3 Metro Packet Switch. El Metro Packet Switch (MPS) Es un subsistema que conecta la EBTS conexiones frame relay a el Dispatch Application Processor (Procesador de despacho) y el y el packet Duplicator (duplicador de paquetes).

Page 104: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

104

Controla las vías de despacho de paquetes de voz durante una llamada y los caminos que tomaran los paquetes de datos. El MPS también enruta controla y señaliza información entre el DAP, MDG, y la EBTS. La definición de la fuente y destino para enrutamiento de voz y datos están bajo el control de el Dispach Application Processonr (Procesador de despacho). 9.4.4 Dispatch Application Processor. El Dispatch Application Processor (DAP), Procesador de despacho, se encuentra usualmente en grupos (clusters) de 6 DAPs y DAPclusters, varían dependiendo su capacidad. Existen varias configuraciones: • IMP-DAP — soporta 300 EBTS and 45,000 users • N-DAP — que puede ser un 6-DAP 1000 puntos EBTS y 90,000 usuarios • T-DAP — el cual soporta clusters 1000 puntos EBTS y 180,000 users El DAP consiste de: • Standard System Controllers, Controladores de sistema estándar • Input Output Controllers, Controladores de entrada – salida; • Central Processing Unit, Unidad central de proceso • Router Controller, Router controlador • Mass Storage Devices, dispositivos de almacenamiento masivo. Este provee: • Control para funciones de despacho y empaquetamiento de datos. • Registro para todas las interconexiones y despacho de subscriptores. • Mantenimiento y rastreo de las estaciones móviles (MS). • Alarmas y estadísticas de funcionamiento. • Mantenimiento de la información suministrada por la MS 9.4.5 Packet Duplicator (PD). Provee la funcionalidad que permite llamadas en grupo. El duplicador es usado para replicar los paquetes de voz y datos para salida a múltiples estaciones móviles. Si una llamada es a un grupo, el paquete de voz se duplica desde el transmisor y va a cada unidad receptora. Los duplicadores de paquetes son operador por el OMC-R. Este produce alarmas de estado cada media hora. El OMC-R puede descargar software y controlar las operaciones de los PDs utilizando el protocolo X.25 sobre y ethernet 10BaseT.

Page 105: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

105

9.4.6 Mobile Data Gateway. La puerta de comunicaciones de datos móviles, Moble Data Gateway (MDG), es una interfase a Internet y a la World Wide Web para los sistemas iDEN durante una de transmisión de datos. Componentes físicos: El MDG es un router de alto nivel. is a Enterprise level switching router. Este dispositivo tiene connexion directa a internet. El numero de puertos disponibles puede variar de acuerdo a la configuración individual de cada sistema iDEN. Características funcionales: El MDG aisla el sistema iDEN de otros dispositivos en internet. Es operado y manejado como una unidad discreta. El centro de operación y mantenimiento no tienen control directo sobre este dispositivo. Funciones principales durante una operación de empaquetamiento de datos: • Gateway • Home Agent • Foreign Agent El MDG soporta 15.000 usuarios. Gateway el MDG es un punto logico POP (point-of-presence) para el sistema iDEN en internet. Este provee seguridad en la red, suicheo y funciones de enmascaramiento. Home Agent el MDG guarda una dirección IP provisional de la estación móvil en una base de datos. Esta IP es usada para identificar, permitir y enrutar paquetes desde Internet hacia la MS, durante una operación de paquetes de datos. El Home Agent identifica un MDG como un punto POP en Internet que acepta paquetes de datos y los direcciona a las IP alojadas en la base de datos. Un home agent establece una comunicación con la MDGs remota y temporalmente transfiere la dirección lógica a la MDG remota (Operador extranjero). El Home Agent transfiere en roaming una dirección IP a la MDG remota asi la MDG remota acepta el paquete para la estación móvil. Foreign Agent Durante una session roaming, una MS se registra y autentica en el sistema remoto. Para operaciones con paquetes de datos, el sistema remoto debe contactar el Home Agent de la estación movil (MS) y obtener la autenticación, identificación servicios y permisos. Si tiene permisos, la MDG recibe

Page 106: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

106

la MS visitante, y asigna recursos de servicio. Esto habilita la MDG a aceptar paquetes de datos. 9.4.7 Base site controller. La BSC establece la comunicación hacia el centro de conmutación móvil (MSC) para llamadas de voz hacia la red telefónica; o a un switch para enrutar comunicaciones en modalidad de despacho. Características funcionales: La BSC provee control y funciones para una o más puntos EBTS, y sus estaciones móviles asociadas. Las funcionalidades incluyen: • Link desde multiples EBTS • Conversión de radio enlace al formato land network • Handover colección de datos, preparación y ejecución en puntos que están bajo

su control • Agente de operación, mantenimiento y administración para la red OMC X.25 • Proceso de llamadas control de interconexión de audio. 9.4.8 Mobile Switching Center. El centro de conmutación móvil, Mobile Switching Center (MSC), provee servicios de interconección. El MSC provee la interfaz entre la red móbil y otros proveedores de servicios PSTNs. Características funcionales: El MSC es el switch telefónico para originar tráfico terminal o móvil. Cada MSC provee servicios dentro de un área geográfica, y una sola red iDEN puede contener más de una MSC. Las principales funciones de la MSC son: • Control e interfase a la PSTN • Procesamiento de llamadas, interconexión de llamadas. • Eliminación del eco para llamadas de voz (con equipos asociados) • Provisión de servicios suplementarios a los subscriptores • Autenticación de las unidades subscriptoras. • Roaming y/o Handover entre BSCs • Roaming y/o Handover entre MSCs • Registro de facturación • Control de funciones de Internet working para la red de datos • Interfase al sistema de correo de voz. El MSC controla la interconexión de llamadas. Las funciones de control de llamadas incluyen:

Page 107: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

107

• Enrutamiento. • Matrix de control de ruta • Asignación de troncal. • Facturación • Registro de llamadas • Estadísticas de tráfico, para manejo de rendimiento La MSC también ayuda a administrar interconexiones con el procedimiento handover. Este procedimiento preserva la conexión cuando una estación móvil pasa de un área de cobertura a otra cuando una llamada esta establecida. Cuando los handovers son dentro de un grupo de celdas estas son controladas solo por el BSC. 9.4.9 Administrative Data Center Facturación y administración Las operaciones de facturación son responsabilidad únicamente del proveedor de servicios. Las politicas, procedimietos y mecanismos para el intercambio de datos, el control administrativo y operacional de la información son la responsabilidad del proveedor de servicios. Servidor de base de datos El ADC puede también mantener bases de datos. Las bases de datos a ser mantenidas incluyen: • HLR – Identificador de llamadas y servicios. • D-HLR – Para despacho, identificador de llamadas y servicios. • iHLR – Para identificación de paquetes de datos y servicios. . El Dispatch database, D-HLR, la base de datos y iHLR, estan hubicados en el DAP. 9.5 RESUMEN iDEN La red de transmisión de paquetes de datos, usa la infraestructura de sistema de despacho de llamadas. Una estación móvil puede viajar libremente a través del sistema iDEN y hacer roaming. Si tiene el servicio un usuario puede originar y recibir paquetes de datos.

Page 108: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

108

• La estación móvil envía y recibe datos directamente. • La EBTS convierte las llamadas en paquetes de datos. • La MPS enruta los paquetes de datos. • EL DAP determina servicios y locaciones. • El MDG enruta los datos desde internet. • El facturador, Billing Accumulator (BA) colecta la información de tiempo y datos trasferidos Los elementos de red de datos se muestran en la Figura 40. Figura 40. IDEN- Elementos de Red

Fuente: Technical Overview [en línea]. Estados Unidos: Motorota Corporation, 2002 [consultada noviembre 30 de 2006]. Disponible en internet: http://developer.motorola.com Intranet El paquete de datos puede ser usado para extender un proceso de datos interno hacia una flota, grupo y miembro. Los usuarios móviles pueden interactuar con la central de paquetes de datos que provee diferentes funcionalidades (e-mail, sesión remota, buscador web y transferencia de archivos) Extranet Una estación móvil puede ser asociada a una red. Si el usuario tiene un login o una dirección web, la MS puede interactuar con servidores extranet u otra red privada si es permitida. Internet La red de paquetes de datos, provee acceso a internet, los permisos y derechos

Page 109: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

109

son fijados por el host (proxy) y el sitio buscado. Los datos son divididos antes de ser enviados Tabla 7. Paquete de datos- iDEN

Header Sender IP Address Receiver IP AddressProtocol Packet #

96 bits

Payload Data 896 bits

Trailer Shows end of packetError Correction 32 bits

Page 110: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

110

10. CONCLUSIONES

Con el desarrollo del anterior trabajo, se logro ampliar los conocimientos en las nuevas tecnologías para el comercio móvil, abriendo paso a ofrecer soluciones en el sector industrial y comercial. Es necesario estar en continua búsqueda de información, actualizándose a nuevas tecnologías y nuevos mercados, ya que constantemente se producen cambios que no dan espera. Se observo que el lenguaje Java es una herramienta completa que ofrece a los desarrolladores de software integración para ejecutar aplicaciones móviles y empresariales. Con este trabajo se logro entender que para desarrollar aplicaciones móviles se debe conocer el entorno y la arquitectura sobre la cual van a ser desplegadas y no solamente conocer el lenguaje de desarrollo. Los operadores móviles se han preocupado por desplegar redes de última generación, ofreciendo a los usuarios recursos para aprovechar la red con una buena transmisión a bajo costo. Transmitir datos vía GPRS en la actualidad es más beneficioso ya que se iguala en costo de transmisión con la red trunking y tiene mayor cobertura territorial y mayor número de subscriptores. Se comprobó que el entorno de Desarrollo Netbeans, es una herramienta versátil que ayuda al programador a detectar y corregir errores del lenguaje java. Con el desarrollo de este trabajo se tiene en claro que en el momento de desarrollar una aplicación es necesario efectuar un análisis y diseño de la misma antes de ser creada.

Page 111: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

111

11. RECOMENDACIONES

El comercio móvil y las tecnologías aquí descritas están en continua actualización y es necesario consultarlas. La información de este documento puede perder vigencia y solo servir de referencia. Para descargar software actualizado consultar la pagina del fabricante. Para las personas que están iniciándose en el desarrollo de aplicaciones móviles y programas de integración de actividades, es necesario realizar un estudio de cómo va a ser la aplicación, realizar un levantamiento de requerimientos, diseño, análisis, desarrollo y testing de la aplicación.

Page 112: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

112

BIBLIOGRAFIA

Connected Limited Device Configuration 1.1 [en línea]. Estados Unidos: Java Community Process, 2004. [Consultado en abril de 2006]. Disponible en Internet: http://jcp.org/aboutJava/communityprocess/final/jsr139/index.html

FROUFE QUINTAS, Agustín. J2ME Java 2 Micro Edition. México: Alfaomega, 2004. 572 p. Guzmán Díaz, William Mauricio. Desarrollo de software para toma de pedidos vía teléfono celular con interfaz a un portal B2B (CD-ROM). Santiago de Cali 2006. 1 CD-ROM. Pasantía (Ingeniero Mecatrónico). Universidad Autónoma de Occidente. Facultad de Ingeniería, 2006 HORSTMANN, Cay. Core Java 2 . Estados Unidos: Pearson Educacion, 2004. 1088 p. Iden Technical OverView [en línea]. Estados Unidos: Motorola Developer Network, 1999. [Consultado en Febrero de 2006]. Disponible en Internet: http://developer.motorola.com/?path=1.2.7.44.692 Infraestructura MPT-1327 [en línea]. España: Teltronic, 2005. [Consultado en Octubre del 2005]. Disponible en Internet: http://www.teltronic.es/detsoluciones.aspx?ParI_ID=13 Introducción a J2ME [en línea]. Madrid: Comunidad Java Hispano, 2004. [Consultado en enero de 2006]. Disponible en Internet: http://www.javahispano.org/articles.article.action?id=56 Java Docs & Tools [en línea]. Ucrania: Sony Ericsson, 2006. [Consultado en Marzo de 2006]. Disponible en Internet: http://developer.sonyericsson.com/site/global/docstools/java/p_java.jsp Java2 Micro Edition [en línea]. Málaga: Universidad de Málaga, 2003. [Consultado en Agosto de 2006]. Disponible en Internet: http://www.lcc.uma.es/~galvez/J2ME.html

Page 113: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

113

Java Segurity [en linea]. Virginia: National Science Foundation, 2001. [Consultado en Agosto de 2006]. Diponible en Internet: http://ei.cs.vt.edu/~jwww/courseNotes/security/java/ J2ME [en línea]. Madrid: Grupo de investigación J2ME-grasia, 2004. [Consultado en Julio de 2006]. Disponible en Internet: http://grasia.fdi.ucm.es/j2me/_J2METech/MIDP.html Kroll, Michael. Java 2 micro edition application development. Indianapolis, Indiana : Sams Publishing, 2002. 480 p. NetBeansTM IDE 5.0 Release Notes [en línea]. República Checa: Netbeans Org, 2006. [Consultado en Mayo de 2006]. Disponible en Internet: http://www.netbeans.org/community/releases/50/relnotes.html Programación en red en MIDP [en línea]. Madrid: Universidad Carlos III de Madrid, 2002. [Consultado en Enero de 2006]. Disponible en intenet: http://www.it.uc3m.es/celeste/docencia/cr/2002/PracticasJ2ME/PracticaHTTP/ Redes celulares PCs y Trunking [en línea]. Bogotá: Organización ACIS, 2004. [Consultado en Noviembre de 2006]. Disponible en Internet: http://www.acis.org.co/memorias/JornadasTelematica/IIJNT/FinalRedes_celularesPCS_y_Trunking.pdf. Trunking [en línea]. Bogotá: Comisión Reguladora de Telecomunicaciones, 2004. [Consultado en Noviembre de 2005]. Disponible en Internet: www.crt.gov.co/Documentos/BibliotecaVirtual/publi_sector90/Cap5_Trunking.pdf What's New in MIDP 2.0 [en línea]. Estados Unidos: Sun Developer Network, 2006. [Consultado en Octubre de 2006]. Disponible en Internet: http://java.sun.com/products/midp/whatsnew.html

Page 114: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

114

ANEXOS Anexo a. Resumen de la Investigación en formato Ifac.

INVESTIGACIÓN SOBRE AUTOMATIZACIÓN DE FUERZA DE VENTAS MOVIL

Milena Andrea Castillo Ruano

[email protected] Universidad Autónoma de Occidente

Campus Valle del Lili Santiago de Cali

Abstract: Información sobre las tecnologías utilizadas para lograr la automatización de fuerza de ventas utilizando un Terminal celular, o dispositivo móvil que soporte la plataforma Java 2 Micro Edition.

Keywords: J2ME, Fuerza de ventas Móvil, GPRS, Trunking.

1. INTRODUCCIÓN Este formato contiene una descripción de la plataforma utilizada en la automatización de fuerza de ventas y el comercio móvil, empleando un equipo celular. Tiene por objetivo describir el lenguaje de programación Java2 Micro Edition como una introducción al conocimiento técnico del M-Commerce (Comercio Móvil). También se describe la arquitectura de las redes de transmisión de datos GPRS y la red iDEN, redes utilizadas para interconectar los equipos móviles con un servidor de base de datos. Este proyecto contiene información técnica sobre el entorno donde se despliegan las aplicaciones móviles y no contiene la aplicación móvil desarrollada para la empresa Sidem Ltda.

2. AUTOMATIZACION DE FUERZA DE

VENTAS La automatización de fuerza de ventas es la ejecución

de actividades comerciales, utilizando medios electrónicos. Para toma de pedidos se realizó una implementación utilizando un equipo celular con acceso a la red GPRS (General Packet Radio Service) La implementación cuenta con un análisis, diseño y desarrollo. 2.1 m – Comerse El comercio electrónico móvil, es la posibilidad de realizar transacciones comerciales a través de un equipo móvil, de una manera confiable y segura. Estos servicios deben: - Ofrecer fiabilidad. - Generar confianza. - Facilidad de uso. - No resultar costoso. Con el M-Commerce podemos salir de casa provistos sólo de un dispositivo móvil con el que podremos efectuar todo tipo de pagos.

Page 115: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

115

Implantación de soluciones móviles en empresas: Las soluciones móviles para empresas deben cumplir los siguientes requisitos:

- Fáciles de usar. - Fiables. - Integradas en los sistemas y plataformas

tradicionales. Se deben definir estrategias que respondan a las siguientes preguntas:

- Por qué es necesaria la solución - Cómo se va a utilizar. - Qué beneficios brindará: Mejora las

relaciones con los clientes, aumenta la productividad, estimula la eficiencia de la empresa.

Con respecto a las soluciones móviles es necesario tener en cuenta una serie de factores:

- Plataformas utilizadas en la empresa. - Compatibilidad y estandarización de los

dispositivos y sistemas - móviles utilizados. - Adaptación de contenidos tradicionales a

las soluciones móviles. 3. DESCRIPCIÓN DE LA IMPLEMENTACIÓN

Se desarrolló una aplicación móvil que se describe a continuación. Características del desarrollo. Entorno de desarrollo (IDE) utilizado: Netbeans Lenguaje de Desarrollo: Java 2 Micro Edition Emulador Utilizado: SDK Sony Ericsson- W600 emu Servidor Web: Apache. Servidor de Base de datos: SQL Server. Transmisión de datos: red GPRS Conexión utilizada: HttpConnection Método de envío y recepción utilizado: Método Post.

4.1.2 Descripción del usuario Aquí se describe el usuario que interactúa con la aplicación. Usuario: Es la persona que interactúa con el servicio. La Figura 1 muestra las funcionalidades del usuario. Figura 1. Diagrama de uso del agente de Ventas

La información se envía por un medio de transmisión inalámbrico hacia una base de datos. El servidor envía una respuesta utilizando el mismo medio de transmisión. Alcances para Vendedor

• 24 horas de disponibilidad para pedidos, en cualquier lugar.

• Conocimiento productos disponibles, en línea.

• Rápido acceso a información. Listado de Casos de uso del sistema para el vendedor: Identificación: El vendedor como primera instancia debe identificarse como usuario autorizado del sistema, para poder acceder al menú de servicios.

Page 116: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

116

Tabla 1. Casos de Uso para el agente de ventas Menú de servicios - Vendedores

Opción 1. Ver Ruta

El sistema entrega al vendedor la información de los clientes que debe visitar.

Opción 2. Información del tendero.

El sistema entrega la información del tendero, el servicio despliega datos como razón social, representante legal, dirección, teléfono, entre otros.

Opción 3. Ver Información del Producto

El servicio le proporciona al vendedor el nombre, código, cantidad disponible y precio del producto.

Opción 4. Toma de Pedidos.

El sistema entrega un formulario donde se debe introducir el producto y la cantidad solicitada. Luego de ingresar todo el pedido, se lo envía en línea. El sistema informa sobre “envío exitoso”, o si Hubo fallas en la transmisión.

3. JAVA 2 MICRO EDITION Versión de Java orientada a dispositivos móviles que posean bajas capacidades de hardware y software, poca capacidad de memoria, de procesador, pantalla. 3.1 Arquitectura La plataforma J2ME requiere de la siguiente arquitectura:

Figura 2. Arquitectura de J2ME La plataforma requiere un sistema operativo compatible con java, para poder ejecutarse. Sobre este sistema operativo se instala la maquina virtual java micro edición, y sobre esta va la configuración y un perfil propios del lenguaje de programación. JVM: Programa que se ejecuta sobre una plataforma específica, y que es capaz de interpretar y ejecutar instrucciones. Para dispositivos móviles se desarrollo la KVM (Kilo Virtual Machine). Configuración (CLDC): El nivel de configuración dentro de la plataforma J2ME corresponde a un grupo de interfaces de usuario que facilitan la programación a los desarrolladores de software. La configuración utilizada por J2ME para celulares es CLDC (Connected Limited Device Configuration). Perfil (MIDP): Proporciona el entorno de ejecución para dispositivos móviles. 3.2 MIDlet Aplicaciones desarrolladas bajo la especificación MIDP. Son las aplicaciones que se ejecutan en un celular, pocket pc, palm. La estructura de un MIDlet define los siguientes métodos: startApp() – Lanza el MIDlet pauseApp() – Detiene el MIDlet destroyApp() – Detruye el MIDlet

Stma Operativo

Perfil MIDP

Configuración

Maquina Virtual

Page 117: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

117

Un MIDlet maneja los siguientes estados: Figura 3. Ciclo de vida de un MIDlet

Estos métodos definen el estado del MIDLet el cual es activo, parado o destruido. MIDlet Suite: Es una colección de MIDlets, es decir un conjunto de aplicaciones alojadas en el celular.

4. ALMACENAMIENTO PERSISTENTE DE DATOS

J2ME emplea espacios de memoria llamados registros los cuales son utilizados como medios de almacenamiento dentro del dispositivo móvil. El sistema de gestión de registros proporciona una serie de clases que permiten almacenar datos en bases de datos alojadas en el dispositivo móvil. El paquete de java MIDP que se ocupa del almacenamiento persistente de datos es javax.microedition.rms, RMS (Record Management System). J2ME tiene un conjunto de métodos para manejar registros, por ejemplo métodos para cerrar, editar y borrar registros o información almacenada en los mismos.

5. ENTORNO DE DESARROLLO IDE Este proyecto estudia la ejecución de aplicaciones móviles, su codificación y compilación, utilizando el entorno de desarrollo (IDE, Integrated Development Environment) de Netbeans. Netbeans es un potente entorno que hace más amena la tarea de programar. Este viene con un ambiente completo de desarrollo que incluye un paquete para realizar aplicaciones móviles, y poder ejecutarlas en un emulador que viene incluido en el paquete móvil de Nerbeans. Netbeans presenta las siguientes características: Netbeans presenta las siguientes características.

• Soporte integral para aplicaciones java. • Simplificado e intuitivo constructor de

GUI (Graphical User Interface) • Constructor de interfaces de usuario,

habilitado para aplicaciones web, empresariales, móviles, etc.

• Soporte para el Sun Application Server 8.2

• Soporte para servicios web para aplicaciones empresariales.

• Incluye varios editores, incluyendo detectores de errores de línea e indicador de sugerencias.

• Incluye el Netbeans Profiler, el cual ayuda a optimizar las aplicaciones en cuanto al uso de memoria y CPU.

• Paquete para desarrollar aplicaciones móviles.

6. INTRODUCCIÓN A GSM-GPRS Este capitulo describe la red para transmitir datos que emplean los equipos celulares con tecnología GSM. La red GSM utiliza el servicio GPRS (General Packet Radio Service), para transmisión de datos. GPRS funciona paralela a la red GSM (Global System for Mobile comunications), comparte la

Page 118: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

118

misma frecuencia. En GSM la tarifación se hace por tiempo, debido a que los timeslots (intervalos de tiempo) son asignados mediante una conmutación de circuitos; en GPRS la tarifación se hace por cantidad de KB descargados, o paquetes de datos transferidos (Conmutación de Paquetes). 6.1 Características

Siempre conectado: El usuario siempre esta conectado a la red sin tener que pagar por esto; solo se paga por cantidad de Kbytes recibidos o transferidos no por tiempo de conexión.

Mayor capacidad de transmisión de descarga que de envío. Enlaces ascendente y descendente independientes.

Velocidades de transmisión entre 18 y 53 Kbps en sentido descendente (desde la red al teléfono móvil), Y entre 9 y 13 Kbps en sentido ascendente. (desde el móvil a la red)

Varios usuarios pueden compartir un mismo canal.

Red troncal basada en el protocolo TCP/IP

Tiene la misma cobertura de la red GSM

Tiempo de establecimiento de conexión inferior al segundo.

Soporta Aplicaciones WAP y J2me. Velocidad de transmisión variable,

depende de factores como el grado de ocupación de la red, el equipo celular utilizado (Clase A, B, C) número de canales que emplea, la distancia a la torre de transmisión (estación base), la velocidad a la que se desplaza el usuario.

6.2 Servicios. El Usuario de GPRS, puede especificar y activar los servicios de forma independiente.

Navegación por Internet. Acceso a páginas Web

Acceso a intranet Corporativas Oficina Virtual

Acceso a sistemas de correo electrónico (Microsoft Mail, Outlook Express, Microsoft Exchange, etc). Siempre que cumplan los las normas POP3 o IMAP4.

Acceso a bases de datos corporativas. Gestión de Fuerza de Ventas: consulta de

estados de pedidos, consulta de catálogos, consulta de stocks, información relativa a los clientes, desde cualquier lugar.

Gestión de equipos de trabajo que operan fuera de la empresa (equipos de mantenimiento, supervisión, reparto, etc.)

Servicios basados en el envío de mensajes cortos.

Servicios de localización. GPRS es una red diseñada para roaming,

requerimiento para hacer posible la red de Internet móvil global.

7. TRANSMISIÓN DE DATOS UTILIZANDO LA RED TRUNKING

Las aplicaciones móviles para fuerza de ventas y desarrolladas con Java 2 Micro Edición, son soportadas en los equipos de transmisión iDEN ya que estos están adecuados para la configuración CLDC. 7.1 Beneficios

La tecnología Trunking hace posible integrar y gestionar con eficacia, seguridad y bajo costo; todo el tráfico de una red de radio. • Mejor calidad de comunicación. • Mejor aprovechamiento del espectro

radioeléctrico. • Privacidad de Canal • Exclusividad de canal • Asignación dinámica de canales comunes:

o Ahorro de frecuencias. • El usuario no selecciona canales, sino que

marca el número del individuo o grupo llamado.

• Cada grupo de usuarios es una red virtual independiente

Page 119: INVESTIGACIÒN SOBRE AUTOMATIZACIÒN DE FUERZA DE …

119

A continuación se muestran los elementos de red. Figura 4. Arquitectura red iDEN

Descripción de los elementos de red • La estación móvil envía y recibe datos

directamente. • La EBTS convierte las llamadas en

paquetes de datos. • La MPS enruta los paquetes de datos. • EL DAP determina servicios y

locaciones. • El MDG enruta los datos desde internet. • El facturador, Billing Accumulator (BA)

colecta la información de tiempo y datos trasferidos

CONCLUSIONES

Este documento recopila la información del

ambiente donde se despliegan las aplicaciones móviles que para fines de esta pasantía son utilizado en el comercio electrónico.

Toda la información aquí contenida contribuye

a tener en un solo documento una base para el conocimiento del lenguaje java, y las arquitecturas de red que interactúan con dicho lenguaje.

Se observo que el lenguaje Java es una

herramienta completa que ofrece a los desarrolladores de software integración para

ejecutar aplicaciones móviles y empresariales. Con el estudio de las tecnologías para

transmisión de datos, se tiene una herramienta de soporte para poder seleccionar la más adecuada.

Con el desarrollo de este trabajo se comprobó

que la investigación sobre las técnicas de transmisión de datos y programación de dispositivos móviles, cubre un amplio campo de estudio que esta en continua transformación y que se hace necesario estudiar continuamente, actualizarse.

.

REFERENCIAS Connected Limited Device Configuration 1.1 [En

línea]. Java Community Process, 2004. (Consultado en abril de 2006). Disponible en Internet:

http://jcp.org/aboutJava/communityprocess/final/jsr139/index.html

FROUFE QUINTAS, Agustín. J2ME Java 2

Micro Edition. México, Alfaomega, 2004. 572 p.

GUZMÁN DÍAZ, William Mauricio. Desarrollo

de software para toma de pedidos vía teléfono celular con interfaz a un portal B2B (CD-ROM). Santiago de Cali 2006. 1 CD-ROM. Pasantía (Ingeniero Mecatrónico). Universidad Autónoma de Occidente. Facultad de Ingeniería, 2006

HORSTMANN, Cay. Core Java 2 . PEARSON

EDUCACION, 2004. 1088p. Iden Technical OverView [En línea]. Motorola

Developer Network, 1999. (Consultado en Febrero de 2006). Disponible en Internet:http://developer.motorola.com/?path=1.2.7.44.692


Recommended