Download de VSTO SE, version RTM para Office 2007

Acabo de leer por el oceano de Internet que ya esta disponible la version RTM de VSTO para Office 2007, no se si llego tarde pero aqui esta.

El enlace para descargar (VSTO para Office-2007), es decir, Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System, es:

http://www.microsoft.com/downloads/details.aspx?familyid=5E86CAB3-6FD6-4955-B979-E1676DB6B3CB&displaylang=en

 

Technorati tags:

WCF El contrato

Despues de intertar explicar que es el ABC en WCF, vamos a meternos en harina.


Lo primero que debemos hacer es establecer el contrato, esto es, que metodos va a exponer nuestro servicio. Miguel Jimenez me dio una comparación muy buena. «Imaginate que tu servicio es una tintoreria, el contrato en ese caso seria Limpiar un traje, Planchar… todo lo que nos ofrece la tintoreria es un contrato».


Para establecer el contrato en WCF debemos escribir una Interface que es la manera de representar los contratos.


Si recordamos una interfaz en .NET se escribia


public interface IDerivativesCalculator



{

     decimal CalculateDerivative(

                                 string[] symbols,

                                 decimal[] parameters,

                                 string[] functions);

     void DoNothing();

}


En la que indicamos que operaciones debe tener una clase que implemente esta Interfaz. Para convertir esta interfaz en un contrato de WCF solo tenemos que incluir la libreria System.ServiceModel y utilizar atributos.


El primer atributo a utilizar es [ServiceContract], este atributo indica que el interfaz es un contrato de WCF. Ahora debemos de indicar que operaciones soporta este contrato, para ello utilizamos el atributo [OperationContract] en cada uno de los metodos que queremos que el servicio exponga.


El codigo anterior lo transformariamos en


 


[ServiceContract]


public interface IDerivativesCalculator



{

   [OperationContract

    decimal CalculateDerivative(

                                 string[] symbols,

                                 decimal[] parameters,

                                 string[] functions);

     void DoNothing();

}


Como podemos ver hemos definido el contrato IDerivativesCalculator que expone el metodo CalculateDerivative y debemos señalar que el metodo DoNothing no se expondria porque no tiene el atributo [OperationContract].

 


Technorati tags:

Comienzo con WCF

Debido al proyecto que estoy desarrollando me toca sumergirme en WCF y creo que es una buena oportunidad para exponer los escasos conocimientos que vaya adquiriendo y exponerlos en el blog.


Empezemos pues (esta palabra me sale hasta escribiendo).


Seguro que esto lo habeis leido en un monton de sitios, pero considero que es fundamental para el que comienza con WCF.


WCF antes denominado Indigo (un nombre mas elegante) es el framework unificado para el desarrollo de sistemas distribuidos, de manera, que todas las tecnologias que teniamos en nuestras manos (Servicios Web, DCOM+, Remoting…) las tenemos ahora en una unica tecnología. Pero ademas nos proporciona una serie de servicios que nos van a permitir aislarnos de cuestiones de comunicacion y protocolos.


El ABC en WCF es una regla nemotecnica que nos permite recordar de manera facil tres conceptos importantismos en WCF



  • Adress: Nos va a indicar donde esta el servicio, esto se traduce en una URI del tipo de los servicios Web http:\localhostMiServicio.asmx pero ahora estas Uris pueden direccionar los siguientes protocolos.


    1. HTTP
    2. TCP
    3. NamedPipe
    4. Peer2Peer
    5. MSMQ

  • Binding: Un binding nos especifica como se accede al servicio, esto es: protocolo que se utiliza, codificación (texto, binario…) y protocolos WS-* que permiten mensajes transacionales.

  • Contract: El contrato nos indica que ofrece el servicio, es decir, que metodos y operaciones expone .

Para un servicio pueden existir diferentes combinaciones de ABC, por ejemplo un servicio puede exponer n operaciones (metodos) y pueden haber muchas combinaciones ABC para un cierto servicio (p.ej. que expone operaciones, con un protocolo distinto y mediante un URL distinto). Cada combinación se denomina un endpoint, o sea que un servicio de WCF puede tener múltiples endpoints


Un Dibujo vale mas que mil palabras


 


wcfabc.png


Presentación de un Blogger

 


Hola, mi nombre es Oskar Alvarez y soy de Bilbo. Me he metido en este embrollo de escribir entre tanta gente de nivel por la insistencia de Miguel Jimenez que ademas de esto me ha convencido de crear un nuevo grupo de usuarios que aprovechando que le Ebro pasa por Zaragoza os presento en este post.

Este grupo de usuarios que acaba de nacer lo hemos llamado Artalde (que por estos lares significa rebaño de ovejas, algo querra decir), suerte que contamos con gente de nivel (y no es porque seamos de Bilbao, algo si tiene que ver). Decir a la gente que sea de Bilbao y alrrededores (es decir todo el mundo) que se anime a apuntarse a este grupo de usuarios en el que intentaremos aprender y sobre todo pasarlo bien. Espero presentaros en breve nuestro primer evento.

Pues (ya me salio la vena) al tajo


Technorati tags:

Enterprise Library 2.0

En esta epoca en la que Microsoft ha revolucionado todo el desarrollo en .NET con su FrameWork 3.0, nos olvidamos de aquellos elementos que facilitan nuestro trabajo. Para mi una de ellos es el Enterprise Library. El porque es muy sencillo, implementan las mejores prácticas del equipo de Patterns and Practices de Microsoft, con lo que por herencia algo bien ya estaremos haciendo nosostros si las utilizamos.

  • Enterprise Librery 2.0 no es parte del FrameWork, es una biblioteca independiente que hay que copiar o instalar.
  • No es un Framework de aplicación que no impone un estilo de arquitectura, es decir, no obliga por ejemplo a utilizar procedimientos almacenados siempre, sino que puedes diseñar tu arquitectura con sentencias SQL. Solo facilita el proceso
  • No es un producto de Microsoft, es decir que no hay soporte, localización …
  • No se vende

Realmente es una librería de bloques de aplicación que resuelve problemas comunes compuesto de un conjunto de clases que ayudan a trabajar con cualquier estilo de arquitectura. Un aspecto importante es que viene con código fuente lo que permite extenderlo y es gratuito.

En esta imagen se pude ver de manera resumida lo que nos ofrece Enterprise Library

 

 

Los objetivos que se han marcado los desarrolladores de Enterprise son:

  • Consistencia: Patrones de diseño e implementación congruente en todos los bloques de aplicación
  • Extensibilidad: Todos los bloques incluyen puntos de extensibilidad que permiten a los desarrolladores personalizar el comportamiento de los bloques agregando código
  • Facilidad de Uso: Mejoras en la usabilidad que incluyen, herramienta grafica de configuración , procedimientos de instalación mas simples y documentación.
  • Integración: Diseñados para trabajar juntos y probados para garantizar que si lo hacen, sin perder la posibilidad de manejar los bloques independientemente.

Pero para mi lo mas importante que me ha dado Enterprise Library es la homegeneidad que ha proprocionado a todos los proyectos en los que desarrollamos. Cualquier persona puede incorporarse a un equipo de trabajo y el tiempo de adaptación al proyecto es minimo ya que conocen la tecnología, patrones….

Technorati tags: ,