Programación y Estrategias de Negocios RSS 2.0
# Wednesday, August 20, 2008


Share

Me han preguntado un par de veces como invocar Web Services que tienen certificados digitales desde aplicaciones web (y tambien desde aplicaciones Windows), asi que aqui una nota de referencia rapida y algunos enlaces al respecto:

 

Existen muchas formas de invocar servicios web seguros desde aplicaciones web, pero basicamente dos son rapidas y eficaces y dependen de la tecnología que se este usando para invocar los servicios web. (es decir como los esta llamando), si esta usando framework 2.0 lo mejor es usar Web Services Enhancements (WSE) 3.0 for Microsoft .NET, una serie de extensiones para Visual Studio que implementan mejoras significativas en seguridad, gestión de archivos como parte del mensaje, etc. Con WSE* puede usar muchas de las características más avanzadas de Web Services y hacen parte de los estándares avalados por OASIS y otras sugerencias de Microsoft, incluidos los certificados digitales, mas información de esta técnica aquí. Este complemento es gratuito, no hay que pagar nada por él y se puede descargar del sitio de Microsoft haciendo clic aquí.

 

Ahora si está usando el framework 3.0 puede utilizar Windows Communication Foundation (WCF) que trae incluido desde el core el soporte para esquemas de seguridad como el que menciona, Microsoft ha desarrollado una guía de mejores prácticas de seguridad para servicios de WCF. Y una guía muy completa de casos practicos (how-to) y escenarios que se puede descargar de forma gratuita haciendo clic aquí.

 

 

Juan Peláez

Developer Evangelist

Microsoft Colombia.

Wednesday, August 20, 2008 8:33:57 AM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
.net | Articulos de Desarrollo | Developer Evangelist | Visual Studio | WCF | Web Services
# Tuesday, March 04, 2008


Share

Este post tiene que ver con la forma como se invocan servicios Web usando certificados X.509.  En especial visto como una guía muy básica de resolución de problemas al momento de configurar los clientes.  (Que como ya debe saberse pueden ser aplicaciones de escritorio o Aplicaciones Web).

 

Antecedentes.

La seguridad es un elemento clave en la construcción de servicios web, especialmente cuando estos servicios web se exponen en internet.

Para poder construir servicios web seguros se pueden utilizar diversos métodos de autenticación y certificación de identidad, algunos de ellos incluyen:

 

· Tokens de Seguridad Personalizados

· Tokens de Seguridad del Contexto

· Tiquetes de Kerberos

· Usuario y Contraseña

· y Certificados X.509, que son los que nos interesan hoy.

 

Un certificado X.509 es básicamente una llave de encripción emitida y certificada por una entidad certificadora valida, sin entrar mucho en definiciones que se pueden encontrar mas en detalle en Internet, el certificado es un archivo que me emite una entidad reconocida, y que básicamente es un numero único que me han dado para yo entregar a mis clientes y saber que son ellos los que esta llamando mi servicio.

 

Escenario.

Un cliente me pide invocar un servicio web seguro desde mi propia aplicación web, (por ejemplo para mostrar los valores de un combobox), este cliente me provee un certificado X.509 y me informa la política de encripción, autenticación para este servicio. 

 

Solución.

1. Debo instalar el certificado Digital en la Maquina de desarrollo, en el ambiente de pruebas y en el servidor de Producción, es posible que el cliente me provea con dos direcciones web, una para prueba, otra para desarrollo, eso es independiente del certificado.

2. La instalación del certificado puede realizarse de diversas maneras, una muy fácil es copiar el certificado en una ruta de la maquina donde desea instalarse, luego hacer clic derecho del mouse e seguir el asistente

 

clip_image001

 

La siguiente pregunta del asistente es si desea ubicar el certificado en un almacén determinado o si desea que el asistente lo instale basado en la información del certificado, esta es una de esas típicas preguntas que no se sabe bien que contestar o que significa. El repositorio de certificados esta divido por niveles.

El primer nivel indica si se quiere almacenar el certificado en la maquina local, en el perfil del usuario o en la cuenta del servicio con la que corre el OS.

 

luego viene un segundo nivel que incluye personal, autoridades, entidades certificadoras, directorio activo, entre varias otras, así que lo primero es saber donde colocar el certificado, una buena guía es esta que muestra las ubicaciones por default que se utilizan para buscar los certificados digitales, así, si la aplicación es un web service o una aplicación de escritorio que intenta firmar o encriptar el mensaje va a buscar en el User Personal Store.

 

clip_image002

 

3. Ahora que tengo el servidor instalado debo configurar el webconfig y la política que quiero seguir para este certificado. (hay muchas formas de hacerlo, algunos no usan el web config, sino que crean la política en ejecución, etc. esta es solo una forma de abordar el problema).  En e web config va algo como esto:

 

<!-- WSE 2.0 -->
    <section name="microsoft.web.services2" type="Microsoft.Web.Services2.Configuration.WebServicesConfiguration, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

En la parte de configuración - </configSections> (ojo, esto en  VS2003, en VS2005 puede variar)

y claro, la sección donde en realidad hago la configuración (en web config)

<microsoft.web.services2>
    <diagnostics>
      <detailedErrors enabled="true" />
      <trace enabled="true" />
      <policyTrace enabled="true"
       input="receivePolicy.webinfo"
       output="sendPolicy.webinfo"/>
    </diagnostics>
    <tokenIssuer>
      <autoIssueSecurityContextToken enabled="true" />
    </tokenIssuer>
    <policy>
      <cache name="policyCache.config" />
    </policy>
    <security>
      <x509 storeLocation="LocalMachine" verifyTrust="false" allowTestRoot="false" allowRevocationUrlRetrieval="true" allowUrlRetrieval="false" />
    </security>
  </microsoft.web.services2>

 

esta es la versión de desarrollo o de pruebas, como puede ver esta habilitado el trace de la política <policyTrace enabled="true"... y se esta generando archivos con información de las peticiones y las respuestas (input="receivePolicy.webinfo" output="sendPolicy.webinfo"). Para que estos archivos se puedan crear, son súper útiles, debe habilitarse la cuenta con la que esta corriendo la aplicación (ASP.NET generalmente) para que escriba en el directorio donde se esta ejecutando.

 

Lo otro importante de este segmento es el nombre de la política, en este caso policyCache.config. lo que se esta diciendo aquí es que en ese archivo config estará la definición completa de la política, pueden haber tantas políticas como se quiera. y claro, la seguridad usando X.509 y diciendo en que almacén esta el certificado (storeLocation),

 

Ahora el archivo de la política es como esto:

 

<?xml version="1.0" encoding="utf-8"?>
<policyDocument xmlns="http://schemas.microsoft.com/wse/2003/06/Policy">
  <mappings xmlns:wse="http://schemas.microsoft.com/wse/2003/06/Policy">
    <!--The following policy describes the policy requirements for the service: http://algo.asmx .-->
    <endpoint uri="algo.asmx">
      <defaultOperation>
        <request policy="" />
        <response policy="" />
        <fault policy="" />
      </defaultOperation>
    </endpoint>
    <endpoint uri=http://algo.asmx>
      <defaultOperation>
        <request policy="#Encrypt-X.509" />
        <response policy="" />
        <fault policy="" />
      </defaultOperation>
    </endpoint>
    <endpoint uri=http://algo.asmx>
      <defaultOperation>
        <request policy="#Encrypt-X.509" />
        <fault policy="" />
      </defaultOperation>
    </endpoint>
  </mappings>
  <policies xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy" xmlns:wssp="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:wse="http://schemas.microsoft.com/wse/2003/06/Policy" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
    <wsp:Policy wsu:Id="Encrypt-X.509">
        <!--The Confidentiality assertion is used to ensure that the SOAP Body is encrypted.-->
        <wssp:Confidentiality wsp:Usage="wsp:Required">
            <wssp:KeyInfo>
                <!--The SecurityToken element within the KeyInfo element describes which token type must be used for Encryption.-->
          <wssp:SecurityToken>
            <wssp:TokenType>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3</wssp:TokenType>
            <wssp:TokenIssuer>C=US, O="VeriSign, Inc.", OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)05, CN=VeriSign Class 3 Secure Server CA</wssp:TokenIssuer>
            <wssp:Claims>
              <!--By specifying the SubjectName claim, the policy system can look for a certificate with this subject name in the certificate store indicated in the application's configuration, such as LocalMachine or CurrentUser. The WSE X.509 Certificate Tool is useful for finding the correct values for this field.-->             <wssp:SubjectName MatchType="wssp:Exact">C=US, S=Wisconsin, L=Milwaukee, O=CLIENTE Company, OU=IS Technical Services, CN=www.cliente.com</wssp:SubjectName>
              <wssp:X509Extension OID="2.7.34.87" MatchType="wssp:Exact">0GJdsds3UdP3fsdtretterERFE4=</wssp:X509Extension>
            </wssp:Claims>
          </wssp:SecurityToken>
            </wssp:KeyInfo>
            <wssp:MessageParts Dialect="http://schemas.xmlsoap.org/2002/12/wsse#part">wsp:Body()</wssp:MessageParts>
        </wssp:Confidentiality>
    </wsp:Policy>
  </policies>
</policyDocument>

 

Donde he puesto en negrilla los valores que son claves, vienen del certificado y se pueden ubicar usando alguna de las herramientas enumeradas mas adelante.

 

Ya podía verse desde aquí la introducción a los conceptos como endpoint que luego serian aun mas completos en WCF pero eso es otra historia.

 

Herramientas.

Utilidad para ver información de los certificados (con código fuente)

Configurar una consola para gestionar los certificados digitales.

La herramienta de gestión de información de los certificados incluida con WSE*

Referencia

Como Firmar un Mensage usando un certificado X.509

 

Espero que esto le ahorre un par de horas, en resumen, el certificado se instala en una de las ubicaciones de búsqueda por defecto o toca cambiar la configuración en los archivos de config.  Luego se modifica el archivo webconfig y los archivos de políticas con la información que se saca del certificado usando una de las herramientas enumeradas, para poder revisar errores, se habilitan los servicios de trace.

 

Juan Peláez

Arquitecto de Software

 

keywords:  Web Services, WSE, certificados X.509, encriptar, firmar, servicios web, herramientas para configurar certificados digitales, políticas de configuración, certificados digitales. seguridad en servicios web, servicios seguros, identificación de clientes, identidad de clientes.

Tuesday, March 04, 2008 8:10:17 PM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
Visual Studio | VS2005 | Web Services
# Tuesday, February 12, 2008


Share

Al usar VS2005, una de las cosas con las que se encuentran los usuarios (que vienen de VS2003) es un nuevo modelo de compilación de los proyectos Web. (Web Site Project).   Hay varias diferencias entre un modelo y otro, desde el sitio donde se seleccionan para crear un nuevo proyecto hasta los resultados de compilación. Para muchas cosas esto es muy importante, así que aunque este no es un tema nuevo vuelvo a él para referencia propia y de otros.

En el modelo Web Application:

·          Toda la aplicación se compila en un solo assembly (dll) que queda en la carpeta bin.

·          Todas las referencias, y archivos se relacionan en el archivo del proyecto.

·          Todo el proceso de compilación usa MSBuild así que se puede personalizar lo que pasa antes, durante y después de la compilación.

En el Modelo Web Project:

Se generan muchos dlls que viven en el directorio bin, es un poco complicado saber para que es cada uno y cual es cual.

Para mi entonces la principal diferencia esta relacionada con la compilación, y aquí es donde esto se vuelve importante hoy. (3 años después de VS2005.)

Ahora estoy desarrollando algunos proyectos para Sharepoint 2007, hay muchas opciones pero una interesante es crear una aplicacion asp.net normal, agregar las referencias a Sharepoint y publicarla en el directorio _layouts.

Para hacer esto y que quede bien es obligatorio que el assembly de la aplicación web sea uno solo, es decir que sea un proyecto Web Application. , hay otros escenarios como usar Enterprise services en los que eso del ensamblado único también es importante. Asi que para mucha gente, esto resulto tan importante que se creo una adición para VS2005 que permite volver a tener los proyectos Web Applications.

A continuación algunas fotos de mi maquina de desarrollo (gracias clo J) que permiten ver las diferencias al momento de creación, los resultados de compilación y el deployment resultante en sharepoint.

Cuando se entra a Visual Studio y se selecciona nuevo web site se ve una pantalla como esta:

clip_image001

si se crea una pagina, un botón, una clase, se compila y se publica (Publish) se obtiene algo como esto:

clip_image002

Como pueden ver hay dos dlls, una llamada application Code y Otra llamada App_web_xxxx.dll.

Para tener el soporte para Web Applications se puede ir al sitio de Microsoft y rápidamente instalarlo siguiendo estos pasos:

1. Primero Aplicar este parche y

2. Luego descargar el complemento de aqui.

Luego de instalar esto se siguen teniendo los web projects, pero también esta ahora la opcion de web applications, solo que se encuentran en otro lado como se puede ver aquí:  (new Project, Web…)

clip_image003

Y al agregar la misma página, el mismo botón, la misma clase que en el proyecto anterior, compilar y publicar se obtiene esto:

clip_image004

Como se ve una sola dll con el mismo nombre del proyecto.

Pues bien, esta dll es la que se puede colocar en el carpeta BIN del directorio virtual del sitio sobre el que se esta creando la aplicación en sharepoint.

asi : (En este caso mi aplicación dentro del Sharepoint se llama ProjectServer)

clip_image005 

Y las páginas del compilado si quedan en el directorio layouts:

clip_image006

 

Personalmente me gustan los proyectos que usan webApplications, y hasta el momento no he encontrado ninguna restricción o algo que no pueda hacer, incluso en otro proyecto que usaba Enterprise Services desde una de las clases del Web Site fue perfecto para registrar con facilidad los componentes en la consola de COM+.

 

espero que sea de ayuda.

 

Juan Carlos Peláez

MCTS

Distributed Applications

 

Keywords: VS2005, Sharepoint, Web Application Projects, Web Projects, Sharepoint Applications, Juan Peláez, MCTS Distributed Applications. Build, deploy, Desarrollo para Sharepoint, Consultor en Sharepoint.

 

Tuesday, February 12, 2008 5:12:22 PM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
.net | Articulos de Desarrollo | Sharepoint | Visual Studio | VS2005
# Wednesday, December 12, 2007


Share

 

Se ha publicado el Preview de Diciembre de Blend 2.  Para descargarlo puede ir a este enlace.

En una revisión rápida para preparar un demo para Microsoft Andino he encontrado dos caracteristicas interesantes:

 

  • La Solución ahora puede manejar multiples proyectos lo que permitirar reconstruir y reusar controles que estaban en proyectos diferentes.
  • Ya se pueden cerrar los diferentes paneles con la acostumbrada x que tanto extrañamos antes.

 

Hay muchas más que se pueden leer en el mismo sitio de la descarga.

 

Un Comentario.

Al crear un nuevo proyecto ya se puede seleccionar el framework que desea usarse para compilar, esto ya estaba en la versión anterior (preview de septiembre), pero solo se habilitaba si se instalaba el framework 3.5. (Lo que por cierto traia muchos dolores de cabeza con proyectos nuevos que se crearan despues de instalar el Framework 3.5). Imagino que es por la misma razón que en esta versión actual todos los proyectos y soluciones que se crean son para VS2008, lo que tiene sentido pero es complicado para todos los que veniamos usando blend, queremos las mejoras de la ultima versión pero aún no estamos en VS2008.

Tambien puede verse como una excusa más para migrar a VS2008. (Otras en un post futuro...)

 

Espero que sea de ayuda

 

Juan Peláez

MCTS.

Miembro de Microsoft Andean Influencer Framework

Miembro de Microsoft Andean Speaker Group.

 

Keywords: VS2008, Blend 2, Juan Peláez., Problemas Proyectos Blend 2 Diciembre VS2005., Por que mi proyecto Blend no abre en VS2005, Visual Studio 2005.

Wednesday, December 12, 2007 5:31:04 PM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
Blend Expression | Silverlight | Visual Studio | VS2005 | VS2008 | WPF
# Monday, October 29, 2007


Share

Aunque de esto ya se ha hablado mucho algunas anotaciones importantes sobre paginas maestras:

 

Definición:

Una página maestra es una plantilla de diseño y distribución que se puede aplicar a un sitio, (basicamente un archivo del mismo tipo del aspx, pero que tiene la extensión .master y la directiva @master en vez de la directiva @page de las páginas normales) de esta forma se facilita el control del Look and Feel de todo el sitio en un solo punto y se garantiza que el sitio en todas sus páginas se va a ver igual.  Por ejemplo un menú o cualquier ayuda de navegación que deba estar en todo el sitio es un buen candidato para estar en la página maestra y no en cada página del sitio.

 

La página maestra incluye uno o varios controles de tipo asp:content.:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="server">

 

Creación de la página de contenido:

Las páginas de contenido en el proyecto de VS2005 que van a utilizar las página maestras son páginas del tipo Web Content Form, lo que implica que en la aplicación pueden haber páginas que usan el masterpage y otras que no, lo que dependiendo de cada escenario puede ser útil o no.

Cuando se crea la página Web Content Form, se obtiene algo como esto:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="ReportsApp._Default" MasterPageFile="~/ReportingApp.Master"%> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"  Runat="Server"> </asp:Content>

 

donde se nota que se está usando un master y que como ese contiene todo el código lo único que tengo aquí es mi área de trabajo que es el control asp:content.

En tiempo de diseño se ve la master al fondo más oscura y el área de diseño más clara al frente:

Ej: Web Content Form con Master Page

 

Asignación de la página maestra:

 

1. La página maestra puede asignarse a la página en la línea de directivas (la que empieza por @) usando el atributo MasterPageFile:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="ReportsApp._Default" MasterPageFile="~/ReportingApp.Master"%>

 

2. La pagina maestra puede asignarse a todo el sitio en el web.config de la aplicación web:

<configuration> <pages masterpagefile="~/ ReportingApp.master"> </configuration>

 

VS2008 y las Páginas maestras.

 

Bien, hasta aquí, poco o nada nuevo, pero algo que casi nadie sabe es que en VS2005 (Framework 2.0), se pueden utilizar masterpages anidadas, esto es una master que referencia a otro master page para tener más opciones de diseño, (es decir una masterpage que usa el atribute masterpagefile), por ejemplo se puede tener el master page del sitio, y luego el master del administrador y el master de reportes y que ambos apunten al master del sitio para tener, por ejemplo, encabezados iguales y cosas por el estilo. El problema era que en vs2005 no se tenía soporte gráfico en el editor para esto así que una vez que se ponía el código se perdía el editor. Pues bien, esto ha sido corregido en VS2008 ahora se tiene todo el poder del nuevo editor gráfico con las páginas maestras.

 

Otra cosa buena es que como VS2008 tiene soporte multitarget (para el framework 2 en adelante) no es necesario migrar todo el proyecto, solo se necesita abrir el VS2008, crear un proyecto en Framework 2.0 y usar las características del editor gráfico:

VS2008MultiTarget

 

Espero que sea de ayuda

 

Juan Peláez

MCTS.

Miembro del Microsoft Speakers Group Andino.

Miembro del Microsoft Influencer Framework.

 

Keyword: Paginas Maestras, Master Pages, VS2005, VS2008, Visual Studio 2008, Visual Studio 2005,  MasterPageFile, Como unificar diseño y estilos en sitios Web, ASP.NET 2.0, Microsoft.Net, Framework 2.0, Framework 3.5.

 

Monday, October 29, 2007 11:30:06 AM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
.net | Articulos de Desarrollo | ASP.NET | Visual Studio
# Monday, September 24, 2007


Share

En el CodePlex se ha publicado la version 1.0.10920.0 del toolkit de ajax, un conjunto de controles que en conjunto con las extensiones AJAX para ASP.Net facilitan la construcción de páginas web que utilicen los beneficios de AJAX, este conjunto de controles puede descargarse de este link más de 1000 bugs han sido correguidos en esta versión y se han incluido algunas mejoras especificas en controles como el calendario, el control de autocompletar, el slider entre otros.

Si usted viene usando este conjunto de controles no deje de actualizarse para poder tener todos los beneficios de las correcciones, muchas de ellas generadas por la comunidad ya que este proyecto es en la practica un proyecto Open source de Microsoft.

 

Hace poco en un evento de Microsoft Colombia se dió una discusión sobre AJAX y el toolkit, una recomendación importante para que el rendimiento de las aplicaciones AJAX sea eficiente es no solo tener el ultimo toolkit sino usar el toolkit script manager que mejora en casi un 80% el rendimiento de las aplicaciones que usan el script manager de la extension ajax de asp., esto es posible al combinar el script antes de enviarlo al cliente y eliminar todos los espacios en blanco del archivo, lo anterior genera un archivo .js más pequeño que se envia para el cliente. (que es lo que hace el toolkitscriptmanager)

 

Asegurese que la version de la referencia sea 1.0.10920, tambien puede darse cuenta que esta usando una versión más actualizada revisando los iconos en el panel de herramientas (toolbox).  Anexo imagen.

AJAX10920

 

Espero que sea de Ayuda

 

Juan Carlos Peláez

MCTS

Miembro del Speaker Group de Microsoft Andino.

Miembro del Grupo Influencers de Microsoft Colombia.

 

Keywords: AJAX, ATLAS, ASP.Net, Control Toolkit, Version 10920, Microsoft, Juan Peláez, Aplicaciones Web, Framework AJAX, Proyectos Web.

Monday, September 24, 2007 8:44:08 AM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
.net | AJAX | Articulos de Desarrollo | Java | Visual Studio
# Monday, September 10, 2007


Share

Microsoft ha anunciado el lanzamiento de la version final (1.0) de Silverlight un plugin para los diferentes browsers de internet que permite ejecutar código manejado y/o javascript con presentaciones innovadoras basadas en XAML, así como mejoras en aspectos como el video.

Una de las características principales que son necesarias para que esto sea exitoso y pueda competir realmente con Flash Player es que sea interoperable entre plataformas y entre los browsers. para lograr que funcione correctamente sobre Linux el grupo de Mono (en Novell) con Miguel Icaza a la cabeza han establecido una alianza para crear MoonLight, la version Linux, de SilverLight.

Algunas de las caracteristicas importantes de Silverlight incluyen:

  • · Render de XAML en el browser, animaciones, gráficos vectoriales y todos los juguetes que contiene esta tecnología.
  • · soporte para streaming desde cualquier web server, esta característica es muy útil ya que simplifica la infraestructura y la experiencia de usuario al implementar video en un sitio web.
  • · Soporte opcional para servidores de Streaming como Windows Media Server. (Producto gratuito que hace parte de Windows Server)
  • · Muchas mejoras en la experiencia del usuario al trabajar con Video en el Servidor.

También fue anunciado el lanzamiento de la versión final de Expression Encoder, una aplicación realmente buena para generar videos que pueden usarse con Silverlight, esta aplicación permite tomar un video de casi cualquier formato y convertirlo en WMV.

Sobre la propagación de este componente, algunos cálculos independientes demuestran que los sitios propiedad de Microsoft tocan las dos terceras partes de los usuarios de internet en un año, esto sin contar con muchos otros sitios como terra, MBL, etc. que ya están usando Silverlight en sus sitios garantizarán la rápida popularización de este componente y sus aplicaciones.  

Convirtiendo Archivos a XAML.

Como una de las características fundamentales de Silvelight es el uso de XAML para el manejo de los aspectos gráficos muchos necesitarán convertir sus activos (assets) de otras herramientas o formatos a XAML, para ello algunos han creado herramientas que siguen avanzado en ese tema, una bien recomendada (aunque no la he usado personalmente) está publicada en WPF-Graphics site

Gattaca y Silverlight.

La primera compañía colombiana en anunciar la capacidad de realizar proyectos con Expression Blend y  Visual Studio, así como proyectos que utilicen las funcionalidades de Silverlight es Gattaca S.A. Esto beneficia especialmente a los clientes de Gattaca en España, Colombia y Latinoamérica.

 

Pd:

Un buen ejemplo de cómo usar Silverlight: MSN's new Election '08 site, también creo que es un buen ejemplo de cómo debería ser usada la tecnología en un proceso electoral, como el que se avecina en Colombia,  sin embargo se requiere contenido de parte de los diferentes candidatos que es algo que parece que ninguno tiene.

 

Espero que sea de Ayuda.

 

Juan Carlos Peláez

MCTS

Miembro del Speaker Group de Microsoft Andino

Miembro del Influencers Group  Colombia.

 

Keywords: Silverlight, Microsoft Expression Encoder, Microsoft Expression Blend, Encoder, Visual Studio 2008, Convertir a XAML, Proyectos con Silverligth, Proyectos con Microsoft Expression.

Monday, September 10, 2007 11:42:58 AM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [1] - Trackback
.net | Articulos de Desarrollo | SilverLigth | Visual Studio | WPF
# Tuesday, August 21, 2007


Share

Otra de las áreas de interés de la Plataforma Microsoft son los servicios de SharePoint, que en la versión 3.0 corren en maquinas Windows 2003 y permiten construir rápidamente intranets, aplicaciones Web y Sistemas de Colaboración muy integrados con la plataforma Windows y Office.

Sin embargo para los desarrolladores que usamos Windows Vista (o Windows XP) en la máquina de desarrollo ha sido un poco complicado desarrollar webparts y otros tipos de proyectos para sharepoint ya que no instalan sobre Windows Vista, esto nos ha llevado a usar soluciones de maquinas virtuales y demás.

Sin embargo buscando en internet he encontrado la forma de instalar las extensiones de SharePoint para Visual Studio 2005, lo que simplifica mucho el desarrollo de estos proyectos sobre mi maquina de trabajo.

La solución es crear la siguiente llave en el registro para que el instalador se ejecute normalmente.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0]
"Sharepoint"="Installed"

Referencia: http://blogs.msdn.com/jannemattila/default.aspx ,

Yo lo acabo de probar y funcionó perfectamente. Aquí una foto de mi Visual Studio en Windows Vista listo para crear un proyecto de SharePoint.

SharePointVSExtensionsOnWindowsVista

Recursos

Windows SharePoint Services

Windows SharePoint Extensions for Visual Studio 2005.

Espero que sea de ayuda.

 

Actualizacion Nov 24 de 2008: Me ha escrito Jesus Arantegui desde España. Él ha descubierto que este procedimiento solo funciona cuando el visual studio estan en el mismo idioma que la extensiones de sharepoint, si uno baja las extensiones en ingles, por ejemplo, pero el VS esta en espanol, parecera estar bien instalado pero los proyectos no apareceran en la ventana de creacion de proyectos. 

 

Juan Carlos Peláez

MCTS.

Miembro del Microsoft Speaker Group Andino  

Miembro del Microsoft Influencers Group de Colombia.

KeyWords: Sharepoint Services 3.0,  Juan Peláez, .Net, Windows Vista, Extensiones para Visual Studio 2005, Instrucciones, Instalacion, Programación, Soluciones SharePoint, WSS 3.0. Web Parts, Templates

Tuesday, August 21, 2007 2:04:38 PM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
Articulos de Desarrollo | Sharepoint | Visual Studio | Windows Vista
# Monday, August 06, 2007


Share

El grupo de desarrollo de Microsoft ha liberado la versión beta 2 de visual studio 2008 así como la actualización del framework (version 3.5), también la actualización RC de Silverlight y una actualización del Control Toolkit de Ajax para VS2008, (sin mencionar el update de agosto del blend2 de expression).  Con todo esto cada vez estamos más cerca de la actualización final de las herramientas de desarrollo y siguiendo con la tendencia de los últimos meses (años) no solo son correcciones de algunos bugs, es toda una nueva forma de enfrentar los problemas de desarrollo con herramientas como LINQ, WWF, WCF y sobre todo Silverlight y WPF que seguramente cambiaran la forma como entendemos la experiencia del usuario en internet.

 

Todos los geeks que están conectados con scott guttie y su grupo de desarrollo han visto ya instrucciones y procedimientos de instalación, pero para aquellos que lo prefieren en español y paso a paso aquí está el paso a paso de poner mi maquina de pruebas en VS2008 y demás bits nuevos.

 

Nota: Yo hice todo esto en una maquina virtual corriendo Windows 2003 server, recomiendo mucho hacer esto para no tener problemas con la máquina de "producción" en la que están desarrollando actualmente, aunque todas las instalaciones son compatibles side by side es la mejor y más segura práctica. (También es posible descargar la maquina virtual ya instalada con todo en el mismo sitio de VS2008.)

 

Entonces:

 

1. Desinstale Visual Studio 2008 Beta 1, MSDN y Visual Studio express que tenía en esa máquina, también desinstale acrópolis.

2. En el sitio de Silverlight descargue la versión RC actualización Alpha 1.1. para desarrolladores, la instalación es muy simple e inteligente y me dejo la maquina en la ultima versión disponible., Download the Silverlight Alpha.

3. Gracias a Ivanov de Microsoft Colombia tuve acceso al DVD con los 3.5 gigas de Visual Studio 2008 Professional, gracias parce!! :-)

4. Para los que no tienen esa fortuna existen dos formas, la primera para los que no están detrás de firewalls:

a. Instale Microsoft Secure Content Downloader

b. Seleccione Visual Studio Pro SKU de la lista y dígale salvar como...

5. Para los que están detrás de un firewall deben usar la pagina de  Microsoft VS2008 Beta 2 donde pueden descargarla instalando un complemento de descargas inteligentes para IE7 o pueden hacer una descarga normal http (no recomiendo esto último son 3.5 gigas). Pueden descargar la imagen ISO del DVD o los archivos estan las versiones Team Sytem, Profesional, etc.

6. Yo instale Visual Studio 2008 Team System Beta 2, seleccione la versión full, no tuve ningún problema en la instalación aunque se tardo un rato pero creo que es más por mi maquina virtual.

7. Después de Instalar debe correrse un script que pueden descargar de aquí: Run this file post installation. , esto es muy importante porque permite tener proyectos en Ajax con el framework 2.0 (los que estan haciendo ahora) y también proyectos con el Framework 3.5, sin correr este archivo se tendrá el siguiente problema: al abrir el proyecto de ajax actual se establecerá una referencia con el framework 3.5 que hará obligatorio instalar esta versión del framework en la maquina donde se instala el proyecto. (A diferencia de otras versiones de VS como 2005 y 2003 el VS2008 permite desarrollar proyectos para cualquier versión del framework, pero eso será tema de otro blog).

8. Ahora, si su máquina alguna vez tuvo instalado algún beta vaya a la ventana de línea de comando de VS2008 en herramientas de VS2008, y ejecute el siguiente comando  "DevEnv /resetsettings" (esto solo debe hacerse por una vez y es importante porque garantiza el rendimiento adecuado del nuevo editor web incluido con VS2008).

 

Con esto ya podrá crear nuevos proyectos o cargar los actuales en Visual Studio 2008, en una rápida exploración de características solo en la creación de proyectos podrá ver la opción de crear proyectos para frameworks diferentes (Derecha arriba de la ventana de crear proyecto),  también encontrará los proyectos de tipo WCF y WWF sin tener que instalar complementos adicionales (y si, él sabe que no puede crear proyectos de WCF para el Framework 1.1). Los proyectos de Acrópolis (nueva versión de Windows Forms para WPF) merecen su propio blog y una de las mejores cosas: los proyectos de tester de Visual Studio Team System estan incluidos, no se si esto será asi en la versión final pero deberia serlo, los proyectos de pruebas son demasiado importantes para que estén por fuera en otra versión de visual studio.

 

Ahora, si lo que usted quiere (como yo) crear aplicaciones para internet con la última tecnología disponible no puede dejar de instalar los siguientes:

 

1. Expression Blend 2 August Preview

 

2. Silverlight Tools Alpha for VS2008.

 

Espero que sea de Ayuda.

Juan Carlos Peláez
MCTS

Miembro del Microsoft Speaker Group Andino  

Miembro del Microsoft Influencers Group de Colombia.

Keywords: VS2008 Beta 2, Instalación VS2008, Juan Peláez, .Net, Visual Studio, Framework 3.5, Visual Studio 2008, Instrucciones Instalación

Monday, August 06, 2007 11:05:07 AM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
.net | Articulos de Desarrollo | Pruebas | Visual Studio
# Friday, July 13, 2007


Share

Durante la presentación de Visual Studio Team System en Medellín tuve oportunidad de discutir con Freddy Angarita un problema que se presentaba en mi maquina con la ventana de Performace Explorer en Visual Studio, gracias a sus instrucciones ahora puedo ejecutar análisis de código, comparto aquí el problema y la solución.

Problema: No puedo ver la ventana Performance Explorer dentro de Visual Studio Team System, debido a ello no puedo iniciar análisis de rendimiento para mis aplicaciones.

Solución: ejecutar desde la línea de comandos de Visual Studio la instrucción devenv /resetskippkgs (Si es una maquina corriendo vista tiene que abrir esta consola como administrador).

Investigando un poco más esta línea de comando lo que hace es borrar todas las etiquetas skip VSPackage que se han colocado en el entorno de desarrollo, al eliminar las etiquetas el sistema carga nuevamente todos los Paquetes de VS, en este caso particular el de Análisis de Rendimiento (Performance Explorer)

Todas las funcionalidades Out-Of-The-Box de visual studio (editor de c#, por ejemplo) se implementan a través de VSPackage, por los tanto este mismo comportamiento y solución puede aplicar para otros elementos de visual studio como diseñadores de páginas, clases, etc, y no solo para visual studio team system sino para otras versiones como professional y express.

Espero que sea de utilidad

 

Juan Carlos Peláez
MCTS

Keywords: Visual Studio Team System, Visual Studio Express, Visual Studio Professional, Performance Explorer, Visual Basic, C#, Microsoft, Juan Peláez.

Friday, July 13, 2007 7:35:09 PM (SA Pacific Standard Time, UTC-05:00) 

Bookmark and Share

#    Comments [0] - Trackback
.net | Articulos de Desarrollo | Visual Studio
Contácteme
mail: jpelaez at juanpelaez.com
Actualizaciones en Twitter
FeedBurner
Maps
Locations of visitors to this page
Blogroll
[Feed] Eugenio Pace
Arquitecto del grupo Software as a Service en Microsoft
[Feed] Juan Diego Velazco
El mejor diseñador gráfico conocido y un gran tipo
[Feed] Scott Hanselman
Sponsors
Estadísticas
Total Posts: 93
This Year: 3
This Month: 1
This Week: 0
Comments: 42
Archivo
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Acerca de...

Aviso Legal
Las opiniones expresadas en este sitio representan el punto de vista de Juan Peláez sobre diferentes temas y no representan la posición de 3Metas Corp, Microsoft, Studiocom.com.Inc. o de cualquier otra compañía que haya contratado los servicios de consultoría de Juan Peláez

© Copyright 2010
Juan Carlos Peláez
Sign In

Technorati Profile
All Content © 2010, Juan Carlos Peláez
El tema 'Business' para DasBlog fue creado por Christoph De Baene (delarou) y modificado para español por Juan Peláez
Powered by FeedBurner