Guión del Curso


El desarrollo de aplicaciones con Tecnología XOne requiere capacidades y conocimientos de informática, así como nociones básicas de las siguientes materias:

  • XML.
  • SQL. Lenguaje de consultas de base de datos.
  • ODBC. Interconexión de distintos Sistemas Gestores de Base de Datos.
  • Sistemas relacionales de Base de Datos. (MYSQL, SQL SERVER, ORACLE…)
  • Conocimientos de programación. Lenguajes de Script.


La TECNOLOGÍA XONE responde ampliamente a la necesidad presente hoy en día en muchas empresas tecnológicas de que sus trabajadores estén disponibles independientemente del lugar donde se ubiquen, pudiendo desarrollar trabajos fuera de la cobertura de un único edificio y de forma que la información del negocio se actualice en tiempo real. Estos objetivos son, además, cumplidos sobremanera por la tecnología XOne, lo cual refuerza su carácter innovador.

Las aplicaciones desarrolladas por la tecnología XOne funcionan independientemente de la existencia de cobertura móvil, de los sistemas de información y de la tecnología de comunicación inalámbrica que se desee utilizar.

La tecnología XOne propone:

  • Soluciones personalizadas válidas para MÚLTIPLES DISPOSITIVOS.
  • DIFERENTES PERFILES DE USUARIOS y diferentes terminales compartiendo una misma aplicación.
  • Un ÚNICO DESARROLLO DE CÓDIGO ABIERTO. (XML)
  • I+D en continua evolución anticipándose a las necesidades del cliente (GPS, RFID, Fotografía, Firma Digital…)
  • Un MOTOR PROBADO Y COMÚN para todas las soluciones con una personalización total de sus reglas de negocio.
  • Comunicaciones SEGURAS Y GARANTIZADAS a través de diferentes redes.
  • Óptimos costes.
  • Alta escalabilidad, creciendo según las necesidades del cliente.
  • Entorno multi-idioma.
  • Conexión a un servidor remoto en tiempo real.
  • Mantenimiento automático de la solución.


Algunos de los sectores de aplicación de la tecnología XOne son: Administración Pública, Seguros, Plataforma SMS XOne, Tecnología y Comunicaciones, Entrega y Recogida, Energías renovables, Distribución y Logística, Laboratorios Farmacéuticos, Ocio y Tiempo Libre, Construcción, Promotoras Inmobiliarias, Sanidad, Servicios y Banca, Cloud Computing, Alarmas Remotas…
Las características principales de la tecnología XOne son:

  • Programación/Configuración total a través de ficheros XML o código nativo.
  • Intérpretes (Framework) para los distintos Sistemas Operativos y dispositivos (PC, Web, Windows Mobile, BlackBerry…).
  • Sistema propietario de comunicaciones optimizado para cualquier conexión TCP/IP (ADSL, CABLE, WIFI, GPRS, 3G, etc.).
  • Integridad referencial de datos entre los distintos dispositivos involucrados en el proyecto.
  • Réplica Documental.
  • Réplica de Datos selectiva.
  • Interacción con cualquier Base de Datos relacional (ORACLE, MSSQL SERVER, MYSQL, INFORMIX, etc.).
  • Soluciones en producción bajo los entornos más heterogéneos.
  • Integración a bajo nivel con tecnologías que convergen en dispositivos móviles (GPS, Foto, Video, Firma, Cobro Electrónico, etc.)


En sentido general, la Plataforma XOne ha logrado solucionar los grandes retos a lo que cualquier proyecto de movilidad se debe enfrentar:

  • A la continuada evolución de los dispositivos y sistemas operativos que hacen descatalogar dichos sistemas en espacios de tiempo relativamente cortos, por lo que el coste de programación se incrementa al tener que adaptarse a las nuevas necesidades, o por el contrario, la vida útil del proyecto se reduce a la vigencia del terminal. Por ello, XOne con su metodología de trabajo abstrayéndose del dispositivo gracias a sus Framework garantiza la evolución del sistema junto con el mercado.
  • La capacidad de operar a través de redes inalámbricas con ancho de banda limitado o en ausencia de señal, es la realidad que se debería contemplar en todos los ambientes de trabajo, ya que no se puede garantizar un sistema de comunicación continuo. XOne garantiza la sincronización de información conmutando entre redes, paquetizando dinámicamente y automatizando la tarea de comunicar sin intervención del usuario, tanto en el envío como en la recepción.
  • Gestionar grandes volúmenes de dispositivos se hace una tarea ardua y desequilibrante para aquellos sistemas que no cuenten con administradores de la solución en movilidad. La Plataforma XOne incorpora una herramienta propia cuyo fin es gestionar y administrar la solución de forma remota y para diferentes Plataformas.


imag1.jpg

Productos y Servicios de la Tecnología XOne


La Tecnología XOne provee de FRAMEWORKS para la programación en los distintos dispositivos, estos FRAMEWORKS interpretan una serie de ficheros XML los cuales definen, entre otras cosas, las reglas de negocio de nuestro proyecto.

imag2.jpg

Para inter-comunicar los distintos dispositivos que se estén utilizando en nuestro proyecto: PC, Pocket PC, Blackberry… necesitamos una herramienta que nos permita mantener la integridad referencial de todos los datos de forma transparente tanto el programador como el usuario de la aplicación.

Sus características principales son:

  • Encriptación y Optimización de la transmisión de datos, con independencia del método utilizado (GPRS, ADSL, WIFI, etc), pudiendo seguir trabajando con total normalidad mientras no tengamos conexión, para cuando volvamos a tener conexión se repliquen normalmente todas las operaciones realizadas sin pérdida de datos.
  • Interconexión de distintos sistemas de Base de Datos según el dispositivo:


imag4.jpg

                    La manipulación de las fechas en los distintos formatos al igual que otras muchas funcionalidades es completamente transparente.
  • No es necesario que todos los clientes tengan una copia completa de la Base de Datos (Selectividad).
  • Replica de Datos y Ficheros.
  • Interconexión de distintos sistemas de base de datos, instalados en servidor o cliente de réplica, según el dispositivo a utilizar.
  • Selectividad de datos para los dispositivos.
  • Mantenimiento de Integridad.
  • Seguridad en las transmisiones.
  • Clusterización.
  • Servidores de réplica en entornos de nube.
  • Réplica Documental.
  • Resolución de Conflictos
  • Registro de Operaciones (log)
  • Balance de carga

imag3.jpg


Si el cliente ya dispone de un programa que gestiona sus necesidades y lo que quiere es movilizar su aplicación la Tecnología XOne provee de un sistema para interconectar su Base de Datos con otra Base de Datos que será la que utilizaremos para nuestro proyecto.

Ésta herramienta es capaz de establecer una comunicación Bidireccional entre las dos BD, pudiendo comunicar distintos Sistemas de BD como Oracle, MSSQL SERVER, MYSQL, INFORMIX, AS400, Web Services, incluso ficheros XML o texto simple, por regla general todos aquellos orígenes de datos que puedan ser relacionados mediante ODBC.

Los criterios con los que se van a rellenar las estructuras de intercambio estarán ligados a las necesidades de la aplicación móvil. Sin embargo, los mecanismos para importar esos datos no los limitará dicha aplicación móvil, sino el entorno origen de dichos datos. Así pues, es posible tener dos tipos de carga:

  • Incrementales: Entidades en los que se pueda discriminar un criterio de creación y desactivación operativa.
  • Globales: Entidades de las que únicamente se conoce la información válida en el momento de la carga.


imag5.jpg

La Tecnología XOne provee de una herramienta que simplifica las instalaciones y actualizaciones de los distintos dispositivos, pudiendo gestionar y visualizar el estado de estos en todo momento a través de una sencilla interfaz web.

Sus características principales son:

  • Permite la instalación de dispositivos desde cero.
  • Actualización de la aplicación, librerías o Base de Datos.
  • Administración a través de una sencilla interfaz web que permite:
    • Visualizar en todo momento el estado de los distintos dispositivos, tanto a nivel de actualizaciones como de réplica.
    • Adicionar nuevos dispositivos.
    • Borrado de datos en caso de robo o pérdida del dispositivo.
    • Copias de Seguridad.Control de Errores.

imag6.jpg

Herramientas para la Programación con XOne

La Plataforma cuenta con un IDE, XOneStudio, con el que te permite programar, modificar o distribuir las aplicaciones desarrolladas en entorno XOne de forma sencilla y rápida. Con este IDE, tendremos la posibilidad de depurar nuestras aplicaciones, corriendo incluso desde el propio dispositivo.

Este entorno consigue que con la ayuda en la programación y con plantillas que ofrece para desarrolladores nóveles o con experiencia, prácticamente no se necesiten grandes conocimientos del dispositivo, ni tampoco de la base de datos en donde se esté creando el sistema. Así, un programador puede consumir tiempos impensables en la construcción o ampliación de módulos, reduciéndose aproximadamente a la tercera parte del tiempo que en programación normal.

La amplia escalabilidad de esta solución, completamente modulada, permite comenzar con proyectos piloto de escasa complejidad y transformarlos en productos muy acabados y versátiles. De esta forma, se pueden ir añadiendo tantas nuevas funcionalidades como se desee, sin necesidad de modificar el funcionamiento de los otros módulos.

Por este motivo, el conjunto de desarrollos formados por XOne destaca sobre los demás productos.

Algunos de los puntos importantes que tiene la programación con XOne son:

  • Programación multidispositivo, de tal forma que un único desarrollo es válido para cualquier dispositivo. Esto permite que un programador solo tenga un código, y cuando ponga una actualización, cambie el programa en dispositivos de distinto origen, ya sean Android, iPhone, WP7 o BlackBerry.
  • Lenguaje de programación en un XML, con código abierto. Dicho lenguaje es único, sea cual sea el dispositivo.
  • Programación abstraída de dispositivo y de los elementos del mismo, de tal forma que un desarrollador no tendrá que estudiar nada específico del dispositivo, como son las conexiones o la interacción con dispositivos externos, ya sean lectores de códigos de barras o impresoras. De todo esto se encargará la Plataforma con las diversas herramientas que expone.
  • Framework habilitados para las distintas Plataformas, siendo compatibles ciento por ciento entre ellas.
  • Programación multiusuario.
  • Inserción de código script para reglas de negocios complejas requeridas por el cliente.
  • Utilización de CSS para la elaboración de las aplicaciones.
  • Integración con códigos propios creados por los desarrolladores externox. Hay que tener en cuenta que cada parte que forma una aplicación de movilidad es un módulo independiente, de tal forma, que cualquier puede ser utilizado independientemente. Uno de los métodos más utilizados, es el sistema de réplica, con lo que el cliente podrá tener su aplicación ya creada, y solo utilizar de la Plataforma esa parte. Para ello la Plataforma ofrece distintos conectores para cada uno de los módulos.
  • Integración de desarrollos visuales mediante llamadas de código nativo de los propios desarrolladores.
  • XOne provee de un conector para utilizarlo con la aplicación nativa del cliente. Para ello es necesario que la base de datos, este normalizada por XOne, con las tablas de réplica necesarias para el funcionando de la misma. Una vez realizada dicha normalización, el acceso a datos de la aplicación del cliente debe gestionarse a través del conector XOne Data Provider, incorporando así la funcionalidad del sistema de réplica del cliente, gestionando por tanto el intercambio de información mediante este mecanismo. De este modo, la sincronización de datos emplearía el mecanismo genérico de comunicaciones de XOne.


El siguiente link, Video de XOneStudio, nos muestra cómo sería la programación con dicho IDE, con el que podremos ver la depuración de XOne corriendo la aplicación en un emulador de Android. Aquí se muestra una imagen del IDE de programación de XOne.

imag7.jpg

Distribución Horaria del Curso

LUNES MARTES MIÉRCOLES JUEVES VIERNES
Presentación componentes Plataforma XOne XOne Studio Mappings y Appwizard XOne Studio Mappings y Appwizard. VBScript XOne Studio Mappings y Appwizard. VBScript Replica.Conceptos. RL
DESCANSO
Estructura general del sistema. Mappings XOne Studio Mappings y Appwizard XOne Studio Mappings y Appwizard. VBScript XOne Studio Mappings y Appwizard. VBScript Replica. Ficheros. Tablas en BD
COMIDA
Diseño aplicación. Base de datos SQL XOne Studio Mappings y Appwizard. VBScript XOne Studio Mappings y Appwizard. VBScript XOne Manager. XOneLive Interface
DESCANSO
XOne Studio. Mappings y Appwizard XOne Studio Mappings y Appwizard. VBScript XOne Studio Mappings y Appwizard. VBScript XOne Manager. XOneLive Interface


ESTRUCTURA NODO COLL EN EL FICHERO MAPPINGS.XML



imag8.jpg

ESTRUCTURA FICHERO APPWIZARD.XML


imag10.jpg

Detalle del fichero Mappings.xml

Sesiones 2, 3 y 4




  • Visión general del Mappings.
  • Estructura del XML.
  • Colecciones y propiedades atributos básicos. Conceptos de colección y propiedad. Relación con las tablas.


Estructura del nodo COLL

  • Nodo group
  • Props
  • Reglas de Negocio
  • ASFilter


Principales Atributos del Nodo <Coll>

  • name=“Nombre del campo en BD”
  • sql=“Sentencia SQL”
  • objname=“Objeto del que leemos”
  • updateobj=”Objeto que vamos a actualizar“
  • progid=“Nombre Simbólico”.CASBasicDataObj,CASEmpresa,CASUser.
  • filter=“Sentencia “WHERE” de SQL”
  • sort=“Sentencia “ORDER BY” de SQL”
  • Colecciones esenciales:
    1. Empresa
    2. Usuarios
  • Title
  • Fontsize
  • Editwidth
  • Editheight
  • Loadall
  • Autocreatefill
  • Withopen
  • Sql-debug


Nodo <PROP>

  • name=“Nombre del campo en BD”
  • group=“Numero Pestaña”
  • visible=“Valor decimal de la máscara de bits”
  • fieldsize=“Tamaño visible en pantalla”
  • size=“Tamaño en BD”
  • type=“Tipo de dato en BD”
    • Texto (T) (varchar)
    • Numérico (N, N1, N2…) (int o double)
    • Fecha (D) (datetime)
    • Bit (NC) (int)
    • Password (X) (varchar
    • Especiales:
      1. Contents
      2. Etiqueta (TL) (No es tipo de dato)
    • Newline
    • Locked/ Locking
    • Bgcolor
    • Labelwidth
    • Lmargin


Propiedades

  • Atributos de propiedades de relacionadas con los datos, relacionadas con la visualización.
  • Tipos de propiedades posibles:
    • Propiedad común de datos
    • Propiedad mapeada
    • Propiedad de detalles
    • Propiedad de evaluación de formula
  • Atributos de <Prop>
    • Type
    • Visible
    • Size
    • Fieldsize
    • Title


  • Asfilter


  • Conceptos
  • Atributos
    • Fontsize
    • Left
    • NODO field
      • name=“FECHA1”
      • fldname=“FECHA”
      • oper
        1. Operaciones
        2. Macros
      • width=“10”
      • newline=“false”
      • tooltip=”FechaInicio“
      • value:Macros.
      • Valor del nodo
  • Macros
    • Nodo Macro
      • Name=”##MACRO1##“
      • value=“1=1”
      • default=“true”
    • Applyto=”##MACRO1##
  • Contents con Asfilter
  • Filtrosespeciales
    • Coll: dropdown
    • Asfilter: dropcoll
Sesiones 5, 6 y 7




  • Enlaces con otras colecciones:
    • Conceptos. Relación 1 a N
    • Atributos de Prop
      • Mapcol
      • Mapfld
      • Linkedto
      • Linkedfield
      • Showinline
      • Filter
    • SQL para traer los datos primero.
    • Nomenmask,editmask
  • Contents. (Subgrid)
    • Conceptos. Relaciones N a N.
    • Atributos de proa
      • Prop
        • Name=”@”
        • Type=”Z”
        • Contents=””
        • Lines
      • Contents
        • Name
        • Src
        • Filter
    • Conceptos. Momentos del evento
      • Create
      • Insert (before)
      • Delete (after)
      • Onchange
    • Reglas y acciones
      • <rule>
      • <actions>
      • Acciones especiales (beforeaction y afteraction)


Sesiones 8 y 9




  • Formulas y Ext-Formulas
  • Totales
  • Botones y Coll-Actions
  • Eventosespeciales
  • Contents sin padre
    • Checkowner
    • dependent


Sesiones 10, 11 y 12




  • Tipos de datos. Variables. Operadores. Condicionales
  • Estructura de objetos. Colecciones y sus atributos, Propiedades, Objetos
  • Objeto This
  • Bucles
  • Modelo completo de datos
    • This.contents
    • Appdata.getcollection
      • Coll.startbrowse
      • Coll.movenext
      • Coll.endbrowse
      • Coll.currentItem
    • Obj.save
    • Obj.delete
    • Coll.createobj, coll.addItem Empty, obj
    • Validate: appdata.popvalue, appdata.pushvalue.
    • Appdata.writeconsolestring
    • Objeto User
    • Coll.variables(“contador”)=
    • CreateClone
    • Ownercollection/Ownerobject
    • ObjectItem
    • Búsqueda directa (set obj=getcollection(“ArtBusc”)(“ID”,ctsr(numart))
    • For each
    • FileSystemObject
    • Loadall
    • Full
    • CGSUI
    • linkfilter
    • CurrentEnterprise
    • CopyProperties
    • Obj.OldItemSetNotifier
  • Funciones y procedimientos. Ficheros externos
  • Resolución de fallos


Sesiones 13 y 14




  • Colección de Avisos / Scripts
  • Colecciones para implementación de Geoposicionamiento (GPS)
  • Utilización de Hojas de Estilo “a la css”
  • Frames y vistas de datos especiales


Sesiones 15 y 16




  • Distintas posibilidades del XOneManager
    • Poner Actualizaciones
      • General
      • Para todos los dispositivos de un tipo (P.Ej: para todas las Blackberry)
      • Para un dispositivo Concreto.
    • Ver estado de un dispositivo
    • Agregar dispositivo.
    • Deshabilitar licencia.XOneLive * Servicio Provisioning
      <box round left >
      Sesiones 17 y 18 </box>

      *
      Explicación de los campos ID y ROWID en todas las tablas. Problemática. * Tablas de réplica Cliente/Servidor.Tabla RL. * Replica de Ficheros * Selectividad. * Solución de errores
      <box round left >
      Sesiones 19 y 20 </box>


      *
      Opciones del XML de configuración de la Interface. * Pequeño ejemplo funcional de traspaso de datos.**