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

EnterpriseIntroducció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.

Company Hub

Company Hub

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

Symantec

Symantec

  • 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.
Certificado Symantec instalado

Certificado Symantec instalado

  • 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 SDKs\Windows Phone\v8.0\Tools\AETGenerator\AetGenerator.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

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

  1. Pingback: [Windows Phone] Crear un Company Hub (2/2) | Javier Suárez Ruiz | Blog

  2. Pingback: [Windows Phone] Crear un Company Hub (2/2) - Javier Suárez

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s