You are on page 1of 63

Todo sobre Aplicaciones para SharePoint, Office y Office 365:

Creacin y publicacin de Apps para la Office Store desde cero.


Gustavo Velez Juan Carlos Gonzlez Fabin Imaz Alberto Daz

TODO SOBRE APLICACIONES PARA SHAREPOINT, OFFICE Y OFFICE 365: CREACIN Y PUBLICACIN DE APPS PARA LA OFFICE STORE DESDE CERO.
No est permitida la reproduccin total o parcial de este libro, ni su tratamiento informtico, ni la transmisin de ninguna forma o por cualquier medio, ya sea electrnico, mecnico, por fotocopia, por registro u otros mtodos, sin el permiso previo y por escrito de los titulares del Copyright. Dirjase a CEDRO (Centro Espaol de Derechos Reprogrficos, www.cedro.org) si necesita fotocopiar o escanear algn fragmento de esta obra. DERECHOS RESERVADOS 2013, respecto a la primera edicin en espaol, por Krasis Consulting, S. L. www.Krasis.com ISBN: 978-84-941112-2-8

CREATIVIDAD Diseo Cubierta: Pablo Iglesias Francisco Fruta Cubierta: La manzana tipo Royal Gala" es de origen neocelands y tiene la piel con estras rojas y naranjas sobre un fondo amarillo verdoso. Su forma es muy redondeada y su carne es blanca, crujiente y consistente. Muy aromtica y jugosa. Su recoleccin se da desde finales de agosto hasta diciembre.

Agradecimientos
De alguna forma, era inevitable hacer un libro sobre Aplicaciones para SharePoint y Office. Nos guste o no, Microsoft est apostando fuerte por este nuevo modelo para personalizar dos de sus productos ms rentables. As que s queremos continuar en el mundo profesional relacionado con ellos, tenemos que comprender las Aplicaciones, meternos en su ecosistema, dedicar el tiempo necesario para aprender sus posibilidades e imposibilidades, como usarlas, manejarlas y, de cierta forma, disfrutar el descubrimiento del nuevo mundo que se nos abre. Escribir este libro, como con cualquier otro libro de SharePoint y Office, ha sido un descubrimiento tecnolgico, lo mismo que una gran aventura humana. Muchas gracias a mis compaeros Jos Manuel, Juan Carlos, Fabin y Alberto por su dedicacin y profesionalismo, lo mismo que a todas las personas que lo han hecho posible. Gustavo Velez Cuando hace unos pocos meses Alberto me habl de esta aventura, no slo no dude en darle un Si, quiero, sino que adems le propuse involucrar a mis otros dos compaeros de batalla en tantas aventuras de comunidad y retos tecnolgicos: Gustavo y Fabin. Ha sido todo un privilegio trabajar en este equipo formado por encima de todo por grandes amigos, personas apasionadas por la tecnologa y capaces de recoger el guante de escribir un libro tan completo sobre Aplicaciones para Office y SharePoint. Como era de esperar, el resultado ha sido simplemente espectacular, completo y un reflejo real de todas las posibilidades de esta nueva apuesta tecnolgica de Microsoft. Como en otras ocasiones, no puedo olvidarme de todas las personas que me rodean, me motivan, y que me animan a que me supere en cada nuevo paso que doy y que va definiendo m camino: mi familia, mis verdaderos y mejores amigos (Anuar, Juanfran, David y Jos Antonio). Y por supuesto, en este libro no puedo olvidarme de quin se est convirtiendo en parte esencial de mi vida: Raquel, gracias por estar ah y llenar mis das. Finalmente, no me puedo olvidar de mi entorno de toda la comunidad de SharePoint tan dinmica y llena de gente con ganas de aprender y ensear y siempre dispuesta a compartir sus conocimientos, y de la editorial Krasis (gracias Jos Manuel) por darnos la oportunidad de escribir sobre la gran novedad a nivel de desarrollo para SharePoint & Office: El nuevo modelo de Aplicaciones. Juan Carlos Gonzlez

Es muy reconfortante alcanzar las metas que nos proponemos, pero lo es ms alcanzar las mismas siendo parte de este gran equipo. Quiero agradecer a mis compaeros, ms an, a mis amigos, Alberto, Juan Carlos y Gustavo con los que hemos formado un gran grupo de trabajo para escribir este libro y otras actividades que llevamos a cabo, Quiero agradecer a todos los que conforman Siderys y Bsn por permitirme manejar mi tiempo y mis compromisos durante todo este proyecto, sin su apoyo y disposicin esto no hubiera sido posible, gracias lvaro, Diego, y Javier porque desde un principio, hace 8 aos siempre me han apoyado incondicionalmente y gracias Juan Manuel por todo tu sostn y respaldo durante estos ltimos aos. Por ltimo a vos Paula por estar ah siempre apoyndome incondicionalmente, gracias amor. Fabin Imaz All por el final del ao 2010, tuve la oportunidad de pasar un fin de semana en comunidad con Juan Carlos y Gustavo. Por aquel entonces, Juan Carlos era un referente para m a nivel nacional cuando hablbamos de SharePoint y Gustavo era la eminencia que escriba libros de SharePoint, profesionales con tanto nivel que eran inalcanzables para m. Gratamente me llev una gran sorpresa, a Juan Carlos le debo mucho por hacer de un gran anfitrin, ser una gran persona y un buen amigo desde esos das, y a Gustavo, lo sigo considerando el gran maestro, pero que es mucho ms como persona y, como no, un gran amigo. Desde entonces me han permitido formar parte de las aventuras de SharePoint, entre las que tenemos que incluir escribir este libro, en el que he conocido mejor a Fabin y lo considero otro gran amigo. Con respecto al libro, tengo que agradecer a los tres formar parte de este granito de arena que hemos querido aportar a la comunidad de SharePoint de habla hispana y sobre todo a Krasis y Jos Manuel por tener una editorial que nos permite escribirlos, en una poca en la que lo digital premia sobre el papel de verdad. Por su puesto, tengo que dar las gracias a todos los que formamos la familia de General de Software, porque, sin su apoyo y ayuda, no hubiera sido posible todo esto, no slo este libro, sino el aporte que hacemos todos los das a la comunidad. Mis padres me pusieron un Spectrum ZX en las manos cuando slo tena 5 aos, y creyeron en m para llegar hasta aqu, y mis amigos, sobre todo Julio, que me soportan y ayudan, aunque siempre est trabajando. Gracias a todos porque os he necesitado siempre a mi lado. Aunque todo el mrito es para mi mujer, Miriam, que me conoce y me da toda la libertad que necesito para dedicarme a lo que ms me gusta, la tecnologa. Alberto Diaz

iv

Contenido
AGRADECIMIENTOS ............................................................................................... III CONTENIDO .............................................................................................................. V AUTORES ................................................................................................................ XIII PRLOGO ..................................................................................................................15 PRESENTACIN .......................................................................................................17 CAPTULO 1: APLICACIONES PARA OFFICE Y SHAREPOINT ...................21 1.- Introduccin................................................................................................................................ 21 2.- Aplicaciones para Office 2013 ................................................................................................ 23 3.- Aplicaciones para SharePoint 2013 ....................................................................................... 23 3.1.- Aplicaciones o soluciones?......................................................................................... 25 3.1.1.- Elementos de decisin .......................................................................................... 26 4.- Conclusiones............................................................................................................................... 28 CAPTULO 2: ARQUITECTURA DE APLICACIONES ......................................29 1.- Introduccin................................................................................................................................ 29 1.1.- El archivo .app................................................................................................................. 30 1.2.- El archivo de manifiesto ............................................................................................... 32 2.- Arquitectura de Aplicaciones para Office ........................................................................... 35 2.1.- El catlogo de Aplicaciones para Office ................................................................... 36 2.2.- Tipos de Aplicaciones para Office ............................................................................. 37 2.3.- Interfaz de usuario ......................................................................................................... 38 3.- Arquitectura de Aplicaciones para SharePoint .................................................................. 39 3.1.- Tipos de Aplicaciones para SharePoint .................................................................... 40 3.2.- Interfaz de usuario ......................................................................................................... 41 4.- Conclusiones............................................................................................................................... 42 CAPTULO 3: HERRAMIENTAS DE DESARROLLO ..........................................45 1.2.3.4.5.6.7.Introduccin................................................................................................................................ 45 Herramientas de desarrollo de Office para Visual Studio 2012 .................................... 46 NAPA y el sitio de desarrollador en Office 365 ............................................................... 49 Visual Studio LightSwitch ......................................................................................................... 56 Microsoft Office Access 2013 ................................................................................................ 57 TypeScript ................................................................................................................................... 61 Conclusiones............................................................................................................................... 61
v

Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

CAPTULO 4: TIPOS DE APLICACIONES PARA OFFICE ...............................63 1.2.3.4.5.Introduccin................................................................................................................................ 63 Aplicaciones de panel de tareas ............................................................................................. 64 Aplicaciones de contenido ...................................................................................................... 66 Aplicaciones de correo ............................................................................................................ 68 API JavaScript para Aplicaciones de Office ......................................................................... 70 5.1.- API para Aplicaciones centradas en el documento ............................................... 71 5.1.1.- Mtodos para interactuar con contenido........................................................ 72 5.1.2.- Bindings en Aplicaciones ...................................................................................... 74 5.2.- API para Aplicaciones centradas en correo ............................................................ 76 5.2.1.- Acceso a informacin del perfil de usuario ..................................................... 78 5.2.2.- Acceso a expresiones regulares y entidades .................................................. 78 5.2.3.- Acceso a los servicios web de Exchange (EWS)............................................ 79 6.- Experiencia de usuario en Aplicaciones de Office ............................................................ 79 6.1.- Diseo de una Aplicacin de panel de tareas......................................................... 80 6.2.- Diseo de una Aplicacin de contenido .................................................................. 81 6.3.- Diseo de una Aplicacin de correo ........................................................................ 82 7.- Conclusiones............................................................................................................................... 82 CAPTULO 5: APLICACIONES DE PANEL DE TAREAS PARA OFFICE ......85 1.- Introduccin................................................................................................................................ 85 2.- Funcionamiento de las Aplicaciones de panel de tareas .................................................. 86 2.1.- API de Office para Aplicaciones de panel de tareas ............................................. 86 3.- Desarrollo de una Aplicacion de panel de tareas.............................................................. 90 3.1.- Creacin del proyecto de Visual Studio .................................................................. 90 3.2.- Diseo de la interfaz grfica ........................................................................................ 96 3.3.- Implementacin de la lgica de negocio ................................................................ 101 4.- Conclusiones............................................................................................................................. 107 CAPTULO 6: APLICACIONES DE CONTENIDO PARA OFFICE ................109 1.- Introduccin.............................................................................................................................. 109 2.- API Office.js para Aplicaciones de contenido................................................................... 109 3.- Creacin de Aplicaciones de contenido ............................................................................ 111 3.1.- Aplicacin de contenido creada por defecto en Visual Studio ........................ 112 3.2.- Creacin de una Aplicacin de contenido ............................................................ 115 4.- Conclusiones............................................................................................................................. 122 CAPTULO 7: APLICACIONES DE CORREO PARA OFFICE ........................123 1.- Introduccin.............................................................................................................................. 123 2.- Posibilidades de una Aplicacin de correo ....................................................................... 125 3.- El modelo de objetos para aplicaciones de correo......................................................... 126 3.1.- El Objeto Mailbox ........................................................................................................ 128 3.2.- Preservacin de informacin (Roaming) ................................................................ 130 3.3.- Autenticacin de Aplicaciones de correo ............................................................. 130
vi

Contenido vii

3.4.- Permisos para Aplicaciones de correo................................................................... 131 4.- Servicios web de Exchange ................................................................................................... 132 5.- Programacin de una Aplicacin de correo ..................................................................... 134 6.- Conclusiones............................................................................................................................. 139 CAPTULO 8: TIPOS DE APLICACIONES DE SHAREPOINT.......................141 1.- Introduccin.............................................................................................................................. 141 2.- Aplicaciones por tipo de hosting ......................................................................................... 142 2.1.- Aplicaciones hospedadas por SharePoint .............................................................. 143 2.2.- Aplicaciones hospedadas en la nube ....................................................................... 143 2.2.1.- Aplicaciones hospedadas por un proveedor................................................. 144 2.2.2.- Aplicaciones autohospedadas ........................................................................... 144 2.3.- El fichero AppManifest.xml........................................................................................ 145 2.4.- Eleccin entre una Aplicacin en la nube y una Aplicacin hospedada por SharePoint ................................................................................................................................ 147 3.- Clasificacin por tipo de punto de entrada ...................................................................... 147 3.1.- Aplicacin de pantalla completa ............................................................................... 147 3.2.- Elementos de Aplicacin ............................................................................................ 148 3.3.- Acciones personalizadas............................................................................................. 149 4.- Conclusiones............................................................................................................................. 150 CAPTULO 9: DISEO Y ESTILOS DE UNA APLICACIN ..........................151 1.- Introduccin.............................................................................................................................. 151 2.- Control Chrome...................................................................................................................... 152 2.1.- Cmo usar el control Chrome ................................................................................ 153 3.- Hojas de estilo.......................................................................................................................... 159 3.1.- Cmo usar las hojas de estilo .................................................................................. 159 4.- Elementos de Aplicacin........................................................................................................ 161 4.1.- Cmo crear elementos de Aplicacin.................................................................... 162 5.- Acciones personalizadas ........................................................................................................ 167 5.1.- Cmo crear acciones personalizadas ..................................................................... 168 6.- Plantilla de Aplicacin ............................................................................................................. 175 6.1.- Cmo crear una plantilla de Aplicacin ................................................................. 175 7.- Conclusiones............................................................................................................................. 179 CAPTULO 10: CSOM, REST, ODATA Y CROSS DOMAIN ...........................181 1.- Introducccin............................................................................................................................ 181 2.- Modelo de objetos en cliente............................................................................................... 184 2.1.- Implementacin .NET ................................................................................................. 186 2.2.- Implementacin ECMAScript.................................................................................... 194 3.- API REST y OData .................................................................................................................. 198 4.- Llamadas cross domain .......................................................................................................... 205 4.1.- Uso de la clase WebProxy ........................................................................................ 210 5.- Conclusiones............................................................................................................................. 216

Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

CAPTULO 11: PERMISOS, SEGURIDAD Y OAUTH.......................................217 1.- Introduccin.............................................................................................................................. 217 2.- Identidad basada en notificaciones ...................................................................................... 218 2.1.- Conceptos bsicos de notificaciones ...................................................................... 218 2.1.1.- Identidad................................................................................................................. 218 2.1.2.- Claim ....................................................................................................................... 218 2.1.3.- Token de seguridad ............................................................................................. 219 2.1.4.- Servicio de cach distribuido ............................................................................ 220 3.- OAuth......................................................................................................................................... 220 3.1.- Aplicaciones autenticadas internamente ................................................................ 220 3.2.- Aplicaciones autenticadas externamente............................................................... 221 4.- Proceso de autenticacin de Aplicaciones ........................................................................ 222 4.1.- TokenHelper ................................................................................................................. 224 4.2.- Tokens ............................................................................................................................ 226 4.3.- Token App-Only .......................................................................................................... 229 4.4.- Cacheo del token de acceso ..................................................................................... 230 4.5.- Autenticacin Server-To-Server (S2S) ................................................................... 231 5.- Proceso de autorizacion de Aplicaciones.......................................................................... 233 5.1.- Polticas de autorizacin ............................................................................................ 233 5.2.- Autorizacin en el archivo AppManifest ................................................................ 233 5.3.- Autorizacin por medio del usuario ....................................................................... 235 5.4.- Acceso annimo en Aplicaciones ............................................................................ 236 6.- Conclusiones............................................................................................................................. 237 CAPTLO 12: APLICACIONES HOSPEDADAS POR SHAREPOINT ...........239 1.- Introduccin.............................................................................................................................. 239 2.- Creacin de una Aplicacin hospedada por SharePoint ............................................... 241 3.- Conclusiones............................................................................................................................. 252 CAPTULO 13: APLICACIONES AUTOHOSPEDADAS .................................253 1.- Introduccin.............................................................................................................................. 253 2.- Arquitectura de una Aplicacin autohospedada .............................................................. 254 3.- Creacin de una Aplicacin autohospeada con Visual Studio ..................................... 255 3.1.- Archivos de manifiesto y web.config de una Aplicacin autohospedada ...... 265 3.2.- Despliegue y prueba de la Aplicacin ..................................................................... 266 4.- Depuracin remota de Aplicaciones con el Service Bus de Windows Azure......... 268 5.- Modelo de uso y licenciamiento .......................................................................................... 270 6.- Conclusiones............................................................................................................................. 270 CAPTULO 14: APLICACIONES HOSPEDADAS POR UN PROVEEDOR...271 1.- Introduccin.............................................................................................................................. 271 2.- Arquitectura de una Aplicacin hospedada por un proveedor ................................... 272

viii

Contenido ix

3.- Creacin de una Aplicacin hospedada por un proveedor .......................................... 273 3.1.- Aplicacin hospedada por un proveedor de Aplicaciones ASP.NET ............. 273 3.2.- Aplicacin hospedada por un proveedor de Aplicaciones PHP ...................... 279 4.- Conclusiones............................................................................................................................. 287 CAPTULO 15: INTEGRACIN DE DATOS Y LGICA DE NEGOCIO EN APLICACIONES.......................................................................................................289 1.- Introduccin.............................................................................................................................. 289 2.- Manejadores de eventos remotos....................................................................................... 290 2.1.- Creacin de un manejador de eventos remoto .................................................. 291 3.- Tipos de contenido externo ................................................................................................. 299 3.1.- Creacin de un ECT con Visual Studio.................................................................. 300 4.- Flujos de trabajo ...................................................................................................................... 305 4.1.- Creacin de un flujo de trabajo en una Aplicacin ............................................. 305 4.2.- Despliegue y prueba del flujo de trabajo ............................................................... 310 5.- Integracin mediante el motor de bsquedas .................................................................. 312 6.- Integracin mediante servicios REST ................................................................................. 317 7.- Conclusiones............................................................................................................................. 321 CAPTULO 16: IMPLEMENTACIN DE APLICACIONES .............................323 1.- Introduccin.............................................................................................................................. 323 2.- Configuracin para utilizar el catlogo de Aplicaciones ................................................ 324 2.1.- Configuracin de DNS para Aplicaciones ............................................................. 324 2.2.- Configuracin de SharePoint para Aplicaciones .................................................. 326 2.3.- Creacin catlogo de Aplicaciones para SharePoint Online ............................ 328 3.- Instalacin y monitorizacion de una Aplicacin en SharePoint ................................... 329 3.1.- Distribucin masiva de Aplicaciones desde el catlogo ..................................... 330 3.2.- Instalacin de Aplicaciones utilizando PowerShell .............................................. 333 3.3.- Instalacin de Aplicaciones utilizando el modelo de objetos de servidor .... 334 3.4.- Instalacin de Aplicaciones utilizando el modelo de objetos en cliente ........ 334 3.5.- Actualizacin de Aplicaciones................................................................................... 335 3.5.1.- Actualizacin del paquete de soluciones WSP ............................................. 337 3.5.2.- Actualizacin del sitio Web Host .................................................................... 339 3.6.- Monitorizacin.............................................................................................................. 340 3.7.- Monitorizacin de una Aplicacin en SharePoint Online .................................. 342 4.- Instalacion de una Aplicacin para Microsoft Office ...................................................... 343 4.1.- Configuracin e instalacin de una Aplicacin en un servidor de aplicaciones IIS .................................................................................................................................. 343 4.2.- Configuracin de Microsoft Excel para usar una Aplicacin a travs de una carpeta compartida de red .................................................................................................. 346 4.3.- Configuracin de Microsoft Excel para usar una Aplicacin a travs del catlogo de SharePoint ......................................................................................................... 347 5.- Copias de seguridad y restauracin para Aplicaciones de SharePoint ...................... 349 5.1.- Copia de seguridad para sitios web ........................................................................ 349

Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

5.2.- Copia de seguridad para colecciones de sitios..................................................... 350 5.3.- Copia de seguridad para aplicacin web ................................................................ 350 5.4.- Copia de seguridad utilizando las herramientas de SQL Server...................... 351 6.- Conclusiones............................................................................................................................. 352 CAPTULO 17: LA TIENDA DE OFFICE Y EL LICENCIAMIENTO DE APLICACIONES.......................................................................................................353 1.- Introduccin.............................................................................................................................. 353 2.- Ciclo de publicacin de una Aplicacin ............................................................................. 354 2.1.- Cuenta para el panel del vendedor ......................................................................... 354 2.2.- Prerrequisitos para publicar una Aplicacin en el panel del vendedor .......... 356 2.2.1.- Suscripcin de Office 365 .................................................................................. 356 2.2.2.- Informacin de la Aplicacin ............................................................................. 357 2.3.- Publicar una Aplicacin............................................................................................... 358 2.4.- Proceso de aprobacin de una Aplicacin ............................................................ 359 3.- Monetizacin de Aplicaciones .............................................................................................. 361 4.- Licenciamiento de Aplicaciones ........................................................................................... 364 4.1.- Comprobacin de la licencia en una Aplicacin .................................................. 364 4.1.1.- Validacin en una Aplicacin de Office .......................................................... 364 4.1.2.- Licencia de prueba de una Aplicacin de Office .......................................... 365 4.1.3.- Validacin de una Aplicacin de SharePoint ................................................. 365 4.1.4.- Licencia de prueba de una Aplicacin de SharePoint ................................. 367 5.- Mtricas de la Aplicacin ....................................................................................................... 368 6.- Cmo crear un Id de Aplicacin ......................................................................................... 369 7.- Conclusiones............................................................................................................................. 371 CAPTULO 18: VARIOS .........................................................................................373 1.2.3.4.5.Introduccin.............................................................................................................................. 373 Visual Studio LightSwitch para crear Aplicaciones de SharePoint .............................. 374 Uso de TypeScript para crear Aplicaciones...................................................................... 379 Aplicaciones para Microsoft Office PowerPoint.............................................................. 383 Localizacin de Aplicaciones................................................................................................. 388 5.1.- Localizacin de Aplicaciones de SharePoint ......................................................... 388 5.2.- Localizacin de elementos de SharePoint ............................................................. 389 5.2.1.- Localizacin de cdigo de servidor ................................................................. 391 5.2.2.- Localizacin de HTML y JavaScript.................................................................. 392 5.3.- Localizacin de Aplicaciones para Office............................................................... 393 6.- Logging de Aplicaciones ......................................................................................................... 398 7.- Aplicaciones hbridas .............................................................................................................. 400 7.1.- Creacin de una Aplicacin hbrida ........................................................................ 401 8.- Conclusiones............................................................................................................................. 406 CAPTULO 19: EL FUTURO DE LAS APLICACIONES ...................................407 1.- Introduccin.............................................................................................................................. 407 2.- Limitaciones de Aplicaciones ................................................................................................ 408
x

Contenido xi

2.1.- Limitaciones para Aplicaciones de Office .............................................................. 408 2.2.- Limitaciones para Aplicaciones de SharePoint ..................................................... 409 2.3.- Tipos de elementos que se pueden utilizar en Aplicaciones de SharePoint. 411 3.- Creacin de Aplicaciones con Visual Studio 2013 Preview.......................................... 414 3.1.- Creacin de Aplicaciones para SharePoint ........................................................... 414 3.2.- Publicacin de Aplicaciones para SharePoint y Office........................................ 418 4.- Conclusiones............................................................................................................................. 420 NDICE ANALTICO ...............................................................................................421

Autores
Gustavo Vlez Gustavo Vlez es Ingeniero Mecnico y Electrnico, trabaja como Group Manager para Avanade ( www.avanade.com), una firma de consultora global y es MVP de SharePoint. Involucrado con SharePoint desde antes de que recibiera su nombre (Site Server, en 1998) cuenta con numerosos aos de experiencia diseando, programando e implementando sistemas de SharePoint. Autor de siete libros sobre SharePoint y mltiples artculos publicados en revistas del sector en espaol, ingls, holands y alemn. El autor tambin es webmaster de www.gavd.net, el primer sitio creado en espaol dedicado exclusivamente a SharePoint. Juan Carlos Gonzlez Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con 10 aos de experiencia en tecnologas y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de SharePoint desde el ao 2008, coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de Espaa (SUGES, www.suges.es), as como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS ( www.compartimoss.com). Hasta la fecha, ha publicado tres libros sobre SharePoint y varios artculos en castellano y en ingls sobre la plataforma. Fabin Imaz Fabin Imaz, MVP de SharePoint Server trabaja en el mundo del desarrollo de software desde hace ms de 10 aos, teniendo la suerte de trabajar en distintas arquitecturas y tecnologas Microsoft. Trabaja con la firma Siderys ( www.siderys.com), empresa de desarrollo de Software especializada en SharePoint 2007/2010/2013 y en desarrollo de soluciones inteligentes. Desde los comienzos Fabin ha trabajado en distintitas comunidades donde organiza y promueve eventos locales para la difusin de tecnologa dentro de sus miembros. Es director de la carrera SharePoint 2010 y SharePoint 2013 en Microsoft Virtual Academy, http://www.mslatam.com/latam/technet/mva2/Home.aspx, co-director de la revista digital de SharePoint CompartiMOSS ( www.compartimoss.com) y cuenta con un sitio en CodePlex con varios desarrollos (siderys.codeplex.com).
xiii

Alberto Diaz Alberto Daz es Responsable de Proyectos de desarrollo en SharePoint, .NET, aplicaciones en movilidad y todo lo relacionado con tecnologas Microsoft en General de Software (GSC). Su labor en GSC es ofrecer soluciones empresariales a sus clientes y brindar nuevas tecnologas que ayuden a las empresas a realizar su trabajo ms eficientemente, enfocado en productos Microsoft. Para la comunidad, ha fundado TenerifeDev ( www.tenerifedev.com) con otros colaboradores, un grupo de usuarios de .NET en Tenerife, coordinador de SUGES (Grupo de Usuarios de SharePoint de Espaa, www.suges.es) y co-director de la revista digital de SharePoint CompartiMOSS. Microsoft MVP de SharePoint Server desde el ao 2011 y asiduo conferenciante en webcast y conferencias de tecnologa de habla hispana.

Prlogo
Sabas que, cada segundo, se vende una copia de Microsoft Office en alguna parte del mundo? Imagina poder desarrollar Aplicaciones para una base instalada de cientos de millones de usuarios, rediseando la manera en la que realizamos nuestro trabajo cada da de formas que an nadie siquiera se ha atrevido a soar. Ha llegado el momento de redefinir el concepto de productividad. Se trata de mucho ms que realizar tareas de la forma ms rpida posible. Se trata de hacer las cosas adecuadas, hacerlas lo mejor posible y adems hacerlas disfrutando de la experiencia. Se trata de encontrar la forma de expresar nuestra visin, compartir ideas, aprender constantemente y sentirnos orgullosos de aquello que hacemos y de cmo lo hacemos. Para conseguir evolucionar la forma en la que realizamos nuestro trabajo, necesitamos herramientas cada vez ms intuitivas, que se ajusten a nuestros requisitos de movilidad y compatibilidad a travs de dispositivos cada vez ms heterogneos, que nos ofrezcan nuevas funcionalidades para optimizar nuestro tiempo y ayudarnos a tomar mejores decisiones. Queremos que t seas parte de esta transformacin. Con el nuevo Office y SharePoint 2013 ahora podrs disear un nuevo tipo de Aplicaciones que permitirn extender y personalizar la forma en la que creamos y consumimos informacin. Hemos introducido un nuevo modelo de Aplicaciones en la nube que te permitir construir Aplicaciones escalables y flexibles haciendo uso de estndares web, como HTML5 y CSS3. Tambin hemos creado una Office Store para que puedas publicar tus Aplicaciones y asegurarte de que llegas a los ms de mil millones de usuarios de Office en todo el mundo. Imagina una Aplicacin para Word que permita a un colegio gestionar fcilmente el proceso de consecucin de permisos parentales creando un documento con firma digital y automatizando desde el envo a los padres hasta el reporte de cules faltan por firmar, subiendo los documentos firmados a una biblioteca de SharePoint en lugar del incesante intercambio de papel que realizamos. Tambin seran tiles Aplicaciones que conecten Excel con fuentes de informacin que nos permitan realizar mejores anlisis y tomar mejores decisiones, desde informacin demogrfica hasta informacin sobre facturacin y nmero de empleados de empresas. Conozco a mucha gente a la que le encantara tener una Aplicacin para Outlook que facilitase la traduccin de emails en cualquier idioma con un solo clic. O una Aplicacin para PowerPoint que fuera capaz de encontrar citas, refranes o historias relacionadas con la presentacin en la que estuviramos trabajando de forma que nos ayudase a preparar nuestro discurso. Las posibilidades son infinitas. Supongo que ests preguntndote por dnde empezar. Este libro, escrito por destacados miembros de la comunidad MVP hispanohablante, es la gua perfecta para ayudarte a sacar el mximo partido a esta oportunidad. Desde cmo funciona el
15

Modelo de Aplicaciones de Office y SharePoint hasta cmo publicar tu Aplicacin en la Office Store, pasando por las herramientas de desarrollo, tipos de Aplicaciones que puedes desarrollar o dnde puedes hospedar tu aplicacin, encontrars todas las respuestas entre las pginas que ahora mismo sostienes entre tus manos. Los autores de este libro son lderes indiscutibles de la comunidad tcnica de Microsoft, profesionales independientes que, de forma voluntaria, comparten con el mundo su pasin, habilidad y conocimiento sobre los productos de Microsoft. Puedo asegurarte que no hay mejores compaeros para este camino que espero que emprendas, tanto en su inicio a travs de este libro como en el futuro a travs de la comunidad de la que pasars a formar parte. Estamos impacientes por ver tus creaciones en la Office Store. Bienvenido!. Ester de Nicols Product Marketing Manager de Office y Office 365 en Microsoft Espaa

Presentacin
Sobre la base y experiencia de los modelos de Aplicaciones para Windows Phone primero y Windows 8 a continuacin, Microsoft ha diseado e implementado un nuevo marco de trabajo para la creacin, distribucin y aplicacin de personalizaciones en la forma de Aplicaciones para dos de sus productos ms exitosos y de mayor implantacin y uso: Office y SharePoint. El modelo de extensibilidad definido por las Aplicaciones es aplicable tanto a las versiones "On-Premise" como Online (Office 365) de ambas plataformas y completamente adaptable tanto a escenarios de uso particular (usuarios de Office) como empresarial (usuarios de Office y SharePoint). Pero las posibilidades van ms all de esta simple clasificacin ya que, por ejemplo, se pueden crear Aplicaciones empresariales que busquen mejorar SharePoint, o proveer a la plataforma con funcionalidad adicional no disponible; funcionalidad qu aporten valor al usuario final de Office y faciliten la creacin de un documento de propuesta en Word o de un cuadro de mando en Excel; o Aplicaciones empresariales como una gestin de contactos, de contabilidad, un pequeo CRM fcilmente accesibles desde un Sitio SharePoint y qu interacten con informacin almacenada en el mismo. En definitiva, su adaptabilidad y flexibilidad, as como su evolucin futura, permitir dar respuesta a distintos escenarios y requerimientos de negocio mediante Aplicaciones de propsito general y/o particular. Desde el punto de vista de distribucin y uso, las Aplicaciones tanto para Office como para SharePoint residen en un Almacn, qu puede ser pblico (gestionado por Microsoft) y/o privado (administrado internamente por una organizacin). Los desarrolladores, las empresas y los usuarios particulares se pueden suscribir a la Tienda de Aplicaciones de Microsoft tanto para publicar nuevas Aplicaciones desarrolladas con los APIs y herramientas disponibles, como para descargar y utilizar Aplicaciones existentes que se ofrecen de forma gratuita, como versin de evaluacin o bien mediante el pago de la correspondiente licencia. Finalmente, desde el punto de vista puramente tecnolgico, el nuevo Modelo de Aplicaciones para Office y SharePoint extiende el abanico de tecnologas y plataformas que se pueden utilizar (tanto .NET, como no .NET: PHP, Java, Phyton, etc) y adopta las tendencias actuales en el desarrollo web (HTML 5, CSS 3 y libreras y Frameworks JavaScript).

A quin va dirigido este libro?


A todas las audiencias que de una forma u otra van a trabajar con Aplicaciones para Office y SharePoint: los arquitectos de soluciones pueden encontrar informacin relativa a la arquitectura, buenas prcticas de desarrollo, tipos de Aplicaciones y posibilidades para su creacin; los desarrolladores disponen de informacin amplia y ejemplos sobre las APIs disponibles, conceptos de seguridad y permisos, as como las
17

18 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

reglas de diseo que se tienen que cumplir y seguir para crear nueva funcionalidad para Office y SharePoint sobre todo con vistas a su aprobacin y publicacin en la Tienda de Office; finalmente, los administradores de sistemas y usuarios avanzados pueden encontrar informacin relativa a las posibilidades existentes para adquirir e instalar Aplicaciones en ambos productos.

Qu temas se tratan?
Este libro est orientado hacia el diseo, programacin, despliegue y uso de Aplicaciones para Office y SharePoint 2013, tanto en sus versiones On-Premise como Online, asumiendo que el lector tiene conocimientos bsicos tanto de desarrollo web (HTML y JavaScript) como .NET. Toda la informacin en el libro relativa a la creacin de Aplicaciones para SharePoint es aplicable tanto a SharePoint 2013 On-Premise como a la versin Online disponible en Office 365. A nivel de entorno de desarrollo, todos los ejemplos explicados se pueden reproducir y utilizar en la ltima versin disponible de Visual Studio (versiones Premium, Professional y Ultimate). El primer captulo describe el nuevo Modelo de Aplicaciones para SharePoint y Office 2013, comenzando con la motivacin del mismo y centrndose en las caractersticas especficas a cada producto. En el caso de las Aplicaciones para SharePoint, se presenta un ejercicio de reflexin relativo a cuando tiene sentido crear Soluciones y cuando Aplicaciones. El Captulo 2 describe la Arquitectura y conceptos fundamentales del nuevo Modelo, poniendo especial nfasis en la importancia del archivo de manifiesto de una Aplicacin. Las herramientas necesarias para el desarrollo se introducen en el Captulo 3 desde Visual Studio hasta Microsoft Access 2013, pasando por NAPA y Visual Studio LightSwitch. Adicionalmente, se introduce el sitio de desarrollador de Office 365 como requerimiento necesario para poder crear Aplicaciones que se puedan publicar en la Tienda de Office. Los siguientes cuatro Captulos estn dedicados a las Aplicaciones para Office 2013, comenzando con los tipos de Aplicaciones y APIs disponibles, para demostrar de forma prctica como crear una Aplicacin de cada tipo: Panel de Tareas, de Contenido, de Correo. Los Captulos 8 a 11 tratan aspectos clave para el desarrollo de Aplicaciones para SharePoint. Se describen tanto los tipos de Aplicaciones qu se pueden crear, como las APIs disponibles (Modelo de Objetos en Cliente y API REST), el modelo de seguridad y autorizacin que se utiliza (OAuth) y las experiencias de usuario disponibles en el desarrollo de Aplicaciones para SharePoint. Los distintos tipos de Aplicaciones que se pueden crear para SharePoint, "Hospedadas por SharePoint", "Autohospedadas" y "Hospedadas por el proveedor", son descritos y analizados en los Captulos 12, 13 y 14. Las posibilidades que ofrece SharePoint para integrar datos de negocio por medio de Manejadores de Eventos Remotos, Flujos de Trabajo, el motor de bsquedas y la llamada a servicios externos en Aplicaciones se detallan en el Captulo 15.

Presentacin 19

El Captulo 16 est dedicado a las posibilidades relativas a la implementacin, manejo y monitorizacin de Aplicaciones en el entorno de una organizacin. Se detallan aspectos relativos a la distribucin de Aplicaciones, tanto desde la interfaz de usuario, como de forma programtica y/o con PowerShell. Adicionalmente, se describen cuestiones relativas a la configuracin de un entorno On-Premise para Aplicaciones y se discuten aspectos relativos a la creacin de Copias de Seguridad y Restauracin de Aplicaciones. El nuevo Modelo de Aplicaciones como oportunidad de negocio se trata en el Captulo 17 en el que se discuten cuestiones como el ciclo de publicacin de una Aplicacin, tipos de licenciamientos disponibles, la monetizacin de Aplicaciones, o las posibilidades que ofrece el Panel del vendedor tanto para publicar Aplicaciones, como para obtener informacin relativa a mtricas, crear identificadores de Aplicacin, etc. Conceptos muy importantes en la creacin de Aplicaciones profesionales son descritos en el Captulo 18: Logging en Aplicaciones, Localizacin, LightSwtich como entorno para crear Aplicaciones con cero desarrollos y TypeScript como tecnologa emergente para dotar de una mayor productividad al desarrollo. Finalmente, el Captulo 19 est dedicado al futuro de las Aplicaciones, identificando y detallando aquellos puntos del modelo qu Microsoft ir evolucionando en el futuro y una introduccin a las novedades que Visual Studio 2013 Preview incorpora para la creacin de Aplicaciones.

Herramientas y Entorno
En general, escribir un libro sobre un tema tan novedoso y en constante evolucin como el nuevo Modelo de Aplicaciones para SharePoint y Office, implica que es necesario realizar pruebas de funcionalidad y desarrollo hasta el ltimo momento. En este sentido, el contenido del libro se ha escrito sobre las bases proporcionadas por una instalacin en modo granja de la versin Ready To Manufacture (RTM) en castellano de SharePoint Server 2013 y una suscripcin de Office 365 de tipo "Office 365 Developer Pack". Para los captulos relativos a los distintos tipos de Aplicaciones para Office, se ha utilizado la versin Professional Plus en castellano de Office 2013. La mayor parte de los ejemplos de cdigo incluidos se han creado en la versin en castellano de la RTM de las herramientas de desarrollo de Office para Visual Studio Ultimate (con la ltima actualizacin aplicada). Finalmente, el resto de ejemplos de desarrollo del libro se ha implementado mediante las herramientas NAPA, Visual Studio LightSwitch y la versin Preview de Visual Studio 2013 liberada por Microsoft en junio de 2013.

CAPTULO

Aplicaciones para Office y SharePoint

Siguiendo con el modelo creado para Windows 8 y Windows Phone, Microsoft ha concebido un marco de trabajo para la creacin, distribucin y aplicacin de personalizaciones para Office 2013 y SharePoint 2013: Las Aplicaciones.

1.- INTRODUCCIN
Las Aplicaciones para Office y SharePoint representan la nueva forma que Microsoft ha adoptado para crear, distribuir e instalar software con nueva funcionalidad o personalizaciones en dos de sus productos ms exitosos: Office y SharePoint. El concepto de Aplicacin se ha hecho conocido primero, por la forma en la cual telfonos inteligentes despliegan software nuevo y, luego, por la aparicin de las tabletas. Inevitablemente, el modelo ha sido reproducido en Windows 8 y ahora en Office 2013 y SharePoint 2013. La idea principal del concepto de Aplicaciones es que residen en un punto central, desde donde el usuario puede buscar el software que necesita para solucionar un problema y, desde donde las puede descargar e instalar en su sistema. Las Aplicaciones tanto para Office como para SharePoint residen en un Almacn, un depsito de software centralizado, que puede ser pblico (manejado por Microsoft) y/o privado (manejado desde los servidores de las empresas mismas, y no visible para usuarios fuera del dominio). Los desarrolladores y las empresas se pueden afiliar a la Tienda de Aplicaciones de Microsoft, publicar sus programas en l y ofrecerlas como descargas gratuitas o de pago. En el segundo caso, Microsoft ofrece como parte de su servicio la recoleccin del dinero por las licencias y el pago al fabricante. Las API de
21

22 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Aplicaciones tambin proporcionan todos los esquemas de seguridad necesarios para ofrecer versiones gratuitas, de prueba o de pago. El software distribuido en forma de Aplicaciones tiene ventajas tcnicas, tales como la relativa facilidad para los usuarios de "descubrir" programas desde un sitio central y no tener que hacer bsquedas intensivas (y muchas veces infructuosas) a lo largo y ancho de Internet; y que el propietario de la Tienda, en este caso Microsoft, puede ejercer cierto control sobre la calidad del software, sobre todo para prevenir virus y software mal intencionado. Adems, en cierta forma, la monetizacin (cmo ganar dinero) del software se simplifica para los desarrolladores. Pero, por otro lado, hay que tener muy presentes las consecuencias: El propietario del Almacn exige un pago por su uso. En el caso de las Aplicaciones para Office y SharePoint, se destina un 20% del precio total de ventas al cliente. La posibilidad de censura existe; hay casos conocidos en donde el propietario de la Tienda ha utilizado su poder como arma para forzar a otras compaas a actuar de una u otra forma (el renombrado caso de Apple para controlar el mercado de descarga de libros) o ha impedido que alguna Aplicacin est en el Almacn por razones no tcnicas. Hasta el momento de publicacin de este libro, se conocen solo casos limitados de este tipo en la Tienda de Microsoft, como por ejemplo la retirada de Aplicaciones que utilizaban el nombre de Facebook y que no haban sido oficialmente creadas por esa compaa. Aunque el propietario de la Tienda asegura que controla la calidad de las Aplicaciones antes de hacerlas disponibles pblicamente, el proceso de cmo es el control y qu es lo que se controla no es, en absoluto, transparente. Esto significa que el propietario puede rechazar una Aplicacin por cualquier motivo, y el programador no tiene ninguna forma de obligarlo a publicarla.

Tcnicamente hablando, el nuevo modelo de Aplicaciones tambin supone un cambio en la forma de programacin. Mientras en Aplicaciones "tradicionales" el diseador y programador deciden qu tipo de tecnologa se debe aplicar (Escritorio, Web), para Aplicaciones de Office y SharePoint la gama de tcnicas que se puede utilizar es ms limitada y, muchas veces, incluso las APIs ( Application Programming Interface) disponen de menos posibilidades, como es el caso de SharePoint, en donde el Modelo de Objetos de Servidor es mucho ms completo que el Modelo de Objetos de Cliente. En cuanto a la forma de desarrollar Aplicaciones, tanto para Office como para SharePoint, Visual Studio continua siendo la herramienta por defecto, aunque Microsoft ha desarrollado otras herramientas con propsitos especficos, como por ejemplo LightSwitch y Access 2013 para desarrollar sin necesidad de programar y NAPA, un herramienta totalmente integrada en el navegador, por lo que no necesita ningn tipo de instalacin local. En el momento de publicacin de este libro ya ha aparecido la primera versin beta de Visual Studio 2013, que incluye algunas mejoras con respecto a la programacin de Aplicaciones, como se explica en el ltimo captulo.

Aplicaciones para Office y SharePoint 23

2.- APLICACIONES PARA OFFICE 2013


La extensibilidad, es decir, la capacidad para implementar software que extienda la funcionalidad, siempre ha sido un punto fuerte de Microsoft Office desde la versin Office 97, aunque ha cambiado mltiples veces de tecnologa bsica. Los "Plugins" y "Addins" para Office han estado basados tcnicamente en DLLs estndar de Windows (Office 97), en COM (Component Object Model, para Office 2000), COM/OLE (Office XP) y VSTO (Visual Studio Tools for Office, para versiones de Office desde 2003 en adelante). Para Aplicaciones de la versin 2013 de Office las tecnologas a utilizar son HTML 5, XML, CSS 3 y JavaScript. Mientras que los modelos de extensibilidad existentes hasta Office 2013 estaban diseados para automatizar tareas en los programas cliente de Office a un nivel profundo por medio de todo un grupo de objetos y APIs, el nuevo modelo de Aplicaciones est pensado para otro nivel de funcionalidad, en donde el contenido de los documentos es el centro de la accin, y en donde las Aplicaciones mismas forman parte del contenido. Al contrario que los Addins tradicionales de Office, las Aplicaciones de la versin 2013 pueden ser guardadas como parte de los documentos mismos en algunos casos, de tal forma que cuando otro usuario utiliza el documento, no necesita instalar nuevo software (ni Aplicaciones) en el ordenador. Aunque el nuevo modelo de Aplicaciones de Office es el preferido para agregarle funcionalidad a sus programas, Microsoft contina soportando los modelos de programacin utilizados anteriormente basados en VBA, COM y VSTO. Los Addins creados para versiones anteriores de Office tambin continan funcionando en Office 2013, aunque Microsoft no ha liberado informacin sobre el soporte de ellos en futuras versiones. De forma simplificada, una Aplicacin para Office 2013 es una pgina Web alojada en una Aplicacin cliente de Office (Word, Excel, PowerPoint, Outlook). Los usuarios pueden modificar o ampliar la forma en que un documento, e-mail, hoja de clculo, etc., funciona por medio de las Aplicaciones, y ellas pueden ejecutarse en mltiples sistemas y por mltiples tipos de clientes, como por ejemplo programas de Office, navegadores para telfonos, On-Premise o en la nube. Inclusive, y por el hecho de que todos los programas de Office comparten el mismo grupo de APIs, una Aplicacin puede funcionar sin problemas en Word y en Excel, por ejemplo, sin necesidad de modificar el cdigo fuente. Adems, por primera vez es posible desarrollar software que funciona sin modificaciones tanto para Office 365 como instalaciones de Office locales On-Premise.

3.- APLICACIONES PARA SHAREPOINT 2013


Tambin nuevo en SharePoint 2013 es el modelo de Aplicaciones para extender su funcionalidad. Aunque tcnicamente ms complejas que las Aplicaciones para Office, la idea se basa en pilares similares:

24 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Utilizacin de estndares Web para la programacin: HTML 5, JavaScript, REST, OAuth y OData. De esta forma las Aplicaciones no solo utilizan las posibilidades de programacin ms usadas mundialmente, sino tambin permiten la integracin con tecnologas diversas y no solamente de Microsoft. Software independiente de la implementacin. El Modelo de Objetos de Cliente substituye cada vez ms el Modelo de Objetos de Servidor en SharePoint. La extensibilidad ocurre ms y ms utilizando el API del Modelo de Objetos de Cliente y REST y menos y menos instalando el software directamente en los servidores. Simplificacin de instalacin. Aunque la instalacin de nueva funcionalidad comenz a simplificarse en SharePoint 2010 con las soluciones Sandbox, utilizando el nuevo modelo de Aplicaciones se va un paso ms adelante, pues instalar y desinstalar nuevo software para el usuario es lo mismo que crear una Lista o Biblioteca. Para el administrador, las Aplicaciones no son ms que un archivo que se puede subir a una Biblioteca en un Sitio especializado (el "Catalogo") sin necesidad de recurrir a PowerShell o de tocar los servidores de alguna otra forma. En Office el proceso de instalacin es muy similar al de SharePoint (y al de Windows 8) para los usuarios, logrando que cuando aprenden cmo hacerlo para un sistema, puedan hacerlo en todos los dems. El usuario est en control y se mantiene en control sobre el software que se instala, tomando en s mismo algo de la responsabilidad de los administradores de sistemas. Como las Aplicaciones se ejecutan en un espacio aislado, no afectan (en teora) a los servidores ni utilizan recursos necesarios para ejecutar SharePoint. Esto, en principio, elimina los riesgos de software mal escrito o con problemas de seguridad, pues (de nuevo en teora) no puede afectar al funcionamiento de la granja.

Desde SharePoint 2003, una de las mayores ventajas del Portal ha sido no solamente la facilidad con la que los usuarios pueden crear sus componentes por defecto (Sitios, Listas, Bibliotecas, Columnas, etc.), sino tambin cmo se le ha podido agregar funcionalidad adicional a la que no dispone por defecto. En la versin 2003 esta ltima extensibilidad se realizaba construyendo ensamblados manejados por .NET Framework que se instalaban directamente (y manualmente) en los servidores. Con la aparicin de las "Soluciones de SharePoint" en la versin 2007, los desarrolladores y administradores contaban con un mecanismo de instalacin mucho ms confiable y que se poda automatizar fcilmente, pero el software continuaba siendo full trusted, es decir, el software agregado segua ejecutndose en el contexto fsico de la granja de SharePoint, por lo que no haba forma de separar funcionalidad de funcionamiento propio del servidor, con los consabidos riesgos de estabilidad y seguridad. Con SharePoint 2010 Microsoft comenz a experimentar con la separacin entre la granja propiamente dicha y la funcionalidad que los usuarios deseaban agregarle. Las soluciones Sandbox de SharePoint 2010, aunque no supusieron realmente un xito comercial o empresarial, representaron un experimento interesante para lograr esa

Aplicaciones para Office y SharePoint 25

meta. Y aunque el software que se ejecuta en el Sandbox funciona virtualmente en un proceso separado al del servidor, la separacin no es total. El Sandbox de SharePoint 2010 contina siendo implementado totalmente en SharePoint 2013 por cuestiones de compatibilidad, pero Microsoft no ha introducido mejora alguna en el mismo, ni lo recomienda como forma viable para agregar funcionalidad en el futuro. Si realmente se desea separar nueva funcionalidad de la granja propiamente dicha, es indispensable tener una forma de programar al Portal sin necesidad de instalar software directamente en los servidores. Aunque desde SharePoint 2003 era posible utilizar una especie de programacin "remota" de SharePoint, creada con servicios Web y basada en SOAP, hasta SharePoint 2010 no apareci un Modelo de Objetos de Cliente realmente funcional. La versin 2013 dispone de una versin mejorada y ampliada del Modelo de Objetos de Cliente, en especial con la posibilidad para acceder al sistema utilizando REST, un estndar internacional y abierto que ofrece la capacidad para crear software para SharePoint utilizando cualquier tipo de tecnologa, aunque no sea especfica de Microsoft.

3.1.- Aplicaciones o soluciones?


SharePoint 2013 (On-Premise y Online) se puede personalizar y extender mediante desarrollo utilizando dos tcnicas diferenciadas: Soluciones de SharePoint y Aplicaciones de SharePoint. Frente al uso de Soluciones, el nuevo modelo de Aplicaciones facilita crear personalizaciones qu se integran con SharePoint sin producir el impacto que las primeras pueden tener en el ciclo de vida y en la administracin de SharePoint.

Figura 1.- Opciones de personalizacin de SharePoint.

Como se muestra en la Figura 1, el cdigo de una Solucin de SharePoint se ejecuta siempre en su ambiente de ejecucin lo que puede implicar un impacto negativo en el entorno del Portal, en el caso en el que la Solucin introduzca penalizaciones en el

26 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

rendimiento o malas prcticas que puedan afectar su ejecucin normal. En cambio, el cdigo de una Aplicacin de SharePoint siempre se ejecuta de forma aislada respecto al ambiente de SharePoint, bien porque la lgica se ejecuta en un tenant separado del servidor, o bien porque lo hace en un servidor independiente a la granja de SharePoint.

3.1.1.- Elementos de decisin


La decisin sobre si crear Aplicaciones o Soluciones viene determinada por dos factores principales. El primero tiene que ver con las capacidades y posibilidades especficas de cada tipo de personalizacin. El segundo, con el escenario de negocio al que se trata de dar respuesta. Algunos aspectos que se pueden tener en cuenta en la decisin sobre crear Aplicaciones o Soluciones son los siguientes: Modelo de Objetos en servidor (SSOM) frente a Modelo de Objetos en Cliente (CSOM). Crear Soluciones permite utilizar el SSOM facilitando el acceso prcticamente sin restricciones a contenidos y la administracin de SharePoint. El principal inconveniente del uso del API de servidor viene dado por su ejecucin en el mismo contexto de SharePoint. Por ello hay que asegurarse de seguir buenas prcticas de programacin y uso del SSOM, de forma que se eviten situaciones en las que un bug o problemas de rendimiento puedan afectar de forma negativa a la granja. Frente al uso del SSOM, el CSOM proporciona un API con una serie de objetos que permiten interactuar de forma remota con SharePoint reduciendo el efecto del cdigo en la granja, ya que ste no se ejecuta directamente en la granja. De esta forma, cualquier problema con los objetos de CSOM utilizados afecta a la Aplicacin que lo utiliza, pero no al ambiente de SharePoint. Evidentemente, si el cdigo de la Aplicacin contiene errores de programacin, como por ejemplo el uso de un bucle infinito, puede afectar tambin al rendimiento del servidor. Ambiente de ejecucin. Dependiendo de si la lgica de negocio se tiene que ejecutar en SharePoint On-Premise u Online (Office 365), es posible crear personalizaciones mediante Soluciones y/o Aplicaciones o bien nicamente mediante Aplicaciones teniendo en cuenta que las Soluciones de tipo Sandbox se consideran obsoletas en SharePoint 2013 y que son las nicas disponibles en SharePoint Online. Para ser ms especficos, en SharePoint Online se recomienda la creacin de Aplicaciones frente a Soluciones Sandbox. En SharePoint On-Premise, ambas opciones son posibles. Despliegue. La personalizacin de SharePoint mediante Soluciones requiere, adems del proceso de diseo y desarrollo, definir una planificacin para su despliegue en el momento adecuado para tener un impacto mnimo sobre los usuarios de la granja. En cambio, en el caso de las Aplicaciones, es posible desplegarlas en cualquier momento sin producir apenas impactos sobre el sistema.

Aplicaciones para Office y SharePoint 27

Patrones de diseo. Por un lado, las Soluciones restringen los patrones de diseo que se pueden utilizar a formularios Web. Por otro, las Aplicaciones estn ms preparadas para el uso de patrones de diseos modernos y variados como MVC (Model-View-Controller) o MVVM (Model-View-View-Model). Conocimientos necesarios. Para crear Soluciones de SharePoint, se requieren conocimientos generales sobre desarrollo de .NET, ASP.NET y especficos del API de SharePoint. Adicionalmente, es necesario tener un dominio y conocimiento mnimo de buenas prcticas de desarrollo en el uso del SSOM que aseguren que el cdigo desarrollado no va a introducir penalizaciones en la granja. Por ejemplo, para hacer un correcto uso de las clases SPSite y SPWeb es recomendable conocer y aplicar las reglas de liberacin de memoria descritas en la documentacin disponible en MSDN y en el API mismo. Frente a las restricciones propias de las Soluciones, el modelo de Aplicaciones ampla notablemente las posibilidades a nivel de tecnologas y APIs que se pueden utilizar, de manera que no slo desarrolladores de SharePoint pueden crear Aplicaciones, sino en general desarrolladores de Aplicaciones Web sobre plataformas y tecnologas diversas. Como desventaja en relacin con los conocimientos necesarios, los desarrolladores de Soluciones tienen que adquirir nuevas destrezas para poder crear Aplicaciones: HTML 5, JavaScript, OAuth, OData, etc.

Diseo. En los ltimos aos SharePoint se ha convertido en una plataforma empresarial utilizada de forma extensa por muchas organizaciones las cuales, en lo referente a diseo, han aadido sus personalizaciones en cuanto a colores, estilos, fuentes, logos, etc. Estas personalizaciones se empaquetan en la forma de Soluciones (Granja o Sandbox) con el objetivo de facilitar el uso de un mismo aspecto a lo largo de toda la organizacin. En cambio, aunque tcnicamente es posible, las Aplicaciones no estn pensadas por el momento para aplicar personalizaciones de diseo en todos los sitios y colecciones de sitios de una organizacin. Por otro lado, el nuevo modelo de Aplicaciones incorpora mecanismos propios, como se ver en el captulo correspondiente, para aadir personalizaciones de aspecto en su mbito. Integracin de datos de negocio. Las Aplicaciones ofrecen un mecanismo de integracin de datos de negocio externos a SharePoint, flexible y seguro por el hecho de ejecutarse en un dominio aislado, lo que facilita el acceso a esos datos sin las restricciones y limitaciones que pueden introducir las Soluciones. Manejadores de eventos. Las Soluciones de SharePoint no estn pensadas para reaccionar a sucesos que tengan lugar en los sistemas de negocio excepto mediante el uso de Flujos de Trabajo. En cambio, las Aplicaciones disponen de los Manejadores de Eventos Remotos y de los Flujos de Trabajo como mecanismos para reaccionar a cambios producidos en los sistemas de informacin empresariales.

28 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Escenarios. Aunque no existe una recomendacin o gua oficial de cundo crear Soluciones y cundo crear Aplicaciones, s es cierto que los requerimientos de negocio a satisfacer decantarn la balanza en uno u otro sentido. Por ejemplo, si se necesita desplegar elementos de diseo que apliquen en toda la granja lo ms adecuado es hacerlo en la forma de una Solucin. En cambio, si se necesita disponer de una forma especfica para realizar una gestin de contactos, la creacin de la correspondiente Aplicacin puede ser una opcin ms interesante. Disponibilidad y despliegue. El nuevo modelo de Aplicaciones facilita el uso de las mismas a travs del despliegue a un Catlogo de Aplicaciones corporativo o a la Tienda de Microsoft. En el primer caso, las Aplicaciones estn disponibles para ser instaladas en todas las colecciones de sitios y sitios de un tenant (Office 365) o de una Aplicacin Web (On-Premise). En el segundo, las Aplicaciones adems de ser aprobadas y certificadas por Microsoft, se pueden utilizar en cualquier coleccin de sitios y sitios de un tenant de SharePoint Online o de una granja On-Premise. En cambio, las Soluciones nicamente estn disponibles dentro del mbito en el que se han desplegado siendo necesario realizar de nuevo el despliegue cada vez que se quieran utilizar. Por ejemplo, una solucin Sandbox se tiene que cargar y activar en la galera de soluciones de cada coleccin de sitios donde se vaya a utilizar. Una solucin de tipo granja nicamente se puede utilizar en entornos On-Premise y se tiene que desplegar en el contenedor global de soluciones cada vez que se quiera utilizar.

4.- CONCLUSIONES
Microsoft est intentando modernizar la manera no solo de aplicar nueva funcionalidad y personalizaciones a su software, sino tambin la forma en que los desarrolladores y empresas de desarrollo (y Microsoft) ganan dinero con el software. El concepto de "Aplicaciones" fue inicialmente utilizado para telfonos inteligentes, pero se ha ido extendiendo hacia tabletas, Windows 8 y ahora Office y SharePoint. El nuevo marco de trabajo de Aplicaciones para Office 2013 y SharePoint 2013 ofrece un modelo para que los usuarios puedan descubrir, desplegar y actualizar software en una forma fcil y unificada y para que los desarrolladores puedan ofrecer y monetizar (si se desea) sus creaciones desde un punto centralizado. Tcnicamente hablando, las Aplicaciones se ejecutan en general de forma aislada fuera del mbito de trabajo del software que las alojan, haciendo que no influyan en su estabilidad ni capacidad de ejecucin, ni que representen un peligro para los servidores. Las Aplicaciones utilizan todas las tcnicas modernas de sistemas Web y pueden ser desarrolladas con las herramientas que Microsoft ofrece.

CAPTULO

Arquitectura de Aplicaciones

Las Aplicaciones, tanto para Office como para SharePoint, disponen de una arquitectura de software particular que les permite funcionar de forma segura tanto para el usuario como para las implementaciones de SharePoint involucradas en el sistema.

1.- INTRODUCCIN
Hablando de una forma muy general, el mundo del software se est moviendo rpidamente y tiende a guardar todo tipo de programas en la nube, y utilizar localmente computadores y servidores solo como interfaz de usuario, con procesamiento muy reducido y nicamente como medio de almacenamiento temporal de informacin. Microsoft sigue esta tendencia, y desde el ao 2008, cuando lanz la primera versin de Windows Azure, no ha dejado de mover la mayor cantidad posible de plataformas y productos hacia la nube. Primero con Windows Azure como medio de alojamiento de servidores y SQL, seguido por SharePoint, Exchange y Lync en sus versiones online, y posteriormente por Office, Dynamics y BizTalk, adems de que Windows Azure ha aumentado de forma continua la capacidad, funcionalidad y servicios disponibles. En resumen, Microsoft est pasando de ser un fabricante de software a una compaa que ofrece servicios y dispositivos. Por el momento, y como no solo es muy difcil tcnicamente mover todo el software de Microsoft hacia la nube, sino que tambin es necesario un cambio de comportamiento de los usuarios para que acepten y utilicen las nuevas tecnologas, se est pasando por una etapa hibrida, en la que existen tanto versiones en la nube como On-Premise: el caso tpico es SharePoint, con sus versiones de servidor y online como parte de Office 365.
29

30 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Como consecuencia de este movimiento, es necesario cambiar tambin la forma en que se pueda implementar nueva funcionalidad en los servidores (como SharePoint) o en los programas cliente (como Office). Microsoft ha optado por usar el concepto de Aplicaciones para desplegar, hacer visible y hacer funcionar las personalizaciones de su software, de forma muy similar a como fue diseado originalmente para telfonos mviles. Debido a que no es tcnicamente viable desplegar software directamente en los servidores (en el GAC Global Assembly Cache por ejemplo) en sistemas que trabajan en la nube, y que todo el proceso de despliegue y funcionamiento de personalizaciones ha cambiado hacia sistemas en donde no es posible utilizar los API de Servidor, hay que, por un lado, utilizar APIs en el lado de cliente y servicios como REST y OData para hacer operaciones remotamente con los servidores y, por otro lado, los clientes tienen que utilizar tecnologas que funcionen en clientes menos "inteligentes", tales como navegadores Web. Esto significa un cambio en muchos aspectos tcnicos: la arquitectura de los sistemas cambia radicalmente, la autorizacin y autenticacin son muy diferentes, las herramientas para desarrollo son tambin diferentes, han aparecido nuevos modelos para monetizar el software, etc. Las Aplicaciones para SharePoint y Office residen en un archivo comprimido (.app) que contiene todos los otros archivos necesarios para que el software funcione correctamente. Aunque las Aplicaciones para SharePoint y para Office son diferentes desde el punto de vista funcional, comparten algunas caractersticas en comn en su arquitectura, como, por ejemplo, el hecho de que consisten fsicamente de, al menos, un archivo de instalacin y un archivo de Manifiesto.

1.1.- El archivo .app


El archivo de instalacin de Aplicaciones tanto para Office como para SharePoint tiene la extensin ".app". Es un paquete unificado para todo tipo de software que se deba desplegar en diferentes tecnologas de Microsoft, como muestra la Figura 1 con el contenido de un paquete .app para SharePoint.

.app
SharePoint WSP Azure Web Deploy SQL DAC Pack Office Client Manifest

Figura 1.- Contenido del archivo .app.

Arquitectura de Aplicaciones 31

El archivo ".app" contiene todos los elementos binarios y de soporte necesarios para instalar el software en un servidor especfico o en una combinacin de ellos. Por ejemplo, un archivo ".app" puede contener un archivo ".wsp" para instalar alguna personalizacin de SharePoint junto con un archivo ".dacpac" para crear una Base de Datos en SQL Azure. Todos los paquetes de instalacin ".app" tienen que tener obligatoriamente un archivo de Manifiesto tal y como se describe en la siguiente seccin. El archivo ".app" para una Aplicacin de Office es generalmente ms sencillo y contiene bsicamente los archivos HTML necesarios y el Manifiesto, que siempre es obligatorio. Es importante destacar que aunque la misma extensin se utiliza para otras plataformas tecnolgicas diferentes a la plataforma de Aplicaciones para software de Microsoft (como Symbian, SkyOS, iOS, Mac OS X, etc.), el formato no es compatible y un archivo ".app" de Microsoft solamente se puede utilizar en sistemas con tecnologas de Microsoft. Un archivo ".app" no es ms que un archivo comprimido ".zip". Es posible cambiar la extensin a un paquete de instalacin a ".zip" y descomprimirlo para examinar sus componentes (y, eventualmente, modificar manualmente su contenido, aunque no es recomendable hacerlo). El paquete sigue el formato estipulado por el Open Packaging Conventions (OPC) creado por Microsoft y confirmado como un estndar pblico ratificado por ISO (International Organization for Standardization) y ECMA (European Computer Manufacturers Association). Combina las ventajas de mantener los archivos necesarios independientemente, pero comprimindolos en un solo fichero, resultando en paquetes que normalmente son ms pequeos que el uso de archivos XML complejos. Este es el mismo estndar utilizado por software tan diverso como todos los programas de Office, Hyper-V, Autodesk y programas de otras compaas. El Framework .NET 3.0 permite utilizar archivos empaquetados con OPC por medio del espacio de nombres "System.IO.Packaging" y el API Packaging. La Figura 2 muestra el contenido tpico de un archivo ".app" para una Aplicacin Hospedada por SharePoint.

Figura 2.- Contenido del archivo ".app" de una Aplicacin Hospedada por SharePoint.

_rels es el directorio raz que contiene las relaciones entre los componentes de todo el paquete. Los paquetes OPC pueden incluir "relaciones" que definen las asociaciones entre el paquete, sus archivos y recursos externos, junto a una jerarqua de directorios y rutas. El archivo [Content_Types].xml define los tipos MIME (Multipurpose Internet

32 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Mail Extension) para todas las partes almacenadas en el paquete. Como se puede ver en la Figura 2, el paquete contiene tambin el archivo ".wsp" que es el instalador de SharePoint. Cuando se desarrollan Aplicaciones con Visual Studio, el programador normalmente no tiene que preocuparse de la generacin del archivo ".app", pues Visual Studio lo crea automticamente (funcin "Publicar" desde el men contextual del proyecto en el "Explorador de soluciones", adems de cuando se depura la solucin). Para Aplicaciones de SharePoint Hospedadas por el Proveedor, el desarrollador se debe encargar de crear todos los paquetes de instalacin necesarios si no se estn utilizando tecnologas de Microsoft y/o Visual Studio.

1.2.- El archivo de manifiesto


Aunque el archivo ".app" para Office y/o SharePoint puede contener mltiples tipos de archivos internamente, solamente uno es obligatorio: el Manifiesto, un archivo denominado ineludiblemente AppManifest.xml. Este es un archivo ".xml" que Office o SharePoint utiliza para almacenar algunas propiedades importantes, tales como el ttulo y los permisos para ejecutar la Aplicacin. Note que adems del Manifiesto para la Aplicacin (el archivo AppManifest.xml), cada componente dentro de la Aplicacin puede tener su propio Manifiesto: por ejemplo, si la Aplicacin es para SharePoint, el archivo de instalacin de SharePoint ".wsp" tiene tambin su propio Manifiesto. En el Manifiesto de la Aplicacin se especifican elementos como (aunque no todos son obligatorios): El nombre interno, identificador del producto y versin de la Aplicacin. La URL de la pgina inicial, es decir, la pgina que abre cuando se inicia la Aplicacin. La URL puede contener parmetros en la Cadena de Consulta (QueryString), que deben ser codificados utilizando "&" en lugar de "&". o Propiedades de la Aplicacin como su ttulo, localizaciones, las URLs de servicios a manejar despus de la instalacin, eventos que pueden ocurrir antes de la instalacin y (para SharePoint), la plantilla a utilizar cuando se crea la Aplicacin. Permisos requeridos en Aplicaciones de SharePoint. Identificacin para autenticacin y autorizacin del actor principal, excepto para Aplicaciones Hospedadas por SharePoint. Una lista de prerrequisitos, si es que son necesarios, para que la Aplicacin se pueda instalar (por ejemplo, Caractersticas para Aplicaciones de SharePoint).

o o o

Arquitectura de Aplicaciones 33

La Figura 3 muestra el contenido del archivo inicial AppManifest.xml de una Aplicacin Hospedada creada con Visual Studio. Aunque los esquemas de los Manifiestos para Aplicaciones de Office y SharePoint son diferentes, su forma general es muy similar. Nota: La descripcin completa del esquema de Manifiesto, con todos los parmetros posibles, para Aplicaciones de SharePoint est descrito por Microsoft en el sitio http://msdn.microsoft.com/en-us/library/jj992004.aspx, y el esquema para Aplicaciones de Office en el sitio http://msdn.microsoft.com/en-us/library/fp123693.aspx.

Figura 3.- Esquema del Manifiesto para una Aplicacin Hospedada por SharePoint.

El elemento "StartPage" para Manifiestos de Aplicaciones de SharePoint puede contener uno o ms tokens que se reemplazan dinmicamente en tiempo de ejecucin y que representan informacin que es desconocida en tiempo de desarrollo. En la Figura 3 se puede observar, por ejemplo, el uso de los tokens "{StandardTokens}" y "~appWebUrl". Hay dos tipos de tokens que se pueden utilizar: dentro de la URL misma, que comienzan con el carcter "~" y los que se pueden usar en el QueryString, que estn encerrados entre llaves "{ }". Las dos tablas siguientes describen los tokens disponibles y en qu tipo de Aplicaciones: inmersiva o de pgina completa (I), accin personalizada (AC) y App Part o Aplicaciones de Partes (AP).
Tabla 1.- Tokens de URL para el Manifiesto de Aplicaciones de SharePoint.

Token ~appWebUrl ~hostUrl ~remoteAppUrl ~site ~siteCollection

Descripcin La URL del sitio Web. Direccin del sitio Web host. Direccin de un sitio Web remoto usado. URL del sitio Web actual. Direccin de la Coleccin de Sitios padre.

I X X

AC X X

AP X X X X X

34 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Tabla 2.- Tokens de QueryString para el Manifiesto de Aplicaciones de SharePoint.

Token {AppWebUrl} {ClientTag} {HostLogoUrl} {HostTitle} {HostUrl} {ItemId} {ItemUrl} {Language} {ListId} {ProductNumber} {RecurrenceId} {RemoteAppUrl} {Site} {SiteCollection} {SiteUrl} {Source} {StandarTokens}

Descripcin La URL del sitio Web. Nmero de control de cacheo. URL del logo del sitio Web host. Ttulo del sitio Web host. URL del sitio Web host. Identificador de un elemento de Lista. URL de un elemento de Lista. Idioma actual del sitio Web host. GUID de la Lista. Versin de la granja de SharePoint. ID de ocurrencia de un Evento URL de un sitio Web remoto. Direccin del sitio Web actual. URL de la Coleccin de Sitios actual. URL del sitio Web actual. La URL de la solicitud HTML. Combinacin de cinco tokens: SPHostUrl={HostUrl}&SPAppWebUrl={ AppWebUrl}&SPLanguage={Language} &SPClientTag={ClientTag}&SPProduct Number={ProductNumber}.

I X X X X X X X X X

AC X X X X X X X X X X X X X X X X X

AP X X X X X X X X X X X

La Figura 4 muestra el Manifiesto inicial para una Aplicacin para Office tal y como lo crea Visual Studio:

Figura 4.- Esquema del Manifiesto para una Aplicacin de Office.

Como se puede observar comparndolo con el Manifiesto para una Aplicacin de SharePoint, las diferencias se limitan al namespace ("xmlns") y al identificador del producto ("ProductID").

Arquitectura de Aplicaciones 35

2.- ARQUITECTURA DE APLICACIONES PARA OFFICE


Desde el punto de vista de la arquitectura, una Aplicacin para Office es una pgina Web (HTTP) integrada como contenido en el programa Office. Hasta el momento, las Aplicaciones de Office pueden ser utilizadas en las versiones de escritorio de Word, Excel, PowerPoint, Project y Outlook y en las versiones web de Excel y Outlook. Dependiendo del tipo de acciones que hace la Aplicacin, puede funcionar en varios de los programas sin necesidad de ser reprogramada. Una Aplicacin para Office consiste bsicamente de una o ms paginas HTML y el archivo AppManifest.xml como muestra la Figura 5. La pgina HTML contiene la interfaz de usuario y la lgica del programa, mientras que el archivo AppManifest.xml describe cmo la pgina Web interacta con el programa Office utilizando el Web Extensibility Framework (WEF). Por un lado, WEF permite que el contenido de una pgina HTML se pueda renderizar en un programa de Office y por otro la ejecucin del cdigo asociado. La lgica que realiza la accin est programada en JavaScript utilizando, entre otras, la librera especializada "JavaScript API for Office" (Office.js). El runtime de WEF se encarga de realizar la traduccin de los eventos y llamadas a funciones JavaScript en sus equivalentes nativos.

Aplicacin de Office
Cdigo HTML AppManifest.xml

JavaScript

Figura 5.- Componentes de una Aplicacin de Office.

El cdigo de una Aplicacin Office se ejecuta en un proceso de Sandbox separado y la infraestructura del Sandbox es facilitada por un WebControl de Internet Explorer (versin 9 y superior). Desde el punto de vista de tecnologas involucradas, las Aplicaciones Office soportan HTML 5 y CSS 3 en la interfaz de usuario de la misma forma que son soportadas por los navegadores modernos. Las Aplicaciones de este tipo se apoyan en las tecnologas Web y se soportan los navegadores ms populares del momento, aunque requiere el uso de sus ltimas versiones disponibles. Las Aplicaciones se ejecutan dentro de un iFrame proporcionado por WEF y la comunicacin entre iFrames se realiza por medio del API "postMessage" de HTML 5.

36 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Figura 6.- Arquitectura de una Aplicacin de Office.

Figura 7.- Ejecucin de una Aplicacin de Office.

2.1.- El catlogo de Aplicaciones para Office


La(s) pgina(s) Web de una Aplicacin puede(n) ser publicada(s) en cualquier tipo de servidor Web utilizando los mtodos estndar para ello, como por ejemplo la creacin de un Sitio Web en IIS (Internet Information Services). El Manifiesto (AppManifest.xml) tiene que ser publicado en un Catlogo de Aplicaciones, que no es ms que un servidor que conserva una coleccin de Manifiestos, controla su acceso y monitorea su uso. El Manifiesto contiene un puntero hacia la URL donde se encuentra la pgina Web de la Aplicacin. El Catlogo de Aplicaciones puede existir en diferentes formas: La Tienda pblica de Microsoft, que es un Catlogo global alojado y manejado por Microsoft, y que permite a los usuarios encontrar Aplicaciones gratis o de pago desde cualquier lugar en el mundo.

Arquitectura de Aplicaciones 37

Un Catlogo basado en SharePoint para ser utilizado corporativamente, accesible solamente dentro de la intranet de la compaa. Catlogos basados en Microsoft Exchange para Aplicaciones de Outlook. Un directorio local compartido, vlido para desarrollo o pequeos grupos de usuarios. Un computador en la red interna local puede mantener el Manifiesto, exponerlo a otros computadores y funcionar como Catlogo.

2.2.- Tipos de Aplicaciones para Office


Existen tres tipos principales de Aplicaciones para Office: Aplicaciones de Contenido para extender el contenido de documentos, Aplicaciones para el Panel de Tareas que permiten mantener la Aplicacin visible constantemente y Aplicaciones de Correo. El uso y programacin de cada uno de estos tipos est descrito en captulos especficos de este libro. La lgica para programar Aplicaciones de Office se debe escribir utilizando JavaScript y una librera especializada llamada "JavaScript API for Office" (Office.js). Esta librera es un modelo de programacin unificado en todos los programas de Office, permitiendo acceso de lectura y escritura a los documentos y su manipulacin por medio de cdigo. Office.js se describe en profundidad en el captulo respectivo de este libro.

Figura 8.- Arquitectura de Aplicaciones para Office.

38 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Nota: Esquema extrado del sitio de Microsoft http://blogs.msdn.com/cfsfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-5399/0042.pic10.png.

2.3.- Interfaz de usuario


Los programas de Office que aceptan Aplicaciones disponen de un botn especial en el men de Cinta que permite descubrir Aplicaciones. stas pueden encontrarse en el Tienda Pblica o estar localizadas en algn tipo de servicio especial, como muestra la Figura 9. El Captulo 4 explica extensivamente cmo utilizar la interfaz de usuario para Aplicaciones.

Figura 9.- Instalacin de Aplicaciones en Word.

El mismo botn enumera las Aplicaciones instaladas y da acceso a su funcionalidad.

Arquitectura de Aplicaciones 39

3.- ARQUITECTURA SHAREPOINT

DE

APLICACIONES

PARA

Una Aplicacin de SharePoint es un programa auto-contenido, (generalmente hablando) que no utiliza el Modelo de Objetos del servidor, fcil de instalar para el usuario final, y que resuelve un problema tambin especifico y bien definido. Los propietarios de un Sitio pueden descubrir e instalar Aplicaciones desde un Almacn pblico o accesible solo desde los lmites de la organizacin e instalarlas en cualquier Sitio de SharePoint. Las Aplicaciones no reemplazan las Caractersticas y Soluciones de SharePoint que solamente pueden ser instaladas por Administradores: las Aplicaciones pueden ser instaladas por propietarios de Sitios y tienen un ciclo de vida mucho ms sencillo (pueden ser instaladas, desinstaladas o actualizadas). Las Aplicaciones pueden ser hospedadas en diferentes formas: en el servidor del desarrollador o en la granja local de SharePoint, en Azure, en un servidor totalmente externo a la granja local de SharePoint o en una combinacin de estas posibilidades. Informacin detallada sobre cada tipo de Aplicacin, con ejemplos de programacin, se puede encontrar en los captulos dedicados a ellas en el libro. Si una Aplicacin contiene componentes de SharePoint, los componentes son desplegados en una sub-web del Sitio que se crea automticamente cuando se instala la Aplicacin. Las Aplicaciones tienen su URL propia aislada de la URL del Sitio que contiene la Aplicacin. Si una Aplicacin es hospedada en el Sistema del desarrollador o auto-provisionada por Azure, los componentes de la Aplicacin se guardan en esos mismos ambientes de trabajo. Por ejemplo, en el siguiente diagrama, Aplicacion2 contiene lgica personalizada de negocio y est guardada en un servidor externo: es una Aplicacin auto-provisionada de Azure y no guarda su contenido en una sub-web del Sitio. Aplicacion1 es una Aplicacin hospedada por SharePoint y dispone solamente de componentes de SharePoint. El contenido de la Aplicacion1 est almacenado en una sub-web del Sitio en el cual fue instalada.

Figura 10.- Diferentes tipos de Aplicaciones para SharePoint.

40 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Por defecto, las Aplicaciones residen en un Sitio Web con un Dominio aislado del de SharePoint y los procesos que se ejecutan en ellas estn tambin aislados de los procesos de SharePoint de tal forma que no puedan afectar al portal. Esto tambin previene problemas de seguridad como acceso no autorizado a los datos del usuario y scripts de cross-site. Cada Aplicacin que se utilice en SharePoint dispone de su propia URL especificada por un nombre de Dominio, un prefijo y un identificador autogenerado. La ruta final est basada en la URL del sitio y la sub-web utilizada por la Aplicacin. As, por ejemplo, si la URL de una Coleccin de Sitios en SharePoint es http://www.dominio.com/sitios/myweb; una Aplicacin que se instala en el Sitio de nivel superior de la Coleccin tendr una URL como http://prefijoApID.dominioAplicacion.com/sitios/myweb/NombreAplicacion en donde: prefijo puede ser definido en la configuracin del Almacn de Aplicaciones (vea el captulo sobre instalacin en este libro), ApID es un identificador generado por el Almacn al instalar la Aplicacin, dominioAplicacion es el Dominio de DNS en donde reside la Aplicacin y NombreAplicacion es el nombre que identifica a la Aplicacin en el Almacn.

Las Aplicaciones de SharePoint que utilizan el hospedaje dentro de SharePoint mismo utilizan un Inquilino (tenant) propio para asegurar la separacin fsica y lgica de la granja misma, por lo que una parte de la configuracin necesaria para utilizar Aplicaciones es la activacin del "Servicio de configuracin de suscripcin de Microsoft SharePoint Foundation". Las Aplicaciones Autohospedadas en Azure crean automticamente su propio tenant sin que el administrador tenga que hacer configuraciones adicionales. Para las Aplicaciones alojadas por el Proveedor, tanto los administradores como los desarrolladores se deben encargar de crear y configurar apropiadamente el sistema de hospedaje para asegurar la separacin necesaria.

3.1.- Tipos de Aplicaciones para SharePoint


En cuanto a la experiencia de usuario, las Aplicaciones para SharePoint pueden ser de tres tipos:
Tabla 3.- Tipos de Aplicaciones de acuerdo a la interfaz de usuario.

Tipo Aplicacin Inmersiva o de Pgina Completa

Descripcin Implementa un escenario completo de funcionalidad para los usuarios, como por ejemplo una Aplicacin para presupuestos. Utiliza pginas completas de SharePoint como Interfaz de Usuario.

Arquitectura de Aplicaciones 41

Aplicacin para Partes, App Part o Elemento de Aplicacin Aplicacin para Extensin o Acciones Personalizadas

Similar a un WebPart, pero desplegada como Aplicacin. Por ejemplo una parte para mostrar informacin de Listas en una forma personalizada o una parte para mostrar informacin sobre el clima. Utiliza solo una parte fsica en las pginas, pudiendo integrarse en la Interfaz de Usuario Agrega acciones a Sitios, Listas y Bibliotecas y puede modificar los mens por defecto. Un ejemplo podra ser un botn para imprimir informacin de una Lista.

3.2.- Interfaz de usuario


Los propietarios de Sitios pueden agregar Aplicaciones para SharePoint en sus Sitios propios, como ya se ha indicado. Las Aplicaciones residen en un Catlogo, sea externo (la Tienda de Microsoft) o interno (una Coleccin de Sitios de SharePoint creada con la plantilla "Sitio del catlogo de aplicaciones" con identificador "APPCATALOG#0"). Un administrador de la Coleccin de Sitios del Catlogo puede agregar una Aplicacin subiendo su archivo ".app" a la Lista "Aplicaciones para SharePoint" creada por defecto en el Sitio de nivel superior de la Coleccin. Normalmente la configuracin automtica de SharePoint lleva un par de segundos, despus de los cuales la Aplicacin es visible para los usuarios desde "Contenidos del sitio" "Agregar una aplicacin" "De su organizacin" (seccin "Sus aplicaciones").

Figura 11.- Aplicacin de SharePoint disponible para instalar.

El vnculo "Detalles de la aplicacin" muestra una pgina con la vista previa de la Aplicacin, su descripcin, versin y fecha de emisin. Si el administrador del Catlogo ha subido una versin nueva, el usuario recibe un aviso indicando que la Aplicacin se puede actualizar y puede hacerlo desde esta pantalla cuando lo considere necesario.

42 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Las Aplicaciones se pueden eliminar tanto desde el sitio de uso como desde el Catlogo en cualquier momento. Una Aplicacin que ya se ha instalado en un Sitio de usuario puede ser eliminada del Catlogo y seguir funcionando sin problemas, es decir, si la Aplicacin se borra del Catlogo, no se elimina automticamente de todos los Sitios en donde est en uso. Las Aplicaciones necesitan satisfacer un nmero de prerrequisitos para poder ser utilizadas en un Sitio de SharePoint, como por ejemplo, el Sitio se tiene que crear con una plantilla especfica. En caso de que alguno de los prerrequisitos no se cumpla, la Aplicacin misma indica que no es posible instalarla y el botn de "Agregar" aparece desactivado, como indica la Figura 12.

Figura 12.- Aplicacin que no se puede instalar en un Sitio de SharePoint.

4.- CONCLUSIONES
La arquitectura de Aplicaciones tanto para Office como para SharePoint ofrece un modelo flexible y seguro para agregarle nueva funcionalidad a los sistemas. Las Aplicaciones para Office 2013 proporcionan una forma a los usuarios de Word, Excel, PowerPoint, Outlook y Project de agregar y procesar contenido. Las Aplicaciones para Office no reemplazan los modelos anteriores para agregarle funcionalidad a Office, tales como macros o VSTO, sino que los complementan ofreciendo una forma ms centrada al contenido que a la automatizacin de los programas. Aunque las formas tradicionales de aadir funcionalidad a SharePoint 2013, es decir, soluciones para instalar en el servidor y soluciones de Sandbox, siguen existiendo en el servidor, Microsoft insiste en que las Aplicaciones debe ser la primera opcin a examinar y solamente si no es posible crear la funcionalidad con ellas, las

Arquitectura de Aplicaciones 43

otras variantes entran en juego. Teniendo en cuenta que las Aplicaciones tienen que utilizar protocolos especializados para autenticacin y autorizacin, y que solamente pueden utilizar el Modelo de Objetos de Cliente y el API REST para acceder a la informacin en SharePoint, su campo de aplicacin en relacin con aplicaciones de servidor y soluciones de Sandbox puede representar una limitacin tcnica.

CAPTULO

Herramientas de Desarrollo

Desde el punto de vista de su extensibilidad, se puede considerar que tanto Microsoft Office, como SharePoint On-Premise y su equivalente en la nube, SharePoint Online en Office 365, son plataformas de desarrollo gracias a las posibilidades que ofrecen sus APIs ("Application Programming Interface"), el nuevo modelo de Aplicaciones y las herramientas de desarrollo disponibles.

1.- INTRODUCCIN
Tanto Microsoft Office como SharePoint (On-Premise y Online en Office 365) son plataformas de desarrollo que pueden ser modificadas y adaptadas a los requerimientos de negocio y del usuario por medio del marco definido por el nuevo modelo de Aplicaciones y las APIs disponibles. En el caso de Office, la extensibilidad mediante Aplicaciones es posible a travs de WEF (Web Extensibility Framework) que en esencia permite mostrar contenido de una pgina remota dentro de una Aplicacin para Office e interactuar con documentos y elementos de Office (documentos Word, libros Excel, mensajes / citas de Exchange y Outlook, etc). En el caso de SharePoint, las Aplicaciones se definen como programas auto-contenidos, sencillos de instalar, que no hacen uso del Modelo de Objetos del Servidor y que no viven en SharePoint, sino que se ejecutan en un dominio aislado, en un servidor remoto o bien en la plataforma Windows Azure de Microsoft. Para crear Aplicaciones para SharePoint hay que familiarizarse con su Modelo de Objetos en Cliente, la API REST, el acceso a datos mediante OData y el uso de OAuth como mecanismo de autorizacin. Los programadores pueden hacer uso de estas APIS y de las herramientas de desarrollo disponibles para implementar las Aplicaciones que se adapten a cada escenario planteado.
45

46 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

2.- HERRAMIENTAS DE DESARROLLO DE OFFICE PARA VISUAL STUDIO 2012


Las herramientas de desarrollo de Office para Visual Studio 2012 (versiones Premium, Professional y Ultimate) permiten crear Aplicaciones tanto para SharePoint como para Office. Por defecto, estas herramientas no forman parte de Visual Studio 2012, sino que una vez instalado el entorno de desarrollo, es necesario descargarlas e instalarlas. Microsoft facilita la disponibilidad de las herramientas mediante la utilidad gratuita Web Platform Installer (Web PI): Nota: Como se indica en el Captulo 19, Visual Studio 2013 Preview si incluye de serie las herramientas de desarrollo de Office para Visual Studio por lo que es esperable que en sa y futuras versiones no sea necesario seguir el procedimiento descrito en este Captulo. Acceda a la pgina de descarga de la Web PI disponible en la URL http://www.microsoft.com/web/downloads/platform.aspx e inicie su descarga. Una vez descargada Web PI, ejectela de manera que arranque un asistente el cual muestre inicialmente un listado de componentes de la plataforma Web de Microsoft que pueden ser instalados en el equipo. Utilizando la caja de bsqueda, localice las herramientas de desarrollo de Office para Visual Studio 2012 como muestra la Figura 1.

Figura 1.- Herramientas de desarrollo de Office para Visual Studio 2012 en el Web PI.

Pulse los botones "Agregar" e "Instalar" para iniciar el proceso de descarga e instalacin de las herramientas en el equipo de desarrollo, que incluyen los siguientes componentes: o o o Microsoft Office Developer Tools for Visual Studio 2012. Windows Identity Foundation SDK. SharePoint Client Components.

Herramientas de Desarrollo 47

o o o o o o o

Workflow Manager Tools 1.0 for Visual Studio 2012 Core. Workflow Client 1.0. Workflow Manager 1.0 Cumulative Update 1. Microsoft Exchange Web Services. Microsoft OpenXml SDK. Microsoft Visual Studio 2012 Tools for Office Runtime Language Pack. Microsoft Visual Studio 2012 Tools for Office Runtime.

El proceso concluye indicando que se han instalado de forma correcta. Adicionalmente, puede ser necesario un re-inicio del sistema antes de que la instalacin concluya.

Notas: (1) Para instalar las Herramientas de Desarrollo de Office para Visual Studio 2012 no es obligatorio disponer de SharePoint 2013 instalado de manera local. S es recomendable su instalacin en caso de que se desee crear y probar Aplicaciones para SharePoint 2013 On-Premise (versiones Foundation y Server). (2) Se recomienda actualizar Visual Studio con la ltima versin liberada por Microsoft. En el momento de edicin de este libro, se dispone de la Actualizacin 3 para Visual Studio 2012, y ya se sabe que habr una Actualizacin 4: Actualizacin 3: http://support.microsoft.com/kb/2835600/es. Versin RC 1 (Release Candidate) de la Actualizacin 4: http://www.microsoft.com/en-us/download/details.aspx?id=39704 La instalacin de las herramientas de desarrollo de Office para Visual Studio 2012 aade en la ventana "Agregar nuevo proyecto" de Visual Studio una seccin "Office/SharePoint Aplicaciones", adems de dos plantillas de proyecto para crear Aplicaciones: Aplicacin para Office 2013 y Aplicacin para SharePoint 2013 (Figura 2). Los proyectos creados con ambas plantillas permiten utilizar toda la funcionalidad de Visual Studio como depuracin, generacin del paquete de despliegue, despliegue automtico, IntelliSense, etc.

48 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Figura 2.- Plantillas para crear Aplicaciones para Office y SharePoint.

Cada una de las dos plantillas disponibles facilita crear los distintos tipos de Aplicaciones para Office y SharePoint: Inicie Visual Studio y cree un proyecto de tipo "Aplicacin para Office 2013". Note como el correspondiente asistente permite elegir el tipo de Aplicacin de Office que se puede crear: o o o "Panel de Tareas" para Excel, Word, PowerPoint y Project. "De Contenido" para Excel, tanto para la versin Web como la versin de escritorio "De Correo" para Outlook, tanto para la versin Web como la de escritorio.

Figura 3.- Asistente para crear una Aplicacin para Office.

Herramientas de Desarrollo 49

Agregue a la solucin de Visual Studio un nuevo proyecto de tipo Aplicacin para SharePoint 2013. El asistente que se inicia a continuacin permite indicar parmetros para la Aplicacin como: o o o El nombre de la Aplicacin. El Sitio de SharePoint (On-Premise u Online) que se vaya a utilizar para depuracin. El tipo de Aplicacin para SharePoint que puede ser "Autohospedado", "Hospedado por el proveedor" y "Hospedado por SharePoint".

Figura 4.- Asistente para crear una Aplicacin para SharePoint.

3.- NAPA Y EL SITIO DE DESARROLLADOR EN OFFICE 365


Para facilitar la creacin de Aplicaciones sin necesidad de instalar Visual Studio, Microsoft ha puesto a disposicin de los programadores un entorno de desarrollo accesible a travs del navegador conocido con el nombre de NAPA. Se trata de una herramienta de programacin ligera, complementaria a Visual Studio que permite crear Aplicaciones tanto para SharePoint Online en Office 365 como para los clientes Office en sus versiones Web y de escritorio.

50 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Notas: (1) Para poder utilizar NAPA, no es necesario instalar software alguno en el equipo de desarrollo. Es suficiente con acceder al entorno de desarrollo a travs del navegador y el Sitio de SharePoint Online. (2) NAPA no est disponible ni puede ser utilizada para crear Aplicaciones para SharePoint 2013 On-Premise. NAPA es en s misma una Aplicacin de SharePoint que nicamente se puede instalar en Colecciones de sitios de SharePoint Online creados con la plantilla "Sitio de desarrollador". Las posibilidades para acceder a una coleccin creada con esta plantilla son: A travs de una suscripcin MSDN de Visual Studio Premium, Professional o Ultimate que incluye como beneficio una suscripcin de desarrollador de Office 365 vigente durante un ao. Mediante una suscripcin de desarrollador de Office 365, que tiene un coste de 6,70 mensuales (impuestos no incluidos). Adquiriendo un plan de tipo mediana empresa o empresarial, planes E1 o E3 respectivamente, de Office 365.

Nota: Las suscripciones de desarrollador, mediana empresa y empresarial de Office 365 se pueden probar de forma gratuita durante un mximo de 30 das. Transcurrido ese tiempo, se puede optar por adquirir la suscripcin o dejar que expire si no se va a seguir utilizando. Para ms informacin sobre Office 365, planes disponibles y acceso a una versin de prueba: http://office.microsoft.com/es-es/. A modo de ejemplo, registre un Sitio de desarrollador de Office 365 de prueba accediendo a la URL:
https://portal.microsoftonline.com/Signup/MainSignUp.aspx?OfferId=6881A1 CB-F4EB-4db3-9F18-388898DAF510&DL=DEVELOPERPACK

A continuacin realice los siguientes pasos: En el formulario que se muestra, complete los datos necesarios para crear la versin de prueba y presione el botn "crear mi cuenta". Cuando el proceso concluye, desde la pgina "centro de Administracin de Office 365" se puede

Herramientas de Desarrollo 51

acceder a los distintos servicios de la plataforma una vez que se han provisionado. En la parte superior de la pgina, despliegue las opciones disponibles en el men "Administrador" y utilice el enlace "SharePoint". A continuacin se muestra el "Centro de Administracin de SharePoint Online" desde donde se puede acceder a la administracin de distintos servicios y al listado de Colecciones de sitios creadas por defecto. La primera Coleccin de sitios que se muestra en la categora "Colecciones del sitios" del listado es el Sitio de desarrollador, que se crea por defecto con una suscripcin de desarrollador de Office 365 (Figura 5).

Figura 5.- Sitio de desarrollador en el listado de colecciones de sitios.

Utilice el enlace correspondiente al Sitio de desarrollador, de manera que se muestre una ventana modal que permite navegar al Sitio.

Para comenzar a usar NAPA, es necesario agregar primero la Aplicacin en el Sitio de desarrollador creado: Haga clic en el tile del Sitio con el texto "Crear una aplicacin".

Figura 6.- Sitio de desarrollador y acceso a las herramientas de desarrollo.

52 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

A continuacin se muestra la pgina de detalle de la Aplicacin "NAPA" Office 365 Development Tools en la tienda de Aplicaciones de SharePoint o "Almacn de SharePoint". Presione el botn "Agregar" para comenzar el proceso que permite aadir NAPA al Sitio de desarrollador. En la nueva pgina indique unas credenciales vlidas para la tienda de SharePoint, por ejemplo el Windows Live ID que utilice habitualmente. Una vez autenticado, en la pgina de confirmacin que se muestra pulse el botn "Continue". Si el proceso de adquisicin de NAPA concluye de forma correcta, aparece una nueva pgina confirmando que la Aplicacin se ha agregado. Presione el botn "Volver al sitio", de manera que se vea una ventana modal en la que se informa sobre los permisos que se necesitan en NAPA para su correcto funcionamiento. Presione el botn "Confiar" para aadir la Aplicacin al Sitio de desarrollador.

Figura 7.- Ventana de solicitud de permisos para NAPA.

A continuacin se muestra la pgina "Contenidos del sitio" del Sitio del desarrollador que dispone de acceso directo a todas las Aplicaciones instaladas. Note como el tile correspondiente a la Aplicacin "NAPA" aparece inicialmente en un estado deshabilitado que indica que est siendo agregada al Sitio. Una vez la Aplicacin "NAPA" est disponible, presione el tile correspondiente a la misma, de esta manera se muestra una pgina inicial desde la que se pueden crear los tipos de Aplicaciones (Figura 8): o "App for SharePoint", permite crear una Aplicacin de tipo "Hospedada por SharePoint" tanto para SharePoint Online en Office 365 como para SharePoint 2013 On-Premise ya que es posible portar las Aplicaciones creadas con NAPA a Visual Studio

Herramientas de Desarrollo 53

2012 de manera que se habilita el despliegue de las mismas en servidores On-Premises. o "Content app for Excel", facilita crear una Aplicacin de contenido que se ejecute en las versiones Web y de escritorio de Microsoft Excel. "Task pane app for Office", para crear Aplicaciones que se ejecuten en las versiones de escritorio de Microsoft Excel, Word, PowerPoint y Project y en la versin Web de Excel. "Mail app for Office", permite crear una Aplicacin de correo tanto para Microsoft Office Outlook como para su equivalente Web.

Notas: (1) La URL que hospeda NAPA, https://www.napacloudapp.com/, hace referencia a una Aplicacin hospedada en Windows Azure. (2) Las posibilidades de creacin de Aplicaciones descritas son las disponibles tras la ltima actualizacin de NAPA realizada por Microsoft en junio de 2013.

Figura 8.- Pgina de creacin de un proyecto de Aplicacin en NAPA.

54 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

A modo de ejemplo de uso de "NAPA", cree un proyecto de tipo "App for SharePoint": En la pgina inicial de "NAPA", seleccione como tipo de Aplicacin "App for SharePoint", indique un nombre para el proyecto y presione el botn "Create". A continuacin, se muestra en el navegador el entorno de desarrollo de "NAPA" que cuenta con los siguientes reas: o Una seccin "Explore" desde la que se puede acceder a los distintos elementos que forman parte de la Aplicacin para SharePoint: archivos .CSS, libreras JavaScript, pginas .aspx, etc. Note como los contenidos estn agrupados en carpetas autoexplicativas. No se pueden agregar carpetas en la raz del rbol, solamente subcarpetas en las creadas por defecto. Un editor de cdigo, con soporte de Intellisense, que permite editar y modificar los elementos que forman parte de la Aplicacin. Unos botones de accin para realizar las siguientes funciones: Ejecutar la Aplicacin creada para proceder a evaluar su funcionamiento. Cuando se pulsa el botn "Run Project" se inicia el proceso de empaquetado, despliegue y visualizacin de la Aplicacin que se est desarrollando. Eliminar la Aplicacin por medio del botn "Remove app". Realizar configuraciones de la Aplicacin utilizando el botn "Properties". Por ejemplo, para una Aplicacin de SharePoint se pueden realizar modificaciones relativas a los permisos que necesita para su ejecucin. "Open in Visual Studio", que permite exportar el proyecto creado con NAPA para importarlo en Visual Studio. El proceso de exportacin genera un archivo ".exe" que al ser ejecutado abre Visual Studio y convierte el proyecto de Aplicacin creado en "NAPA" en un proyecto de Aplicacin de Visual Studio. El botn "Share" facilita compartir de forma pblica el proyecto de Aplicacin con otros usuarios generando para ello una copia del mismo y una URL pblica desde la que se pueda acceder en modo lectura. Empaquetar en un archivo ".App" la Aplicacin creada facilitando de esta forma su distribucin y uso en

o o

Herramientas de Desarrollo 55

catlogos de Aplicaciones tanto de SharePoint Online como de SharePoint On-Premise. Presione el botn "Run Project" para empaquetar, desplegar y ejecutar la Aplicacin. Note como el proceso de despliegue concluye mostrando una URL desde la que lanzar la Aplicacin.

Figura 9.- Entorno de desarrollo proporcionado por "NAPA".

Una vez que se crea la primera Aplicacin de "NAPA" el acceso a la ventana de desarrollo es diferente pues la pgina inicial muestra los tiles relativos a los proyectos creados por el usuario y permite crear nuevas Aplicaciones por medio del tile "Add New Project". El captulo 15 describe en detalle cmo crear una Aplicacin funcional utilizando NAPA.

56 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

4.- VISUAL STUDIO LIGHTSWITCH


Visual Studio LightSwitch incorpora al entorno de desarrollo de Microsoft una serie de plantillas y asistentes que facilitan la creacin sin necesidad de desarrollo de Aplicaciones empresariales desde las que se visualizan, aaden y modifican datos diversos. LightSwitch habilita la creacin de dos tipos de Aplicaciones empresariales para SharePoint: Autohospedadas, es decir, Aplicaciones para SharePoint Online en Office 365 que se hospedan y ejecutan en Windows Azure. Hospedadas por el proveedor, Aplicaciones hospedadas en un servidor externo a SharePoint.

Para crear una Aplicacin inicial de SharePoint con Visual Studio LightSwitch, se deben seguir los siguientes pasos: En primer lugar, instalar o bien la actualizacin de Visual Studio 2012 que incluye las plantillas de proyecto y asistentes necesarios para crear Aplicaciones tal y como se describe en el artculo de la KB de Microsoft http://support.microsoft.com/kb/2797912/es. O bien, instalar Visual Studio LightSwitch si no se dispone de una instalacin previa del entorno de desarrollo. Nota: Al igual que sucede con las herramientas de desarrollo de Office para Visual Studio, Visual Studio 2013 Preview dispone de serie de las plantillas de proyecto para crear Aplicaciones LightSwitch por lo que es de esperar que en la versin final del IDE y en versiones futuras se incluyan por defecto y no sea necesario realizar su instalacin. Crear un proyecto de Aplicacin de LightSwitch utilizando alguna de las 4 plantillas disponibles en la seccin LightSwitch de la ventana "Agregar nuevo proyecto" de Visual Studio (Figura 10). Por ejemplo, seleccione la plantilla "Aplicacin HTML de LightSwitch (Visual C#). Familiarizarse con el entorno y forma de creacin de Aplicaciones para SharePoint con LightSwitch siguiendo los tutoriales que Microsoft ha creado. Por ejemplo el tutorial disponible en el enlace http://msdn.microsoft.com/eses/library/jj969621.aspx.

Herramientas de Desarrollo 57

Figura 10.- Plantillas de proyecto de LightSwitch.

El Captulo 18 describe los pasos detallados para crear una Aplicacin funcional con LightSwitch.

5.- MICROSOFT OFFICE ACCESS 2013


Microsoft Office Access 2013 permite crear y publicar (a travs de los Servicios de Access) Aplicaciones empresariales escalables tanto en SharePoint Server 2013 OnPremise como en SharePoint Online en Office 365. Adems pueden ser utilizadas sin necesidad de tener instalado localmente el cliente de Access 2013. Esta herramienta est pensada para que profesionales con buenos conocimientos de un escenario de negocio (como por ejemplo una gestin de pedidos) puedan crear rpidamente una Aplicacin para el mismo sin necesidad de tener conocimientos de desarrollo. Los Servicios de Access habilitan la creacin y publicacin de Aplicaciones de SharePoint a partir de la publicacin que se inicia desde Access 2013 en el mismo momento que se crea una Aplicacin. El proceso realiza las siguientes conversiones de elementos de Access: Los formularios Access diseados se convierten en formularios HTML acompaados por hojas de estilo, cdigo JavaScript y otros elementos necesarios para su funcionamiento.

58 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Las tablas de Access son mapeadas a tablas creadas en una BD SQL Server OnPremise o en SQL Azure. Las macros que definen la lgica de funcionamiento de los formularios se convierten en triggers de SQL. En cambio, las reglas de validacin generan restricciones a nivel de SQL. Las consultas sin parmetros se convierten en vistas de SQL Server, mientras que las consultas con parmetros se convierten en "Funciones con valores de tabla".

Para crear una Aplicacin con Microsoft Office Access 2013: Inicie Access 2013 y elija una de las plantillas de Aplicacin disponible. Por ejemplo, seleccione "Seguimiento de asuntos". A continuacin se abre una ventana modal que muestra una vista previa de la Aplicacin base que se va a crear y que permite indicar los parmetros: o o El nombre de la Aplicacin, indique "Seguimiento de Asuntos". La ubicacin Web (URL) desde la que los usuarios pueden acceder a la Aplicacin. En este caso se puede elegir entre alguno de los Sitios listados en la seccin "Ubicaciones disponibles", o bien especificar manualmente la URL del Sitio donde se va a publicar la Aplicacin.

Tras especificar los parmetros iniciales de configuracin, pulse el botn "Crear" de manera que Access 2013 inicie la comunicacin con los Servicios de Access y, al mismo tiempo, inicie el proceso de creacin de la Aplicacin. Tenga en cuenta que es necesario introducir las credenciales de un usuario con los derechos adecuados para crear y publicar la Aplicacin.

Una vez concluye el proceso de creacin, se muestra la vista de diseo de Access 2013 para modificar los elementos (formularios, tablas, macros, etc.) que se crean por defecto o bien aadir nuevos. Por ejemplo, se puede optar por crear nuevas tablas desde cero o bien utilizar como base alguna de las plantillas disponibles. Cualquiera de las dos opciones supone crear la tabla y los formularios bsicos de gestin que se generan de forma automtica.

Herramientas de Desarrollo 59

Figura 11.- Ventana modal para crear la Aplicacin en Access 2013.

A partir de aqu, es necesario modificar y extender la Aplicacin de base utilizando las opciones disponibles en la Cinta de Access y en la propia vista de diseo de la Aplicacin: La vista de diseo inicial muestra las entidades que forman parte de la Aplicacin y que se corresponden con una tabla a nivel de SQL Server. Cada entidad dispone de uno o varios formularios que se pueden personalizar utilizando el diseador de Access y la opcin "Modificar". Por ejemplo, la entidad "Problemas" cuenta con formularios como "Problemas Lista" que es un formulario de captura de datos o "Problemas Hoja de Datos" que es un formulario con un formato estilo "Excel" para ver los datos existentes e introducir nuevos. La opcin "Iniciar aplicacin" permite ver la Aplicacin en el explorador. La opcin "Panel de navegacin" de la Cinta muestra los objetos que forman parte de la Aplicacin. Por ejemplo, se muestra el listado de tablas y de formularios que la forman. La opcin "Tabla" permite agregar nuevas tablas a la Aplicacin. Para cada tabla creada, Access 2013 crea dos vistas: "Lista" y "Hoja de datos".

60 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

La opcin "Vista" permite crear una vista de informacin asociada a una entidad existente. Realmente, las "Vistas" de Aplicaciones Access son formularios para que los usuarios puedan interactuar con los datos. Por ejemplo, un listado de problemas agrupados por Estado. La opcin "Opciones avanzadas" da acceso a funcionalidad ms compleja para la Aplicacin como por ejemplo la creacin de consultas especficas o la definicin de macros.

Figura 12.- Vista de diseo de la Aplicacin en Access 2013.

Para publicar y ver la Aplicacin en los Servicios de Access con los ltimos cambios realizados, use la opcin "Iniciar aplicacin" de la Cinta. Otra posibilidad para visualizar la Aplicacin es guardar los cambios y utilizar el acceso directo disponible en la pgina "Contenidos del sitio". La Figura 13 muestra el aspecto de la Aplicacin publicada. No se muestran todas las entidades disponibles en el diseador de Access, ya que es posible configurar qu entidades mostrar y cules ocultar al usuario.

Figura 13.- Aplicacin de Access publicada.

Herramientas de Desarrollo 61

Finalmente, es posible guardar la Aplicacin creada como un paquete de Aplicacin que facilite su re-utilizacin en otros despliegues de SharePoint. Para generar el paquete de Aplicacin, vaya a "Archivo Guardar como", especifique en la ventana que se abre el nombre del paquete, y a continuacin indique la ruta donde se guardar el correspondiente archivo ".app".

6.- TYPESCRIPT
Adems de las distintas herramientas de desarrollo descritas, la creacin de Aplicaciones para SharePoint y Office se simplifica mediante el uso de distintos frameworks y utilidades enfocados a facilitar el desarrollo. Un ejemplo es el lenguaje TypeScript desarrollado por Microsoft para facilitar la creacin de Aplicaciones multiplataforma, es decir, vlido para cualquier navegador y cualquier sistema operativo. TypeScript es un sper-set de JavaScript que permite el desarrollo "tipado" de Aplicaciones. As, aquellos desarrolladores acostumbrados a programar usando lenguajes de desarrollo como C# o Java pueden utilizar sus conocimientos para la creacin de Aplicaciones en los que la lgica se ejecute en el cliente en JavaScript, proporcionando una serie de clases, mdulos e interfaces que posteriormente se compilan en cdigo JavaScript. En cuanto a las herramientas, los desarrolladores pueden optar por utilizar el plugin de TypeScript para Visual Studio que incorpora las caractersticas de este nuevo lenguaje en el entorno de desarrollo. Nota: Para ms informacin sobre TypeScript, visite la URL del proyecto disponible en http://www.typescriptlang.org/ y el ltimo captulo de este libro. El captulo 18 proporciona instrucciones detalladas sobre el uso de TypeScript.

7.- CONCLUSIONES
Las herramientas de desarrollo disponibles para los modelos de Aplicaciones de Office y SharePoint facilitan extender ambas plataformas en distintos niveles creando nuevas soluciones y funciones orientadas tanto al usuario domstico, como al usuario ms profesional y a organizaciones de distinta naturaleza. Microsoft pone a disposicin de los desarrolladores y analistas de negocio diferentes entornos para crear, desplegar y evaluar Aplicaciones de Office y SharePoint. Para los primeros, las herramientas de desarrollo van desde Visual Studio a NAPA pasando por Visual Studio LightSwitch. Para los segundos, Microsoft Access 2013 es una utilidad para crear rpidamente Aplicaciones orientadas al negocio con apenas desarrollo.

62 Todo sobre Aplicaciones para SharePoint, Office y Office 365: Apps para la Office Store.

Finalmente, el Sitio de Desarrollo de Office 365 forma parte del juego de herramientas de desarrollo ya que facilita el acceso a "NAPA" y es el entorno definido por defecto para el despliegue y evaluacin de Aplicaciones en desarrollo.