Jugando con Velocity (II)!

Siguiendo con la serie de posts sobre Velocity que comencé con la parte relativa a la descripción de Velocity y la sencillez de instalación, en esta ocasión voy a dar unas pequeñas pinceladas de lo fácil que es usar la API de Velocity para trabajar con los datos que tengamos en caché. Para estas pruebas he utilizado Visual Studio 2008 SP1 y la CTP de abril de Velocity:

  • Como siempre, el primer paso es crear nuestro proyecto (en mi caso, se trata de una simple aplicación de consola.
  • Una vez creado el proyecto, tenemos que añadir las referencias a los ensamblados de Velocity necesarios para trabajar con el sistema de caché: CacheBaseLibrary.dll y ClientLibrary.dll
image image
  • Una vez añadidas las referencias, tenemos que crear un archivo de configuración XML en el que especificamos los parámetros de la estructura de caché de Veolcity: el host, el puerto utilizado, el TTL, etc.

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <!–configSections must be the FIRST element –>

  <configSections>

    <!– required to read the <dataCacheClient> element –>

    <section name="dataCacheClient"

       type="Microsoft.Data.Caching.DataCacheClientSection,

       CacheBaseLibrary"

       allowLocation="true"

       allowDefinition="Everywhere"/>

  </configSections>

 

  <!– routing client–>

  <dataCacheClient deployment="routing">

    <!– (optional) specify local cache –>

    <localCache

      isEnabled="true"

      sync="TTLBased"

      objectCount="100000"

      ttlValue="300" />

    <!–(optional) specify cache notifications poll interval

    <clientNotification pollInterval="300" />

    –>

    <!– cache host(s) –>

    <hosts>

      <host

         name="localhost"

         cachePort="22233"

         cacheHostName="DistributedCacheService"/>

    </hosts>

  </dataCacheClient>

</configuration>

  • Para trabajar con la caché de Velocity el código necesario es el siguiente:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

//Namespace needed for caching

using Microsoft.Data.Caching;

 

namespace Velocity_Sample

{

    class Program

    {

        static void Main(string[] args)

        {

            //Cache factory object -> Different algorithms for working with the cache

            DataCacheFactory dcfFactory =

                new DataCacheFactory();

            //Cache object for putting and retrieving data

            DataCache dcCache =

                dcfFactory.GetDefaultCache();

            //Putting data into the cache

            dcCache.Put("CHI1", "JcGonzalez");

            //Getting data from the cache

            Console.WriteLine("Valor en caché {0}",dcCache.Get("CHI1"));

            Console.WriteLine();

 

            try

            {

                dcCache = dcfFactory.GetCache("Inventario");

            }

            catch (Exception ex)

            {               

                Console.WriteLine(ex.Message);

            }

            Console.ReadLine();          

        }

    }

}

  • Cómo veis, para poder trabajar con la caché de Velocity:
    • Definimos en primer lugar una instancia de DataCacheFactory que es la que nos marca como obtener acceso a los datos de la caché.
    • Definimos una instancia de DataCache que es la que nos permite leer / escribir en la caché. Esta instancia la inicializamos a partir del método GetDefaultCache que nos permite acceder a la caché por defecto de Velocity (default).
    • A partir de aquí, escribir datos en la caché y leerlos es tan sencillo como llamar a los métodos Put() y Get() del objeto DataCache definido.
  • Sin más, probamos que efectivamente hemos escrito un dato en la caché.
  • Si tratamos de acceder a una caché no creada, tendremos el correspondiente error.
  • Finalmente comentaros que podemos monitorizar el contenido de la caché desde la herramienta PowerShell de administración. Podemos ver cual es el contenido de la caché con el comando Get-CacheStatistics.
image image image

Y hasta aquí llega este segundo post sobre Velocity. Espero que os haya resultado interesante.

SharePoint 2010 & Office 2010: Novedades en Microsoft Office Infopath 2010!

Poco a poco se siguen conociendo algunas novedades, eso sí de manera indirecta, de SharePoint 2010. En este caso, a través del último post publicado por el equipo de Infopath no sólo podemos conocer algunas de las novedades de Infopath 2010, sino también algunas novedades en lo que a la relación de SharePoint 2010 e Infopath 2010 se refiere:

  • Nuevos controles, incluido el Person / Group Picker que pasa a ser un control de “primera clase” en lo que a a controles de Infopath se refiere.
  • Creación de formularios para listas de SharePoint, con Infopath 2010 se podrá extender y mejorar los formularios de creación, edición y visualización de un ítem de lista de SharePoint. A través de la nueva Ribbon que incorpora SharePoint 2010 podremos personalizar el formulario y generar uno similar a los que tienen por defecto las listas de SharePoint pero basados en Infopath 2010 (se entiende que en la versión de formularios en el servidor).
Infopath1 Infoapth2
  • Creación de aplicaciones SharePoint, mediante Infopath 2010, SharePoint 2010 y SharePoint Designer 2010 podremos crear aplicaciones empresariales o departamentales sobre SharePoint:
    • Aplicaciones basadas en formularios, utilizando formularios Infopaht que integren componentes como workflows, informes, páginas web personalizas,…
    • Diseño de formularios de inicio y de trabajo con tareas para flujos de trabajo de SharePoint 2010.
    • Diseñar formularios que permitan crear, leer, actualizar o borrar datos de negocio de sistemas Back-End mediante los Businesss Connectivity Services (BCS).
  • Integración con SharePoint Workspace 2010, ya que Infopath 2010 es la tecnología de formularios usada para crear y completar formularios en SharePoint Workspace 2010.
  • Administración y gestión de Infopath Form Services, se ha mejorado notablente con vistas a facilitar la administración de Infopath Forms Services como un componente más de SharePoint 2010.

Y estas son las novedades de Infopath 2010 relacionadas con SharePoint 2010…para el resto de novedades de Infopath 2010 en sí, os remito al post publicado por el equipo de Infopath.

logoSharePoint2010

Managed Extensibility Framework: Disponible la Preview 6…y con soporte para Silverlight!

Una de las nuevas características que más me gusta de .NET Framework 4.0 es el Managed Extensibility Framework o MEF que habilita escenarios de re-utilización de aplicaciones y componentes, haciendo posible que aplicaciones .NET compiladas de forma estática puedan ser compuestas de forma dinámica. MEF está pensado para escenarios en los que se está implementando aplicaciones y frameworks extensibles o bien extensiones para aplicaciones. El caso es que ya tenemos disponible en Codeplex la preview 6 de MEF que trae como gran novedad el soporte para Silverlight….sin duda una más que interesante capacidad.

image

El resumen de las novedades en la preview 6 es el siguiente:

  • Silverlight support
  • Lazy<T> replaces Export<T>
  • Collection import changes
  • Inheritance changes
  • Export attribute is unsealed
  • Stable Composition makes its debut

Fuente: Blog de Brad Abrams.

SharePoint 2010: Liberada documentación preliminar de protocolos y desarrollo!

Aunque a cuentagotas, poco a poco Microsoft va liberando información adicional en torno a SharePoint 2010. En este caso le ha tocado a la documentación preliminar de protocolos y de desarrollo de la plataforma:

image

Microsoft Office 2010: Introducción a la Technical Preview!

Si hace unas horas os anunciaba la disponibilidad de los primeros vídeos y recursos “visibles” en torno a a la Technical Preview de SharePoint 2010, ahora le toca el turno a la suite de Office 2010. En este caso tenemos disponibles una serie de vídeos y capturas de pantalla de cada uno de los productos que componen Microsoft Office 2010. Podéis acceder a estos recursos desde este enlace.

image

SharePoint 2010: Por fin podemos contar algo, no es mucho…pero es lo que hay!

Por fin tenemos algunos detalles más de SharePoint 2010 en la forma de una serie de vídeos en la que podemos ver a cuentagotas algunas de las novedades de la nueva versión de SharePoint. Además, el equipo de SharePoint acaba de hacer oficial que el desarrollo de la nueva versión de SharePoint ha alcanzado la categoría de Technical Preview. Seguramente a algunos os parezca que en los vídeos se cuentan muchas cosas nuevas, sin embargo os puedo decir que sólo suponen un 1 % de lo que se destapará sobre SharePoint 2010 en la SharePoint Conference 2009 en Las Vegas. Es aquí dónde se verá toda la potencia e SharePoint 2010. En concreto, y volviendo al tema del post, los tres vídeos están enfocados en torno a:

SharePoint_2010_1

Los primeros detalles los tenemos gracias a una serie de vídeos que ha grabado el equipo de SharePoint y que tenéis accesibles en este enlace. Los vídeos son:

  • Un overview de la plataforma presentado por Thomas Rizzo, en este overview veréis cosas como (no voy a entrar en detalles):
    • La incorporación de la ribbon, completamente personalizable, a la interfaz de usuario de SharePoint (aunque siempre podemos volver a un estilo SharePoint 2007).
    • Mejoras en el trabajo con documentos:
      • Multiselección de documentos.
      • Nueva experiencia de trabajo con documentos a través de ventanas en modo pop-up.
      • No hay postback al servidor cuando trabajamos con los documentos gracias al nuevo mecanismo de sincronización implementando en SharePoint 2010.
      • Drag & Drop de documentos (esto lo veréis en el video para Developers).
    • Mejoras en la edición de páginas, de manera que el proceso de edición se simplifica.
SharePoint_2010_2 SharePoint_2010_3 SharePoint_2010_4
    • Web Parts Silverlight out-of-the-box por lo que no necesitamos ningún tipo de configuración extra. Estas web parts nos permiten añadir contenido multimedia de forma sencilla a nuestras páginas de SharePoint.
    • Nuevo selector de web parts, más integrado en los sitios de SharePoint.
    • Soporte mejorado de la visualización de sitios SharePoint en FireFox.
    • Nueva forma de cambiar el look & feel de SharePoint mediante temas al estilo del cambio de temas en PowerPoint.
SharePoint_2010_5 SharePoint_2010_6
    • Nueva experiencia de búsquedas con la incorporación de FAST como motor de búsqueda en SharePoint 2010.
    • Integración de SharePoint 2010 con Visio 2010 (impresionante!):
      • Publicación de diagramas Visio a SharePoint.
      • Los clientes no necesitan instalar Visio gracias a los Visio Services.
      • Capacidad de Zoom It y Zoom Out.
      • Por supuesto, si los datos en los que se basa el diagrama Visio cambian, se podrán refrescar.
    • SharePoint Designer:
      • Nueva interfaz con un look & feel similar a SharePoint y una mayor experiencia de integración.
    • Business Conectivity Services (BCS), o la evolución del catálogo de datos profesionales (BDC):
      • Capacidades de de lectura y escritura  en todas las entidades que definamos.
      • Trabajo con las entidades del BCS desde SharePoint Designer (Gustavo, lo siento ;-)) de manera que podremos conectarnos a los sistemas LOB desde Designer, crear de forma efectiva tipos de contenido con datos de negocio, …
      • Completa integración con los clientes Office, de manera que podemos completar documentos Office (en base a una plantilla) de forma automática a partir de datos del BCS.
    • Sincronización de información de SharePoint con nuestros equipos a través de SharePoint 2010 WorkSpace (antes Groove) que pasa a convertirse en el cliente rico de SharePoint y que nos permite incluso trabajar con datos de negocio.
    • Video Tools en Power Point, de manera que podremos ejecutar un vídeo en power point que puede estar almacenado en SharePoint.
SharePoint_2010_7 SharePoint_2010_8 SharePoint_2010_9
    • Mejoras en la productividad de los profesionales IT a través de:
      • Una mejor experiencia de administración.
      • Mayores capacidades operacionales.
    • En lo que a la experiencia de administración se refiere:
      • De nuevo tenemos la incorporación de la ribbon de office en la interfraz e usuario de la administración central.
      • Tenemos la novedad de la incorporación del SharePoint Best Practices Analyzer para conocer en todo momento que puntos de nuestra infraestructura SharePoint necesitan nuestra atención. Además, nos permite corregir los problemas que podamos tener de forma automática o bien sugerir soluciones a los mismos.
      • Nueva infraestructura de de análisis de uso:
        • Nueva BD de logging.
        • Completamente extensible.
SharePoint2001_10 SharePoint2001_11 SharePoint2001_12
    • Mejoras en la escalabilidad:
      • Experiencia mejorada en lo que al trabajo con listas grandes se refiere, además de incrementar notablemente los límites de capacidad de las listas.
      • Mayor control del rendimiento del servidor a la hora de mostrar datos al usuario. Si hay posibles cuellos de botella, el usuario recibe warnings en torno a esto para que cree nuevas vistas de información que no penalicen el rendimiento al visualizar la información.
      • Backup/Restore a nivel de sitio desde la administración central de SharePoint.
      • Backup/Restore a nivel de lista/biblioteca de documentos.
    • Proceso de upgrade más flexible:
      • El look & feel de sitios SharePoint 2007 se mantiene tras realizar un upgrade.
      • Tenemos un modo pre-view que nos permite pre-visualizar como quedan las nuevas capacidades añadidas a nuestra UI en sitios que hemos actualizado de SharePoint 2007 a SharePoint 2010.
SharePoint2001_13 SharePoint2001_14 SharePoint2001_15
    • Una mejor integración del proceso de desarrollo de SharePoint en TFS (por fin!).
    • Novedades a nivel de desarrollo como:
      • LINQ para SharePoint, para facilitar el acceso fuertemente tipado a datos de SharePoint. Lógicamente tendremos un SPMetal, un contexto de datos para trabajar con datos de SharePoint, …
      • Un modelo de objetos en el lado del cliente con el que podremos trabajar vía JavaScript, código .NET, o código Silverlight.
      • Integración nativa de Silverlight.

SharePoint2001_15

    • Productividad en el desarrollo para SharePoint 2010 a través de las Visual Studio Tools para SharePoint:
      • Importación de elementos creados con las Visual Studio Extensions para SharePoint.
      • Importación de flujos de trabajo creados en SharePoint Designer.
      • Creación de web parts de forma visual (a través de un control de usuario).
      • El server explorer para acceder a sitios de SharePoint desde Visual Studio 2010.
      • Mejor y más flexible experiencia de despliegue.
      • Diseñador WSP, que facilita la creación de soluciones WSP para SharePoint.
      • Mejor experiencia de depuración, que comienza en el momento en el que hacemos un deploy de nuestra web part a SharePoint.
SharePoint2001_16 SharePoint2001_17 SharePoint2001_18
    • Developer Dashboard en los sitios de SharePoint para obtener información en torno a elementos desplegados por un desarrollador en SharePoint.
    • Integración de aplicaciones LOB a través del BDC Entity Designer en Visual Studio 2010, que facilita la creación de BDC models para facilitar el acceso (en modo lectura/escritura) con aplicaciones LOB.

Y hasta aquí lo “poco” que se puede contar sobre SharePoint 2010 de momento y hasta la SharePoint Conference de Las Vegas. Espero que lo disfrutéis.SharePoint2001_19

WSS 3.0 & MOSS: Limitaciones de la autentificación basada en formularios!

Sin duda, la autentificación basada en formularios es la única alternativa que a priori tenemos a la caja cuando queremos que usuarios externos a nuestra organización puedan acceder a sitios de SharePoint sin que les tengamos que dar de alta en nuestro directorio activo. Ahora bien, aunque el mecanismo de autentificación es perfecto, tiene una serie de limitaciones sobre todo en cuanto a la experiencia de integración con los clientes Office. En este sentido, si queréis tener en mente estas limitaciones, os recomiendo leeros este post de Sean Wallbridge. Por otro lado, os recuerdo que con el SP2 se han introducido mejoras en la autenticación basada en formularios en lo que a la experiencia de integración con clientes Office se refiere.

clip_image004