[Windows Phone] Crear un Company Hub (1/2)

Introducción

Antes de la llegada de Windows Phone 8, con
Windows Phone 7 en el mercado, como desarrolladores teníamos solo dos
opciones para distribuir aplicaciones empresariales destinadas para los
dispositivos de empleados:

  • Publicar la Aplicación en la Store
    protegiendo el acceso con usuario y contraseña. La Aplicación queda
    expuesta a ser descargada por cualquier usuario de la tienda aunque
    finalmente no accedan a su funcionalidad.
  • Usar un software de
    gestión de dispositivos (MDM) para la gstión y distribución de las
    Aplicaciones. Microsoft ofrece dos MDMs, Windows Intune y System Server
    2012. Sistema que encaja en muchas empresas aunque quizás el esfuerzo en
    coste y gestión no llega a permitir esta posibilidad para otras.

Windows Phone 8 incluye muchas novedades pensadas directamente para el sector empresarial.

Novedades de Windows Phone 8 para el sector empresarial

Con
Windows Phone 8, Microsoft ha realizado un esfuerzo para convencer a
las empresas de utilizar la plataforma en sus soluciones empresariales.

  • Seguridad.
    La seguridad es un punto vital sumamente importante a la hora de
    realizar aplicaciones empresariales para dispositivos móviles. En las
    aplicaciones de escritorio se suele tener el escudo de un entorno muy
    controlado como es el dominio. Para satisfacer las necesidades de
    seguridad requeridas a nivel empresarial:

    • BitLocker. Cifrado del almacenamiento.
    • Arranque
      seguro. Si algun virus o malware intenta modificar el núcleo del
      sistema, modificando la firma del mismo provocará que al ser detectado
      se detenga el arranque del mismo (UEFI Secure Boot).
    • Sandbox.
      Las aplicaciones se ejecutan todas en un entorno cerrado y controlado
      que evita que desde una aplicación no se pueda acceder al área de
      memoria asignada a otra.
  • Lync. Con la integración de Lync en Windows Phone se permite a los empleados entrar en conversaciones desde el teléfono.
  • VoIP.
    Windows Phone 8 permite a los desarrolladores crear aplicaciones que
    utilicen la conexión de datos para realizar llamadas por VoIP.
  • Office. Desde el comienzo del sistema Windows Phone puede contar la integración de Office en el sistema.
  • Portable Class Library.
    En Windows Phone 8 el núcleo ha sido actualizado. En lugar de utilizar
    Windows CE se utiliza Windows NT, es decir, el mismo núcleo que utiliza
    Windows 8. Esto supone una ventaja a la hora de promover el port de
    aplicaciones Windows 8 a Windows Phone con facilidad:

    • Portable Class Libraries
    • Windows Runtime API
    • Condiciones de compilación
    • Enlazado de ficheros, etc.
  • Distribución. Podemos realizar una distribución no administrada simplificando sumamente el proceso.

Distribución empresarial

Entre
las novedades pensadas para el sector empresarial debemos destacar las
novedades en la distribución. Podemos realizar una distribución no
administrada que permite distribuir aplicaciones de manera muy simple
mediante un simple enlace o con un archivo adjunto en un correo
electrónico.

Sin duda, esta nueva forma de distribución es
fantástica y abre muchas posibilidades aunque puede llegar a ser confusa
para el usuario. El usuario esta habituado a instalar y gestionar
aplicaciones desde la Store, no gestionando ficheros que recibe por
correo.

¿Y si pudiésemos crear nuestra propia “Store”?

Podemos!. Es un nuevo concepto disponible con Windows Phone 8 llamada Company Hub. Permite crear un Hub personalizado don mostrar y permitir instalar las aplicaciones disponibles de la empresa.

Manos a la obra…

Vamos a crear un Company Hub!. Pero… esperad!, hay una serie de requisitos que debemos tener antes de lanzarnos manos a la obra.

  • Debemos tener una cuenta de desarrollo de empresa en el Windows Phone Dev Center.
  • Debemos obtener un certificado de distribución empresarial.

https://products.websecurity.symantec.com/orders/enrollment/microsoftCert.do

  • Una vez comprado el certificado e instalado en la máquina necesitamos
    exportarlo en formato PFX (incluye la clave privada). Este certificado
    lo utilizaremos para generar la inscripción de aplicación (AET) y para
    firmar las aplicaciones. El archivo AET se debe instalar en el teléfono
    antes de que se pueda instalar una aplicación empresarial. Con la
    instalación del AET, el teléfono se incribe automáticamente en la cuenta
    de la empresa previamente establecida.

  • Generamos el archivo AET. Abrimos la Línea de Comandos de Visual Studio 2012. Utilizaremos la herramienta AetGenerator para crear el AET:

    "C:Program Files (x86)Microsoft SDKsWindows Phonev8.0ToolsAETGeneratorAetGenerator.exe" certificado contraseña
    • Certificado: Obligatorio. Archivo PFX.
    • Contraseña: Obligatoria. Debe ser la clave utilizada para leer el archivo PFX.

NOTA: El generador crea tres versiones diferentes
del AET, una versión cruda que contiene la AET en formato XML (.xml),
una versión codificada en Base64 pensada para ser utilizada conun MDM
como Windows Intune o System Center 2012  y por último, un archivo en
formato XML que puede ser instalado directamente en el teléfono a través
de un archivo adjunto del correo electrónico o mediante Internet
Explorer (.aetx). Puedes obtener más información al respecto desde el
siguiente enlace.

NOTA:
Es importante tener en cuenta el periodo de validez del archivo AET. En
efecto, como os podéis imaginar el archivo AET tiene fecha de
caducidad, que por defecto es un año. Una vez superado el periodo, las
aplicaciones o el company hub que utiliza el AET no podrán ejecutarse.
Por lo tanto, se debe llevar una gestión del archivo, renovando el mismo
antes de la fecha de expiración.

Tras completar todos los
requisitos necesarios (cuenta de desarrollador, obtener el certificado
empresarial y generar el archivo de inscripción, AET) estamos listos!

El
objetivo del Company Hub no es otro que facilitar a los empleados el
descubrir e instalar aplicaciones por lo que como requisito para
desarrollar el Company Hub necesitamos… aplicaciones!

Para
nuestro Company Hub de pruebas podríamos utilizar algunos de los
ejemplos de este mismo blog aunque por facilitar las cosas crearemos
varias aplicaciones en blanco creadas desde una plantilla Visual Studio,
todas con el mismo ID de editor, las requerimos en nuestro Company Hub
pero no necesitamos que cumplan ninguna funcionalidad especial en
nuestro caso asi que con cambiar el título cumple. En nuestro Company
Hub necesitaremos el ID de editor de las aplicaciones.
En toda Aplicación Windows Phone tenemos el archivo de manifiesto
WMAppManifest.xml ubicado en la carpeta Propiedades de la solución. Al
abrir el archivo desde Visual Studio vemos un editor visual con cuatro
pestañas, una de las cuales es la pestaña de empaquetado (Packaging).

La
pestaña de empaquetado facilita información sobre el autor, la gestión
de versiones y los idiomas soportados. Para nuestros intereses nos
interesan tres datos fundamentales:

  • El ID de editor
  • El GUID para identificar la Aplicación
  • La versión

El
GUID de la Aplicación se utiliza en el Company Hub para identificar
cada Aplicación, la versión se utiliza para determinar cuando hay
actualizaciones de la Aplicación y por último, y lo más importante, el
ID de editor debe coincidir con el ID de editor utilizado en el Company
Hub.

El SDK y el Company Hub

El SDK de Windows Phone 8
contiene un conjunto de APIs destinados a gestionar el conjunto de
aplicaciones de un Company Hub. Concretamente:

  • La clase Package.
    La tenemos disponible dentro del namespace Windows.ApplicationModel.
    Esta clase nos permite acceder a la información del archivo de
    manifiesto de un paquete como la versión o su identificador.
  • La clase IntallationManager.
    La tenemos disponible dentro del namespace
    Windows.Phone.Management.Deployment. Nos permite instalar aplicaciones,
    obtener el listado de aplicaciones instaladas, obtener el progreso de un
    proceso de instalación, etc.

Usaremos en nuestro Company Hub los siguientes métodos agrupados en las clases anteriores:

Creando un Company Hub

Todos
los requisitos preparados. Comenzamos a crear nuestro Company Hub. Como
siempre, crearemos un ejemplo práctico paso a paso. Nuestro Company Hub
constara de dos partes:

  • Servidor. Nuestro
    objetivo es un servidor que devuelve la meta información de las
    aplicaciones junto a los Xaps de las mismas a la Aplicación Windows
    Phone. Las posibilidades son múltiples, podemos utilizar blobs de Azure
    para gestionar la meta información, servicio WCF, etc. En nuestro
    ejemplo crearemos una aplicación WCF muy sencilla.
  • Cliente.
    Aplicación Windows Phone 8 que se nutre de la información del servidor
    además de apoyarse en las APIs previamente mencionadas para permitir
    gestionar las Aplicaciones (instalar, lanzar, etc.).

Manos a
la obra!. Ya tenemos todos los requisitos necesarios y podemos comenzar con el Company Hub en si aunque me temo que eso será en la segunda parte del artículo
que tendréis disponible en breve, no os lo perdáis!

Más información

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *