Integrando Dynamics Mobile con Outlook Mobile

Hoy voy a contar algo que me han preguntado ya varias personas, y es como integrar Outlook Mobile dentro de una aplicación desarrollada con el framework de Microsoft Dynamics Mobile.



Y es que una de las tareas que más comúnmente debemos introducir en nuestras aplicaciones es poder gestionar una agenda, manejar tareas y controlar avisos… todo eso ya está incluido en nuestros dispositivos gracias a las funcionalidades que nos da Outlook Mobile, por lo que… ¿para que vamos a reacer todo eso de nuevo? 



Como ya sabréis muchos, Outlook puede ser integrado dentro de nuestros desarrollos, y con Dynamics Mobile no es diferente, de hecho, nos permite utilizar la interfaz propia de Outlook, y de un modo tan sencillo como el agregar la llamada al Tasklet correspondiente en nuestra aplicación.


Vamos a ver a continuación como agregar esta funcionalidad a nuestros propios desarrollos para Dynamics Mobile.



1. Integrar Outlook Mobile:
1.1.        Prerrequisitos

Para poder seguir este tutorial necesitaremos:




  • Visual Studio 2005 standard o profesional


  • Compact Framework 2.0


  • SDK Windows Mobile 5.0 o 6.0


  • Microsoft Dynamics Mobile Tools

1.2. Creando nuestra aplicación
Abrimos el visual Studio 2005 y creamos un nuevo proyecto.
Seleccionamos en tipo de proyecto Visual C#, Smart Device y solución para Windows Mobile 5.0 o 6.0 (esto último es independiente).
En la parte de plantillas (ver figura 1) seleccionamos la plantilla de Tipo Tasklet



Figura 1


Para nuestro ejemplo llamaremos a nuestro Tasklet “TaskletOutlook”.
Pulsaremos en Aceptar y se nos creará un proyecto con estos contenidos (Ver figura 2)



Figura 2


Hasta aquí sencillo ¿no? pues continuemos, ahora sobre este mismo proyecto vamos a agregar un nuevo proyecto, esta vez del tipo RolePad.
 
Para ello, en nuestro Visual Studio iremos a: 
Archivo–>Agregar–>Nuevo proyecto y seleccionaremos en las plantillas, la plantilla de RolePad (ver figura 3)



 
Figura 3
 


Pulsaremos en aceptar y se nos agregara el proyecto del tipo RolePad a nuestra aplicación.



Figura 4


Como podéis ver en el explorador de soluciones (Figura 4) ahora tenemos dos proyectos nuestro TaskletOutlook y el proyecto DemoOutlook. 
 
En este último es donde podemos encontrar el archivo UserRole.xml y el archivo app.config (entre otros que para este ejemplo no son relevantes)



Aún nos queda un poquito antes de empezar a entrar en la integración con Outlook.


Debemos establecer la carpeta de resultados de nuestros dos proyectos a una misma ubicación.


Sobre cada uno de los proyectos haremos clic con el botón derecho del ratón y pulsaremos en propiedades, iremos a la pestaña Dispositivo y modificaremos la “Carpeta de archivo de resultados:” por “DemoDynamics” (Ver figura 5) 
 



 
Figura 5



Esto lo debemos hacer en los dos proyectos. 


Una vez hecho esto, iremos al proyecto DemoOutlook  y agregaremos como referencia el proyecto TaskletOutlook.
 
Para hacerlo pulsar con el botón derecho sobre el proyecto y pulsar en “Agregar referencia…” seleccionamos la pestaña Proyectos y ahí (figura 6) encontraremos nuestro Tasklet, lo seleccionamos y pulsamos en aceptar.



Figura 6
 
NOTA: Estos pasos que estás siguiendo son los básicos para crear una aplicación sobre Dynamics Mobile.
 
Ya tenemos nuestro primer Tasklet y la aplicación RolePad.
 
Ahora vamos a comenzar a trabajar para enlazar Outlook con nuestra aplicación.


Sobre nuestra aplicación RolePad agregaremos las siguientes referencias, repetiremos el proceso, botón derecho sobre el proyecto y seleccionaremos “Agregar referencia…”
 
Una vez se muestre la ventana pulsaremos en la pestaña “Examinar” e iremos a la carpeta donde hayamos instalado el Mobile Framework de Dynamics, la ruta por defecto es:


C:Archivos de programaMicrosoft Dynamics MobileMobile FrameworkDeploy


Una vez en la carpeta Deploy debemos seleccionar varias referencias:
– Interop.PocketOutlook.dll
– Microsoft.Dynamics.Mobile.Components.Services.PocketOutlookService.dll
– Microsoft.Dynamics.Mobile.Components.Tasklets.Outlook.dll
 
1.3. Modificando el archivo UserRole.xml
 
Una vez agregadas las referencias abriremos el archivo UserRole.xml y deberemos copiar el siguiente código.(sobreescribiendo TODO el contenido)
 
 
<?xml version=»1.0″ encoding=»utf-8″ ?>
  <userRole minimize=»true» xmlns=»http://schemas.microsoft.com/Dynamics/Mobile/2007/04/Flow«>
    <orchestrations>
      <orchestration name=»startup»>
        <tasklets>
          <tasklet name=»TaskletOutlook» type=»TaskletOutlook.Tasklet1, TaskletOutlook» >
            <actions >
              <open tasklet =»Task.Create»
                    text =»Nueva Tarea»
                    name =»MnuNuevaTarea»
                    priority =»1″/>
              <exitOrchestration text =»Cerrar» priority =»2″ />
            </actions>
          </tasklet>
          <tasklet name=»Task.Create»
                  type=»Microsoft.Dynamics.Mobile.Components.Tasklets.NewTaskTasklet,
                        Microsoft.Dynamics.Mobile.Components.Tasklets.Outlook» />
        </tasklets>

      </orchestration>
    </orchestrations>
</userRole>
 
 
La parte que más nos interesa para este ejemplo es la parte resaltada.
(Para más información sobre el archivo UserRole acudir al artículo “Diseccionando el archivo UserRole Parte II”)
 
En esa parte hemos declarado el tasklet que utilizaremos para integrar Outlook Mobile <tasklet name=»Task.Create…»
 


1.4. Agregando servicios a app.config 
Una vez agregado este texto, guardaremos y abriremos el archivo app.config. Debemos agregar el servicio que nos dará acceso a trabajar con Outlook, para ello debemos agregar el siguiente elemento <add> dentro de <services>
 
<services>

<add type=»Microsoft.Dynamics.Mobile.Components.Services.IPocketOutlookService,
           Microsoft.Dynamics.Mobile.Components.Services.PocketOutlookService» 
     implementation=»Microsoft.Dynamics.Mobile.Components.Services.PocketOutlookService,
                     Microsoft.Dynamics.Mobile.Components.Services.PocketOutlookService»/>

</services>  


Cuando ya hayamos agregado este elemento, guardamos nuestro archivo app.config y ya estamos lístos, para probar!!!
 
1.5. Probando nuestra aplicación
Lo primero es asegurarnos de establecer como proyecto de inicio el proyecto DemoOutlook.
Esto lo puedes hacer seleccionando el proyecto, botón derecho y en el menú contextual marcarlo como proyecto de inicio.
 
En Visual Studio pulsa F5, selecciona el Emulador de Windows Mobile 5.0 o 6.0 según corresponda (si te pregunta el programa) y VS abrirá automáticamente el emulador y desplegará nuestra aplicación, la cual tendrá una apariencia similar a esta. (Ver imagenes)



 
 
 
Para probar la parte de crear una nueva tarea pulsamos sobre el menú “Nueva Tarea” y tachaaaa, ya tenemos nuestro enlace a crear tareas en Outlook Mobile sin haber escrito NI UNA SOLA LÍNEA de codigo en nuestro Tasklet.
 
Epilogo:


Acabamos de ver como enlazar la creación de tareas en Outlook Mobile desde nuestra aplicación Dynamics Mobile, por supuesto es posible acceder a nuestras tareas, a nuestros calendarios, revisar alertas… pero eso ya lo iremos viendo en la próxima entrega, tiempo al tiempo. 



Podréis descargar la solución completa para Visual Studio 2005 y el SDK de Windows Mobile 5.0 en el siguiente enlace.
 
http://www.mobilenug.com/descargas/Descarga%20de%20soluciones/[DM]DemoTaskletOutlook.zip 
 
Si queréis este tutorial en PDF lo encontrareis en:
 
http://www.mobilenug.com/dynamics/Archivos/Integrando%20Dynamics%20Mobile%20con%20Outlook.pdf 
 
Saludos a todos
José Antonio Gallego
  


Mobile .NET Users Group

Desarrollando con Dynamics Mobile [El archivo UserRole.xml]

Hola a todos:


Despues de algunas noches de insomnio y cafés, he comenzado a crear una serie de artículos en los que pretendo acercar el desarrollo de aplicaciones sobre el Framework de Dynamics Mobile de Microsoft a todos aquellos que esteís relacionados con el mundo de los ERPs de Microsoft (epeciamente NAV y AX) y querais comenzar a desarrolla aplicaciones sobre dispositivos moviles con esta plataforma.


Uno de los puntos importantes es el manejo del archivo UserRole.xml, este archivo (como podeis intuir jejeje) se encuentra en formato XML y a pesar de que está previso que para el año que viene salga una herramienta gráfica, que nos permita manipular esta estructura de una forma mas intuitiva, no podemos olvidar que siempre (y por experiencia digo SIEMPRE), nos tocara meternos a tocar elementos directamente sobre el código.


Menu tasklets


Manejo de menúsEl archivo UserRole.xml nos permite configurar y gestionar la lógica de la aplicación, personalizar cada uno de los Tasklets (formularios), el modo en que navegamos, los menús que se muestran en nuestra aplicación (ver la imagen superior), configurar asistentes <wizards> y manejar las orquestaciones.


Para muchos esto os sonará a chino, pero no os preocupeis que iremos viendo esto paso a paso.


Aquí os dejo el enlace a los articulos.


Introducción a Dynamics Mobile (5 paginas en PDF) 372KB aprox
¿Que es Dynamics Mobile? Introducción a su arquitectura y resumen de su funcionamiento.


Diseccionando el archivo UserRole.xml Parte I (9 páginas en PDF) 456KB aprox.
¿Qué es y para que sirve el archivo UserRole.xml?


Diseccionando el archivo UserRole.xml Parte II (35 páginas en PDF) 660KB aprox.
Descripción de los elementos y estructura del archivo.


Y para aquellos que tengan mucha prisa podreis encontar mucha mas información en inglés en MSDN


http://msdn.microsoft.com/en-us/library/cc160851.aspx


a disfurtar!!!


Mobile .NET Users Group

Dynamics Mobile dentro de poco… actualización de SSIS 2005 a 2008

Parece que la cosa se mueve y de cara a la llegada de Dynamics 2009 el equipo de Microsoft ya se está poniendo las pilas, y por suerte parece que no se olvidan de la parte del desarrollo para dispositivos moviles. 


En el blog del equipo de Dynamics Mobile, Jan Zeman ha anunciado que ha conseguido migrar los SQL Server Integration Services de 2005 a 2008 para trabajar con la aplicación Mobile Sales.


Esto es una buena noticia ya que ahora nos podremos beneficiar de las novedades que incluyen los SSIS de 2008 a la hora de integrarlos con la apliación Dynamics Sales y los desarrollos que realizemos con las herramientas de Dynamics Mobile.


Aún no se encuentra en versión release por lo que tendremos que esperar un poco, aunque en ese post, nos incluye un resumen de lo que hay que hacer y links para guiarnos en el proceso.


 


Workflow SSIS 


Voy a investigar un poco más sobre todo esto y ya os comentaré.


Mobile .NET Users Group

¿Qué es Dynamics Mobile?


Microsoft Dynamics Mobile es la nueva plataforma que nos ofrece Microsoft para poder ampliar la funcionalidad de nuestras herramientas de negocio (ERP, CRM, desarrollos personalizados) a los dispositivos móviles.






Dynamics Tools Por supuesto esta es una definición muy resumida de todo lo que implica esta plataforma. No se trata de una solución cerrada, se trata de un conjunto de herramientas y servicios con los que poder trabajar, personalizar y escalar desarrollos móviles.
Para la mayoría esto puede suponer un gran cambio conceptual en la forma actual de entender el trabajo con un ERP (ya sea NAV, antiguo Navision o AX anteriormente conocido como AXAPTA).

Dynamics Mobile nos provee de toda la arquitectura necesaria para desarrollar aplicaciones móviles y que estas se comuniquen directamente con nuestras aplicaciones de negocio, para ello contamos con las herramientas de desarrollo, las Mobile Development tools para la parte de desarrollo, con los componentes de servidor para facilitarnos el trabajo a la hora de sincronizar datos, los Server Components, y con los conectores en nuestros ERP desde los cuales podremos gestionar los documentos y la información recogida desde los dispositivos móviles.


El problema es que este producto solo está accesible para los partners de Microsoft Dynamics, y se puede «encontrar» en la partnersource, si ya la conoceis entendereis que lo ponga entre comillas.


Aquí podreis encontrar un pequeño articulo de introducción a Dynamics Mobile para aquellos que querais empezar a rascar la superficie de estre nuevo producto de Microsoft.
 


Mobile .Net Users Group

Mi primer post en Geeks

Acabo de regresar de mis vacaciones, (que ya me hacian falta), y para comenzar retomo la invitación de Rodrigo Corral para comenzar a postear en Geeks.ms, Y poder compartir con toda esta comunidad aquellas cosillas del desarrollo que por una cosa o por otra acaban por quitarnos el sueño.

Mi nombre es José Antonio Gallego, llevo más de 5 años desarrollando aplicaciones para dispositivos moviles en C# con el Compact Framework .Net… aun recuerdo los primeros pasos con el eVC++ algunos años más atrás, y en perspectiva los cambios en estos años de cara al desarrollo sobre dispositivos móviles han sido mucho más que bien venidos.Pero no todo es Mobile, durante más de seis años compartí mi «afición» laboral por el desarrollo móvil con el desarrollo en el ERP Navision, el actual Microsoft Dynamics NAV.

Actualmente trabajo en el Centro de Innovación en Movilidad de Microsoft y en mi tiempo libre me dedico a coordinar con mi amigo Eduardo Ortega la comunidad de desarrolladores móviles Mobile .Net Users Group de la que soy cofundador.

Desde esta ventana iré tocando diversos temas, todos relacionados con el desarrollo móvil y en especial al nuevo framework de desarrollo, Microsoft Dynamics Mobile

Mobile .Net Users Group