September 2006 - Posts

Web Client Software Factory something you may have to look!

For me Pattern & Practices always have been a great resource. Since the release of this site, I have been following closely all the guides and they have do so much for me and also for my career. Since the release of the application blocks, all over to software factory’s I think that Patter & Practices Team have done a significant job influencing the use and adoption of best practices in several areas of software development.

Kudos to Ron Jacobs, Edward Jezierski and the rest of the team.

Right know I fell very excited for the new Web Client Software Factory announcement, yes I was waiting for it and know we have it in the CodePlex Community Site just for this project. The Web Client Software Factory is a guidance offering (under development) that will provide comprehensive architecture guidance to help us build web solutions using Microsoft Platform (ASP.NET, ASP.NET AJAX and Workflow Foundation). Just like the Smart Client Software Factory but for the web.

So enjoy and have fun!

Posted by haaron | 1 comment(s)
Filed under:

happens to everyone

Today I was doing a SharePoint WebCast for Latin-American audience and all the presentation crush!!!!. I was using Windows Vista Ultimate RC1 and Office 2007 Beta 2 install on my laptop, I have a week with this configuration and I was very exited because works fine and until today a didn’t have any issue. In the morning I did a basic testing with the Live Communication Client app (the presenter application) and work pretty good, uploading my presentation and testing my VPC’s was straight forward. But when I was doing my presentation just a few hours ago, after I present myself and talk about the new enhancement of Office 2007, bang!!!! there was a awful crash waiting me. My Windows Vista freeze. My VPC’s also. Awful!!!

Well my phone line was working fine but well I have to apologies to all the people that was attending and re schedule for November. Thanks Brandon for your support.

Well I guess happen to everyone check this video.

mmmm, should I install Windows XP SP2 and Office 2003 SP2 back again?

Posted by haaron | with no comments
Filed under:

VS Support in Windows Vista

Somasegar's WebLog always with big announcement. He is announcing the Service Pack 1 of Visual Studio 2005. Check this post. And also very important news for developer.

  • VS2005 will have support for Windows Vista. ( not surprising it must have…)
  • Windows Vista will ship with .NET Framework 3.0.
  • VS.NET 2003 and VS.NET 2003 will not have support in Windows Vista.
  • And also VB6 will have support. ( that’s surprising…)
Posted by haaron | 2 comment(s)
Filed under:

Plan inicial de la versión 3 de Enterprise Library

Se ve muy interesante el alcance identificado para la nueva versión de Enterprise Library. Se piensa integrar “strong naming”, mejoras para construir nuestros propios bloques aplicativos, integración de WCF para algunos bloques, configuraciones dependiendo del ambiente (desarrollo, testing, producción) etc. Mejor porque no revisas este post “Enterprise Library v3: The Plan” de Tom Hollander.

Si te quieres enrolar en este proceso te recomiendo te unas a la Comunidad Enterprise Library.

Por cierto, hoy es el webcast de Luis Du Solier regístrate aquí:

Arquitectura e implementación de la herramienta de colaboración Microsoft SharePoint

Posted by haaron | 1 comment(s)

Nice SharePoint Videos

Reading http://msmvps.com/blogs I find a excellent resource for SharePoint people. Check this site: http://www.sharepoint-videos.com/ has nice content, not for developers but great for IT Pros.

Check it out!

Posted by haaron | with no comments

How to enable a enterprise collaboration platform with Microsoft Technologies WebCast

In this September, I will have the opportunity to share information about how Microsoft technologies can help your business and IT people to establish a collaboration strategy for all the enterprise. In this session How to enable a enterprise collaboration platform with Microsoft Technologies we will discuss the big issues that people like you and my have to solve just for promote the agility and a digital approach to consolidate enterprise information, enhance communication and dramatically reduce cost.

This webcast will be in Spanish language and base on Office 2007 Beta 2 server and client products. My friend Luis Du Solier a SharePoint MVP in Mexico also is doing a webcast Microsoft SharePoint Architecture and Implementation.

Join us here!!

Posted by haaron | with no comments

Deploying Reporting and SharePoint Services in the same “Box”

This week some coworkers had this issue related to deploying SQL Server Reporting Services and Windows SharePoint Services in the same box. Is very easy to solve. The problem is that WSS takes control off the IIS Web Site so if you install another virtual directories for example those required for Reporting Services they doesn’t work properly. You need to take some extra steps like create one application pool for Reporting Services.

This may help: Deploying Reporting Services and Windows SharePoint Services Side-by-Side 

Posted by haaron | 2 comment(s)

Next meeting, San Diego .NET User Group

Are you ready? The next Thursday Paul Litwin will speak about ASP.NET 2.0.

The agenda is:

  • 6:30pm - 7:00pm: ASP/ASP.Net Q & A; Announcements
  • 7:00pm - 8:30pm: ASP.NET 2.0 Data Control Tips and Tricks

Where?

Microsoft SoCal Office
9255 Towne Centre Drive, 4th Floor,
San Diego, CA 92121
Click for map

The San Diego .NET User Group.

Paul Litwin is a developer specializing in ASP, ASP.NET, Visual Basic, C#, SQL Server, and related technologies. Paul is a programming manager with Fred Hutchinson Cancer Research Center in Seattle. He is also the owner of Deep Training, a developer owned training company specializing in .NET developer training (www.deeptraining.com ). Paul has authored a number of books including ASP.NET for Developers (SAMS) and Access 2002 Enterprise Developer's Handbook (SYBEX) and has written articles in a variety of magazines, including MSDN Magazine and PC World. Paul is the conference chair of Microsoft ASP.NET Connections, a Microsoft MVP, and a member of the INETA Speakers Bureau.

Cheers!!

Posted by haaron | with no comments
Filed under:

Las Celulas Academicas una iniciativa para desarrollar el potencial de estudiantes

Como parte de las iniciativas y esfuerzos académicos que DPE de Microsoft a nivel Latinoamérica está haciendo para hacer llegar las más innovadoras tecnologías a estudiantes y maestros de universidades en el país han creado el concepto de Células Académicas. Si eres un coordinador de carrera o maestro interesado en apoyar a tus estudiantes en hacerles llegar herramientas de software para desarrollar su potencial al máximo entonces este mensaje es para ti.

¿Qué es una Célula Académica?

  • Una Célula Académica es una comunidad de estudio formado por alumnos y profesores, unidos por el objetivo común de desarrollar, aprender y potenciar sus carreras de una manera eficaz.
  • Las Células Académicas ofrecen una oportunidad única de aprender y reforzar conceptos y técnicas reconocidas por el mercado de TI.
  • Las Células Académicas reciben apoyo de Microsoft a través de recursos de autoestudio y materiales como libros, software, etc.
  • El programa permite a los miembros de las células mantener contacto con lo más nuevo de las tecnologías y programas de Microsoft, además de proporcionar una excelente red entre los mismos con el apoyo de los Student Partners y Microsoft

Beneficios

  • Kit de bienvenida para la Célula Académica
  • Certificado de participación en el programa Células Académicas
  • Contacto directo con Microsoft
  • Acceso a recursos de capacitación y software
  • Apoyo con materiales (libros, cds, etc) para eventos organizados por la célula
  • Acceso a programas de Beta Tester
  • Premios por desempeño
  • Adquisición de habilidades técnicas
  • Reconocimiento como Student Partner a los mejores estudiantes de México

En México hemos tenido buenos resultados al aplicar esta iniciativa. SI quieres mantenerte al tanto de estas iniciativa entonces accede a este link: http://academiccells.spaces.live.com/ o mejor aun si quieres crear una célula en tu universidad contáctate con Armando Halbinguer (armanhal@microsoft.com) Gerente Académico de Microsoft México.

Saludos!

Posted by haaron | 3 comment(s)

Entendiendo el uso de Formatos Electronicos con InfoPath 2007 y Forms Services de MOSS 2007

Parece que no, pero sí que lo es. Seguro te preguntaras de qué estoy hablando pero en un segundo lo sabrás. Todas las organizaciones que tú y yo conocemos hacen uso de formatos en papel para solicitar el llenado de información. Lo vivimos todos los días en todas partes. En el banco cuando solicitamos un crédito, en la recepción cuando nos registramos en las oficinas del cliente, en la universidad cuando solicitamos alguna asignatura o en cualquier oficina de gobierno donde requerimos atención o solicitar algún servicio. Seguramente contralores o jefes de departamentos financieros de cualquier institución nos podrán decir el costo total anual que el papel representa para una organización.

Claro, el papel sigue siendo un documento que para ciertos procesos tiene una validez legal, hablo de contratos, cheques, dictámenes y comprobantes. Sin embargo, en organizaciones, empresas y gobiernos, existen procesos que a pesar de no tener un impacto de misión crítica para la organización, al año, estos demandan y consumen grandes cantidades de papel que terminan almacenados en un espacio físico donde clasificarlos, buscarlos y encontrarlos a veces no es de lo más sencillo.

El concepto de digitalizar información ha venido a revolucionar la forma en que se captura la misma, hoy en día, para algunos procesos hacemos uso de sistemas de información y páginas dinámicas en Internet para realizar la captura de datos y consolidar la información de manera electrónica. Desafortunadamente el costo de evaluar, diseñar, desarrollar, implementar y operar este tipo de soluciones es potencialmente costoso y la mayoría de las veces exponencialmente más caro.

Introducción a Microsoft Office InfoPath

Microsoft Office InfoPath es un producto de software que facilita la captura de información de manera electrónica, auxilia a los equipos y organizaciones en la creación e implementación de formularios dinámicos que conectan a las personas con tus aplicaciones internas o de línea de negocio y a procesos empresariales con la finalidad de recolectar de manera clara y eficiente la información, utilizando los estándares o metadatos definidos acorde a tus requerimientos. En otras palabras combinar la versatilidad de un software de tipo procesador de palabras con la estructura definida en cualquier formato, nos da la posibilidad de habilitar el uso de formatos electrónicos que su información pueda fácilmente integrarse a otros sistemas, procesos empresariales automatizados o escenarios de colaboración. El formato nativo con el que InfoPath trabaja es XML de tal manera que cualquier formato que diseñas y del cual recolectes información lo tendrás disponible en formato XML para su sencilla distribución y conexión con cualquier otra aplicación de negocio que soporte comunicación vía servicios web y soporte XML.

  • Desarrolla y administra soluciones de manera más fácil: InfoPath ofrece todo un ambiente de desarrollo robusto para crear y adaptar rápidamente formularios de captura de información. Cabe mencionar que no estamos hablando de un cambio radical en cuanto a lenguajes de programación, sino más bien hablamos de todo un ambiente de desarrollo enfocado en facilitar la creación de formularios de captura que permita a tu organización un cierto nivel de flexibilidad para construir rápidamente soluciones que te permitan recopilar información de cualquier tipo y en algunos casos integrarla a tus procesos o sistemas, como consecuencia tu organización tendrá una tecnología que le permitirá ser más flexible a la hora de responder con agilidad a los cambios que el entorno demanda.
  • Conecta personas, información y sistemas: InfoPath ofrece soporte para habilitar escenarios de integración y comunicación con sistemas mediante el uso de servicios Web, ofreciendo la capacidad de obtener de otras fuentes de datos información para reforzar la integridad de los datos y también para integrar en los sistemas actuales nueva información recopilada.
  • Captura información de manera flexible y clara: InfoPath provee de una experiencia de captura muy similar a la de Microsoft Word con el valor adicional de mantener una estructura de datos para la captura que puede contener validaciones de datos, comparaciones, filtrados, eventos, conexiones, búsquedas, etc. sin tener que escribir una sola línea de código de programación.

Debido a que InfoPath es un producto de la suite de Office encontramos un conjunto de funcionalidad adicional que nos permite enriquecer y facilitar la integración de tecnologías adicionales de la plataforma Microsoft. Por ejemplo en la nueva versión de InfoPath 2007 actualmente Beta encontramos una mayor integración con los mismos productos de la familia Office 2007 como el “Document Information Panel” (ver este post) de Word, Power Point o Excel, el llenado y envío de formularios utilizando Outlook 2007. Productos SharePoint Server 2003, 2007 Beta, Windows Rights Management Services (ver este post) , Firma Digital con Windows Certificate Autority (ver este post) por ejemplo nos permiten extender funcionalidad y construir una solución rápidamente integrando poderosas capacidades existentes en los productos adicionales de la plataforma Microsoft.

Veamos un ejemplo práctico

No hace mucho me encontré con un escenario donde se requería levantar un inventario de equipo de una organización con más de 300 empleados de oficina. La forma que tuvieron de atacar esta necesidad fue crear un formato electrónico en Excel solicitando la información que se requería. Se imprimieron una gran cantidad de juegos y se repartieron entre un equipo de 10 personas el trabajo para ir físicamente con cada usuario y llenar el formato a mano. Una vez realizado el inventario, procedieron a contar ahora si como acaba de suceder en México “voto por voto, casilla por casilla”, me refiero a que realizaron un conteo manual de la información recolectada y generaron los reportes necesarios para poder tener información veraz. El problema es que el proceso duro aproximadamente 6 horas.

En el siguiente ejemplo veamos como con InfoPath 2007 Beta y algunas tecnologías adicionales de la plataforma Microsoft podemos mejorar drásticamente el tiempo de este proceso.

IP01.jpg 

En pantalla vemos la superficie de diseño de InfoPath en donde contamos con una serie de controles y objetos que podemos integrar a nuestro formulario. En este caso tengo controles de tipo cuadros de texto, cajas de selección de datos, tabla de campos repetitiva y campos de tipo expresión los cuales son cálculos que solamente muestran el resultado de un cálculo.

Pero veamos que otras tareas de diseño podemos realizar con InfoPath.

 IP02.jpg

Tenemos una gran variedad de elementos que nos permiten diseñar y construir formularios muy completos. Contamos con las siguientes secciones:

  • Diseño: prácticamente nos ofrece plantillas de tablas para organizar nuestro contenido dentro de un formulario.
  • Controles: un catalogo de controles que podemos utilizar para capturar información. Los que mas utilizamos son la caja de texto, el campo de lista desplegable, tenemos el control de archivo (nos permite incluir cualquier archivo dentro de nuestro formulario), etc.
  • Orígenes de datos: aquí es donde podemos ver reflejada la estructura de datos que nuestro formulario InfoPath va almacenando. Esta estructura se puede integrar por cada control que vamos incluyendo en nuestro formulario sin embargo también podemos generar nuestro origen de datos basado en algún origen de datos como una tabla o un servicio web.
  • Vistas: tenemos la noción de múltiples vistas para visualizar la información, puedes ver a infopath como un contenedor de vistas en donde cada vista es una hoja de tu formato.
  • Verificador de diseño: es una herramienta útil porque verifica problemas de diseño de nuestra estructura de datos, nos puede informar y validar que nuestra estructura se encuentra bien ordenada y que no existan campos repetidos en ella, entre otro tipo de verificaciones.
  • Publicar plantilla de formulario: Esta es una opción que nos permite o hacer una especie de “Submmit” a mecanismos de recepción como bibliotecas de formulario en SharePoint, Bandejas de correo electrónico, servicios web, etc.

  

   

Si vemos de nuevo nuestro formulario diseñado identificaremos controles de tipo cuadros de texto, listas desplegables, imágenes, expresiones y tablas.

IP03.jpg 

Cada uno de estos controles cuenta con una extensa ventana de propiedades que podemos manualmente utilizar para definir comportamientos adicionales o validaciones requeridas. Esta ventana de propiedades varia por el tipo de control seleccionado.

IP04.jpg    

Como podemos ver para un control de tipo lista desplegable de datos podemos especificar la información manualmente o podemos conectarnos a un origen de datos externo para poder buscar valores que provengan de listas de sharepoint, tablas de una base de datos o algún método de un servicio web. Tenemos la oportunidad de asociar reglas de validación para configurar el comportamiento de nuestro control.

IP05.jpg 

Contamos también con la noción de reglas que son bloques de funcionalidad que podemos configurar dependiendo de condiciones que se puedan cumplir, esta funcionalidad son acciones muy concretas que pueden dispararse cuando nuestra regla se cumpla:

IP06.jpg   

Claro que contamos con mucha funcionalidad adicional que podemos configurar, lo importante aquí es que tratamos de omitir al máximo el escribir código. Solamente en escenarios muy concretos nos vemos en la necesidad de programar sobre InfoPath, la buena noticia es que podemos hacerlo con C# o Visual Basic .NET dándonos la ventaja de integrar todo el poder de la Plataforma .NET en nuestros formularios InfoPath.

Continuando con nuestro ejemplo InfoPath en acción:

Dado el formulario diseñado veamos como podemos utilizar el cliente de InfoPath para proveer un formulario al usuario con la finalidad de recopilar información de un equipo, supongamos que deseamos hacer un inventario de equipo computacional en toda la empresa, este formulario nos permitirá solicitarle al usuario dicha información.

InfoPath trabaja de la mano con SharePoint v2, v3 para que fácilmente pueda ser desplegado por toda la organización.

IP07.jpg 

Automáticamente se cargará una instancia del formulario InfoPath. Solicitando la captura de la información de inventario de equipo. Cabe mencionar que hay algunos campos que muestran un asterisco rojo haciendo notar que esos son campos requeridos para poder procesar el formulario. Adicional tenemos por ahí un cuadro de lista desplegable con la finalidad de seleccionar de la lista un departamento. La información de esta lista puede provenir de bases de datos externas, servicios web remotos, archivos xml o listas de SharePoint.

IP10.jpg 

Al terminar de guardar la información entonces nuestro formulario se publica automáticamente sobre la biblioteca de formularios correspondiente. Y creando las vistas pertinentes podemos contar con una visualización interesante de la información.

IP11.jpg 

Otra funcionalidad interesante es que así como cualquier otro documento de la familia office lo podemos trabajar fuera de línea, lo mismo sucede con InfoPath. Por esta razón es que se dice que InfoPath nos permite construir aplicaciones Cliente Inteligente. Imagina que tienes un complejo formulario de captura para el registro de una solicitud de crédito. Puedes durante el día llevarte una solicitud y estarla llenando en cualquier momento, cuando regresas a la oficina y te conectas a la red, entonces podrás subir tu formulario de nuevo a la biblioteca de formularios de SharePoint.

Veamos el formato base en XML producto del llenado de un formulario que se encuentra fuera de línea almacenado en mi escritorio. Cabe mencionar que InfoPath cuenta con una gran variedad de controles que podemos utilizar para habilitar una mejor captura y que a su vez, InfoPath se encarga de transformar lo capturado para registrarlo en su correspondiente nodo XML.  

IP12.jpg    

Las ventajas de este modelo es que podemos llevarnos almacenado localmente nuestro formulario InfoPath y trabajar totalmente desconectado de la red corporativa. Claro que para poder habilitar este escenario el único requisito es contar con el paquete instalado InfoPath 2003 de la familia Office System 2003. Sin embargo, en la nueva versión de SharePoint Portal Server llamada Microsoft Office SharePoint Server 2007 (MOSS2007) tenemos el concepto de Form Services.

Form Services

Form Services es un servicio de procesado y dibujado de formularios InfoPath para permitir a un navegador de Internet ser el contenedor de formularios InfoPath y utilizar toda su funcionalidad. Microsoft esta consiente que no todo mundo cuenta con InfoPath por esa razón creo la versión del lado de servidor de InfoPath. Form Services viene gratuito dentro de MOSS2007. Solamente configuramos dentro de nuestras configuración avanzada de nuestra biblioteca de formularios la opción de ver sobre el navegador nuestro formulario InfoPath:

IP13.jpg 

Veamos la diferencia cuando selecciono de la biblioteca de formularios que deseamos crear un nuevo formulario:

IP14.jpg    

Justo después de cargar se presenta sobre nuestro navegador nuestro formulario InfoPath:

IP15.jpg 

Nosotros trabajamos con el tal como lo hacemos con el paquete de office. Claro que hay funcionalidad que actualmente se queda corta, sin embargo para captura de información de texto este escenario puede ser muy factible.

Firma Digital de un Formulario InfoPath

Una de las funcionalidades interesantes de InfoPath es la posibilidad de agregar firmas digitales. El mismo concepto descrito a este post te puede dar la noción de cómo en InfoPath podemos habilitar firmado digital, flujos de trabajo con firmas digitales, etc.

IP17.jpg 

Resumen

Con la plataforma de colaboración de Microsoft podemos construir soluciones rápidamente y basadas en los productos que ya tenemos implementados en nuestra organización. El éxito radica en como combinamos las capacidades de la plataforma. InfoPath es una posibilidad muy interesante para hacer frente con éxito a escenarios de captura, validación y recopilación de información de una manera abierta y productiva.

Los 7 estilos de liderazgo en la empresa

Producto de las enseñanzas de los últimos meses me puse a investigar información sobre estilos de liderazgo ya que aprender a identificar tu propio estilo así como el de los demás nos permite reconocer fortalezas, debilidades y entender mejor como manejarnos en un grupo de este tipo. En definitiva lo que emociona es saber dónde estoy y hasta donde quiero llegar en estos aspectos.

Los siete estilos de liderazgo son:

El profeta (es un generador de ideas)

Es el visionario que rompe moldes y concentra sus energías en ideas innovadoras que por lo general acaban en el nacimiento de una nueva empresa. Sus características son:

  • Es sumamente proactivo
  • No escucha a los demás por tener muy fijas sus metas y objetivos
  • Empieza su trabajo con un objetivo en mente
  • Le gusta el cambio y la innovación
  • Corre muchos riesgos
  • Posee ideas visionarias y de largo alcance
  • Está dispuesto a sacrificar grandes cantidades de tiempo y energía con tal de ver triunfar sus ideas
  • Tiene la costumbre de aislarse durante largos periodos de tiempo para dedicarse a perfeccionar sus ideas
  • Los demás lo consideran un poco diferente o loco
  • Es una persona muy desorganizada y los detalles le fastidian

El bárbaro (no se detiene por nada)

Es el que domina la crisis, el conquistador que no le importan los medios, alcanza su objetivo a como dé lugar. Sus características son:

  • Es sumamente Proactivo
  • Empieza a trabajar con un objetivo en mente
  • No escucha a los demás
  • Se siente a gusto y con plena autoridad cuando toma decisiones
  • Es amigo de la acción y tiene poca paciencia cuando se trata de administrar
  • Se le acusa de ser autoritario
  • Tiene sensación de urgencia y crisis

El constructor y explorador (hace crecer a la empresa)

Es el que desarrolla los sistemas y las estructuras para el crecimiento de cualquier organización, pasan del orden o a la colaboración y trabajo en equipo. Sus características son:

  • Disfruta con el trabajo verdadero de su empresa
  • Le gusta que se mida el resultado de su trabajo
  • Escucha antes de ser escuchado
  • Pone en práctica el modelo: ganar-ganar
  • Es un comunicador convincente y entusiasta
  • Opina que su empresa debería dedicar un esfuerzo mayor para su expansión
  • Le gusta tomar las decisiones con prontitud, actuar y ver los resultados enseguida
  • No le gustan las comisiones ni perder el tiempo sentado hablando
  • Considera que su compañía padece un exceso de papeleo

El administrador (no le importa el crecimiento)

Es el que defiende el territorio ganado, acaba con la innovación al implantar sistemas rígidos de control. Sus características son:

  • Se considera un experto en procedimientos, procesos y sistemas de dirección empresarial
  • Tiene como prioridades máximas el orden, la coherencia y la actuación armoniosa
  • Dedica más tiempo a estudiar lo ocurrido, según se refleja en los informes financieros, por ejemplo, que al futuro crecimiento en productos, servicios o clientes
  • No es Proactivo
  • No tiene a la Calidad como un concepto fundamental en el desarrollo de la empresa.

El burócrata (le fascinan los papeles)

Es el que acaba totalmente la creatividad y acarrea la merma de la expansión. Sus características son:

  • Pasa la mayor parte de su tiempo en reuniones donde se analiza lo que ya sucedió o debería haber sucedido
  • No consigue recordar cuándo fue la última vez que intervino en el desarrollo de un nuevo producto o servicio
  • Opina que son controles más estrictos lo que se necesita para resolver la mayor parte de los problemas de su organización
  • Pasa más tiempo atendiendo a sus jefes que a las ejecutivos de venta y jefes de producción
  • Le preocupa más lo que opinen de él y de su compañía los grandes analistas que sus propios clientes
  • Piensa que las estructuras son más importantes que los recursos humanos
  • Le gusta centralizar el poder
  • Impone decisiones
  • Se va por el exceso de especialización
  • No es nada proactivo
  • No le gusta el cambio ni la innovación

El aristócrata (mata negocio)

Es el que hereda la riqueza y desintegra la empresa. Sus características son:

  • Dedica la mayor parte de su tiempo a los asuntos financieros, a la planificación estratégica y a reestructurar la organización, pero no a quienes producen o venden el producto
  • Tiene un despacho lujoso, decorado con obras de arte y pasa mucho tiempo en lujosas reuniones sociales
  • Cree que sólo él y un pequeño círculo de consejeros son capaces de comprender la estrategia de la empresa
  • No escucha a los demás
  • No es proactivo

El sinergista (este es el mero mero)

Mantiene el equilibrio, toma las mejores características de los primero cuatro y unifica criterios para el desarrollo y crecimiento de la organización. El Sinergista o líder sinérgico es el que se ha librado de sus tendencias condicionadas hacia un estilo, y ha asimilado los estilos de liderazgo diferentes que la compañía necesita a medida que recorre su ciclo vital. En las organizaciones maduras mejor dirigidas, hay sinergismo. Consiste en equilibrar las características del Profeta, Bárbaro, Constructor y Explorador y el Administrador. Pero, lo más importante del Sinergista, es que sabe crear la unidad social. El líder Sinergista gobierna la balanza, unas veces añade peso a un lado y otras veces al contrario, siempre atento, siempre procurando nivelar las fuerzas.

Posted by haaron | 5 comment(s)
Filed under:

User Experience something to be aware about

Es una orgullo para mi el blogear que mi buen amigo Jaime Sánchez Beltrán del departamento DPE en Microsoft México ha publicado en la edición septiembre-octubre del 2006 para la revista de distribucion nacional Software Guru un artículo sobre Experiencia de Usuario, un nuevo aspecto que en nuestra industria últimamente se ha venido posicionando y que con la liberación de Windows Vista y WPF podemos explotar al máximo para construir soluciones de información con mejores opciones y características visuales que nos permitan mejorar la calidad y usabilidad de nuestros desarrollos. En este articulo se describe el concepto e importancia de “User Experiencie” y vale la pena leerlo, esta entretenido y con información interesante.

Saludos.

Posted by haaron | 1 comment(s)

Cosmic coincidences about SharePoint 2007 and Office 2007 offline capabilities

I just notice that my friend Luis Du Solier also wrote about SharePoint 2007 and Outlook 2007 offline capabilities, check this post: How Microsoft Outlook 2007 and SharePoint 2007 can work together...

It’s estrange because i wrote just a few minutes this post.

Indifferent jejj

Posted by haaron | 1 comment(s)

Bases del trabajo desconectado con SharePoint 2007 y Outlook 2007

A pesar de que ya sabía que en la nueva versión de Outlook 2007 podemos mantener contenido persistente proveniente de SharePoint 2007 para trabajo fuera de línea como listas y bibliotecas de documento, no me había tocado verlo en acción de manera predeterminada. En la empresa donde actualmente trabajo hemos tenido la oportunidad de implementar MOSS 2007 Beta 2 con algunos clientes estratégicos de Microsoft México teniendo efectivos resultados al respecto y la ultima implementación que hicimos fue hace aproximadamente un mes en nuestras oficinas. Cabe mencionar que yo nada mas lo instale y lo prepare con una configuración muy básica, el buen Luis Du Solier se encargó de hacerle un tunning que bien le hacía falta y oh!!! sorpresa.

Debido a que algunos consultores estamos “On the road” no contamos con acceso a la Intranet ya que aun no hemos terminado de configurar nuestra VPN para tener acceso desde fuera. El caso es que ayer por la tarde estuve físicamente en una de nuestras oficinas y decidí publicar en Share Documents de My Space unos documentos que considero interesantes y que puse a disponibilidad de otros. La sorpresa para mí fue que hoy al revisar mi correo electrónico en Outllok 2007 me encuentro con esto:

OL01.jpg

Si resulta que me traje una copia desconectada de mi biblioteca de documentos de mi sitio personal. Cuanto habilitamos nuestro sitio personal todos tenemos algunos objetos de sharepoint disponibles para personalizar y ordenar nuestro contenido e información digital. Lo interesante es que con esta nueva versión podemos suscribir a listas o bibliotecas de documentos enteras y descargar su contenido de manera local para trabajar desconectado.

OL02.jpg

Interesante funcionalidad, muy básica por cierto, pero interesante. Para verdaderos escenarios de colaboración offline contamos con Groove Server y Groove Client. Pero eso, es otra historia.

Gracias equipo de producto.

Posted by haaron | with no comments

Las tecnologías de información como catalizadores del cambio en el gobierno

Rescatar la seguridad púbica es una de las tres prioridades que nuestro nuevo presidente electo ha decidido contemplar ahora que inicia su gestión.  Erradicar la pobreza y generar empleo son las otras dos prioridades. Es curioso pero estos pequeños datos de información son importantes conocer para empresas que ofrecen soluciones de tecnologías de información para el sector gobierno.  Faltan tres meses para la transición y eso me dice que tenemos tres meses para pensar en tácticas sobre como alinearnos a estas tres prioridades y seguir manteniendo el mismo rumbo planteado en la estrategia de negocio que en la empresa donde actualmente trabajo nos trazamos desde que iniciamos operaciones.

Pensar en cómo las TI pudiesen soportar las prioridades gubernamentales es un proceso de planeación sumamente interesante por todas las variables involucradas y claro porque el sector gobierno cuenta con escenarios complejos por naturaleza. Aquí ya no hablo de plataformas tecnológicas sino mas bien de planeación estratégica para hacer frente con éxito a los retos del país a través de un plan de gobierno razonable. Lo que si de manera contundente afirmo es lo siguiente: "Las inversiones en tecnologías deben ser catalizadores del cambio".

Mi percepción para este tipo de cuestionamientos o reflexiones se inclina más por el lado de regulaciones, metodologías, procesos y normas que puedan regir el orden operacional basado en estándares probados. Conforme nuestra experiencia hemos encontrado algunos componentes que constituyen a una dirección general de tecnologías de información y es importante identificar en donde recaen algunas regulaciones. Por supuesto que esto puede variar ya que estas nociones dependen del sector y son patrones estructurales encontrados en gobiernos.

Dicho esto veamos el siguiente diagrama:

Componentes de una Direccion General de Tecnologias de Infomacion

Al hablar del componente directivo hablamos de todas aquellas acciones relacionadas con encontrar la ecuación de valor de una dirección general y él como alinearla para que las tecnologías de información sean un aliado estratégico para un gobierno. Aquí hablamos de administración estratégica, de conceptos como:

  • Alineación al plan de gobierno
  • Metas y objetivos
  • Evaluación del entorno actual
  • Costo Total de la Propiedad
  • Retorno de Inversión

 

Al hablar del componente operacional hablamos de aspectos tecnológicos y de operación que materialicen la ecuación de valor en acciones concretas e inversiones de infraestructura de hardware y de software para soportar lo planeado. Aquí hablamos de arquitectura tecnológicas, de conceptos como:

  • Infraestructura de Hardware
  • Arquitectura de Software
  • Plataforma Tecnológica
  • Desarrollo

 

 

Solamente teniendo bien identificado los motivos por los cuales una dirección general de tecnologías de información es estratégica para una gestión, entonces podremos determinar que plataformas  y arquitecturas tecnológicas podrán ser las más rentables y pertinentes para alcanzar las meta deseadas.

Identificando y entendiendo el negocio

Hay una frase que Rick Greenwood un experto en el desarrollo de estándares para el cumplimiento de regulaciones internacionales como Gramm Leach Bliley, Sarbanes Oxley y FASB dice:  "La propuesta de valor no radica en las tecnologías; si no mas bien radica en la habilidad de entender al negocio". De ahí la importancia de lo que considero crucial en una dirección de tecnologías de información, me refiero al componente directivo.  Me atrevo a asegurar que una vez identificado nuestra ecuación de valor y entendimiento del negocio, por así decirlo, entonces podemos pensar en plantear que mecanismos serán los que requerimos en el componente operativo.

Un ejemplo muy común es que en algunas ocasiones me he encontrado con directores de tecnología con el afán de implementar una arquitectura orientada como si fuera una solución tecnológica. Una arquitectura orientada a servicios es un estilo de arquitectura de hardware y de software para construir una organización flexible a los cambios, capaz de unificar las inversiones  existentes y explotar nuevas capacidades de componer soluciones basadas en servicios. A nuestra experiencia este es un proceso largo que involucra tiempo de madurez en diversos aspectos tanto tecnológicos, culturales y arquitectónicos.

Otro ejemplo que es muy común encontrar y que no descalifico en absoluto sino mas bien critico de manera constructiva es la cerrazón en utilizar la Plataforma .NET como una nueva plataforma de desarrollo que pareciera píldora que resuelve problemas que van más allá de la tecnología y que son más bien de proceso. La plataforma .NET es una plataforma de desarrollo de primer mundo y por experiencia propia he podido experimentar como con una estrategia bien aplicada puede ofrecer soluciones razonables para problemas específicos en tiempos y costos, claro bajo la supervisión de expertos en la materia.

En fin, soy creyente en que las tecnologías de información pueden ser el factor detonante en una organización. Sin embargo, pienso que debemos de tener cuidado en qué y cuales tecnologías  son las que en verdad hacen sentido en la organización. Para ello contar con normas, mejores prácticas y procesos antes de tomar decisiones tecnológicas es determinante. 

Veamos las siguientes opciones disponibles:

Especificación

Componente

CMMI

Operativo

Balance Scorecard

Directivo

COBIT

Operativo

ITIL

Operativo

ISO/IEC 17799

Operativo

PMBOK

Operativo

Gramm-Leach-Bliley Act

Directivo

FASB

Directivo

Contamos con algunos otros procesos dependientes de un proveedor de tecnología como:

Microsoft Solution Framework

Operativo

MSF for CMMI Process Improv

Operativo

RUP

Operativo

MoProSoft

Operativo

Microsoft Operation Framework

Operativo

Sarbanes-Oxley Act

Directivo

 

 

Posted by haaron | with no comments
Filed under:

Collation un detallito interesante

Solo para dejar constancia de esta línea de código que ya van como 10 veces que la he ocupado y quería dejarlo en mi blog para futura referencia. Cuando configuramos una base de datos en SQL Server necesitamos especificar su Collation. El Collation es una configuración de inicio que podemos especificar sobre nuestra base de datos para dictarle que su motor de búsqueda sea sensible o insensible a mayúsculas, acentos, etc.

ALTER DATABASE MyBase COLLATE Latin1_General_CI_AI

La CI significa “Case Insensitive” y la AI significa “Ascent Insensitive”. Bueno de cualquier forma aquí dejo un link detallado sobre esto: COLLATE

 

Posted by haaron | with no comments

La importancia del trabajo en equipo como factor de éxito en proyectos de TI

En nuestra naturaleza como desarrolladores de software es muy importante tener en cuenta el valor de desarrollar en equipo. Es curioso pero incluso en nuestro proceso de desarrollo, manejamos un servicio de control de cambias el cual nos permite controlar varios aspectos importantes. El primero el control de las versiones de todos los archivos de nuestro proyecto y otro muy importante es el habilitarnos la posibilidad de que varias personas trabajen sobre los mismos archivos del mismo proyecto de desarrollo. En otras palabras nos permite trabajar en equipo.

Pero trabajar en equipo va mas allá de contar con un servicio de control de versiones. En realidad trabajar en equipo es un concepto mas cultural y relevante para la organización, ya que al final del día la union de todos los esfuerzos hacen un resultado en común que es cumplir los objetivos.

Quiero mencionar una metáfora que viene al caso:

Cuatro hombres muy valientes que no se conocen entre sí, no acatarán a un león. Otros cuatro hombres menos valientes que se conocen entre ellos muy bien y confían los unos a los otros atacarían al mismo león sin vacilar.

En el desarrollo de software sucede lo mismo. Manejamos roles para que los miembros del equipo especialicen sus esfuerzos atendiendo aspectos relevantes, concretos y esenciales del proyecto, todo con el fin de salir en tiempos, costos y respetables niveles de calidad.

No todo el software o las herramientas de desarrollo producen magia. Trabajar en Equipo es una actividad indeleble que en la mayoría de las organizaciones realizamos, algunas de manera consciente y créanme muchos otras que conozco de manera inconsciente. La conciencia del trabajo en equipo es vital para nuestra área.

Una definición de trabajo en equipo que encontré hace es: “Es una unidad social altamente organizada y orientada hacia la consecución de una tarea en común a través del esfuerzo humano” se escucha un poco difícil de asimilar pero piénsalo una vez mas y estoy seguro estarás muy de acuerdo.

Para trabajar en equipo necesitamos:

  • Objetivos claramente definidos
  • Comunicación efectiva
  • Cohesión grupal

Logrando lo anterior entonces podemos identificar las 5 etapas del ciclo de vida de un equipo, ya que estas nos permitirán establecer mejores maneras de organizarnos. El aspecto humano es muy relevante también y cuando trabajamos en equipo produce efectos positivos el contemplar lo siguiente:

  • Confianza absoluta entre los miembros
  • Compartir el liderazgo
  • Consideración del objetivo individual

Dicho esto, las 5 etapas del ciclo de vida de trabajo en equipo contempla hacernos las siguientes preguntas:

  1. Formación
  • ¿Quiénes serán los integrantes?
  • ¿Por qué estamos en este equipo y en qué forma participaremos?
  • ¿Por qué vamos a confiar en el resto de los integrantes?
  • ¿Qué es lo que supuestamente vamos a ganar?
  • ¿Qué autoridad vamos a tener?
  • ¿Qué habilidades y talentos tenemos y cuales se ocupan?
  1. Normación
  • ¿En qué forma tomaremos decisiones?
  • ¿Qué trato recibiré de los demás?
  • ¿Cuál es el costo en tiempo y esfuerzo de ser parte del equipo?
  • ¿Qué esperamos unos de otros y de la organización?
  • ¿Qué pasa si uno de los miembros se disgusta?
  • ¿Requerimos llegar a un consenso en todo?
  • ¿Qué hacer si un miembro no contribuye o hace las tareas asignadas?
  1. Activismo
  • ¿Quién manejará los conflictos?
  • ¿Cómo responde cada individuo del equipo al conflicto?
  • ¿Cómo canalizar positivamente el conflicto?
  • ¿Qué tipos de conflictos se pueden tener con otros equipos?
  • ¿Cómo podemos sustraer las políticas departamentales del proceso?
  1. Producción
  • ¿Cuál es el modelo ideal de funcionamiento de nuestro equipo?
  • ¿Cómo vamos a monitorear los logros del equipo?
  • ¿Cómo podemos ayudar para que el equipo logre mejoras de una manera sostenida?
  • ¿Qué necesidades personales de los miembros deben alcanzarse?
  • ¿Cómo podemos asegurarnos que están tomando las decisiones correctas?
  1. Modificación
  • ¿Cómo va a ser afectado el equipo por la salida de un miembro o lider?
  • ¿Seremos un equipo tan bueno como anteriormente?
  • ¿Podremos sobreponernos a los sentimientos ocasionados por la pérdida de uno de los miembros?

Una vez que ya nos hemos hecho las preguntas anteriores, resulta interesante analizar las características que se observan al trabajar en equipo ya que podremos identificar aquellos filtros por decirlo así que vendrán a estabilizar aspectos vitales de un equipo (humanos, técnicos, personales, organizacionales, etc).

Características de un equipo de trabajo :

  • Objetivo común
  • Número de integrantes
  • Organización
  • Límites y disciplinas
  • Involucración
  • Compromiso
  • Convergencia de esfuerzos
  • Unión
  • Conciencia de la situación interna
  • Capitalización del conflicto

Todas las características antes mencionadas son importantes para que funcione un equipo de trabajo como tal, sin embargo, la participación y los objetivos en común son características vitales para cualquier entidad que en función del trabajo en equipo requiera obtener resultados favorables. Es importante señalar que la integración de un equipo de trabajo y su especial atención durante las etapas fundamentales por las que cobra vida es cumplir objetivos.

Modelo de Equipos de Microsoft Solution Framework
Aterrizando a nuestra área manejamos diversos modelos de equipo para el desarrollo de software. Uno de los más interesantes e incluso utilizados actualmente es el modelo de equipos de MSF (Microsoft Solution Framework). Este modelo ha sido diseñado para mejorar el rendimiento del equipo de desarrollo. Proporciona una estructura flexible para organizar los equipos de un proyecto. Puede ser escalado dependiendo del tamaño del proyecto y del equipo de personas disponibles. Está constituido por roles que atienden aspectos muy concretos que se dan cuando desarrollamos soluciones de información.

Rol

Enfocado a 

Habilidades 

Responsabilidades 

Product Manager 

Satisfacción del cliente 

Buena comunicación, conocimiento del negocio.

Manejar las expectativas del cliente, mantener el caso de negocio, investigación, promoción, lanzamiento.

Program Manager 

Entrega a tiempo, arquitectura, identificar y resolver problemas críticos. 

Facilitador, administración del proyecto, comunicación, escritura, modelo de negocio y conocimiento de los estándares de sistemas.

Administración de las especificaciones, seguimiento, coordinación. 

Desarrollo 

Un producto confiable, adaptable y robusto. 

Resolución de problemas, habilidades de desarrollo, conocimiento técnico profundo.

Diseño de características, construcción, pruebas. 

Pruebas 

Asegurar que todos los problemas sean conocidos. 

Habilidad para rastrear la causa y el efecto, de encontrar los defectos, conocer como funcionan las cosas.

Estrategia de pruebas, rastreo de los problemas en las pruebas. 

Educación al usuario 

Un producto usable que maximice la productividad del usuario final. 

Que simpatice con el usuario, escritura técnica. 

Diseño de documentación, definición de términos, documentación, pruebas, definición de la capacitación.

Administración de la logística 

Implantación, migración y operación. 

Administración de comunicaciones y ambiente operativo 

Pronosticar, preparar, soporte, asegurar que la infraestructura esté cuando sea necesario.

Para ver a detalle este modelo accede a este link.

En Resumen

Siempre tenemos que pensar en la naturaleza de la función, en la razón de las cosas ya que la tecnología solamente ofrece productivas e interesantes herramientas que al final del día son operadas por personas, procesos e incuso otros sistemas. Necesitamos descansar en las tecnologías pero con verdadero sentido. Las herramientas como tal no hacen todo el trabajo, se requiere del valor, experiencia, conocimiento algunos le llaman feeling de las personas. En binomio perfecta se da cuando estamos consientes de valor que exponencialmente podemos ofertar con las herramientas. Trabajemos en equipo, conozcamos nuestra potencialidades y fortalezcamos nuestro verdadero valor.

Posted by haaron | 5 comment(s)
Filed under:

Creando usuarios programaticamente con Membership y Profiles de ASP.NET 2.0

Desde hace tiempo he querido escribir sobre una técnica ASP.NET 2.0 que me parece interesante compartir. Se trata de utilizar de manera combinada la funcionalidad de las clases Membership y Profiles para establecer toda la maquinaria de administración y almacenamiento de usuarios. Sabemos que ASP.NET 2.0 nos ofrece estas piezas de infraestructura para la construcción de soluciones web con la finalidad de agilizar la creación y manejo eficiente de usuarios, roles y perfiles, claro entre otras posibilidades.

Lo que veremos en este post es una técnica que nos permite manipular usuarios con la clase Membership haciendo uso de los controles Login y que además podamos relacionar y extender los datos que requerimos asociar a un usuario a través del uso de la funcionalidad de Profiles para que de manera conjunta extendamos esta funcionalidad a nuestro beneficio.

En muchas ocasiones cuando habilitamos Membership para el control y manejo de usuarios es común que nos quedemos cortos con los datos de usuario que queremos almacenar y que son relevantes e incluso requeridos para la aplicación que estamos construyendo. La clase Membership es una clase que cuenta con métodos estáticos para crear nuevos, eliminar existentes, cambiar contraseñas y validar la existencia de usuarios. Esta clase funciona con un modelo basado en proveedor el cual nos permite hacer que trabaje independientemente del origen de datos donde se encuentra la información.

En la mayoría de los escenarios de una aplicación multi usuario normalmente requerimos proporcionar mucho más información que puede ser de utilidad para la aplicación que estamos escribiendo. Por ejemplo:

  • El nombre completo del usuario
  • A que departamento pertenece
  • Que teléfono y extensión tiene
  • Incluso información de configuración visual o personalización

Seguro encontraras mucha mas información que ocupes asociar al contexto de un usuario.
Sin embargo Membership por su naturaleza se queda corto por decirlo así con la cantidad de datos que almacena y en definitiva necesitamos asociar más información. Aquí es donde entra el uso de Profiles o en otras palabras perfiles de usuario. Profiles en ASP.NET 2.0 es un mecanismo que permite almacenar de manera persistente información adicional para cada usuario registrados en nuestro sitio. Tambien funiona bajo un modelo de tipo proveedor. Si deseas conocer mas sobre Profiles entra a este link. Por un lado tenemos Membership para la administración de usuarios y Profiles para la extensión de la información de un usuario en específico.

Los pasos para habilitar esta funcionalidades son:

  1. Configurar una base de datos para el almacenamiento persistente de usuarios, roles y perfiles
  2. Configurar en el archivo web.config nuestra aplicación web para utilizar dicha base de datos de almacenamiento y crear algunos usuarios
  3. Configurar en el archivo web.config el uso de perfiles y su estructura de información
  4. Escribir código para obtener de nuestro almacenamiento persistente la información de un usuario y su perfil

Obtener los usuarios de un sitio programáticamente
MEM01.jpg

Como vemos, tenemos un control GridView que muestra cierta información de los usuarios registrados en este sitio. Gracias al uso de la clase Membership es que de manera programática podemos obtener esta información. El código es el siguiente:

private void LoadData()
    {
        this.GridView1.DataSource = Membership.GetAllUsers();
        this.GridView1.DataBind();
    }

Insertar usuarios en un sitio programaticamente

MEM02.jpg

Para realizar el proceso de creación de usuarios utilizamos el control CrateUserWizard el cual se comporta conforme se especifique en el archivo de configuración web.config, por ejemplo, utiliza una expresión regular especificada en dicho archivo para validar el contenido del texto capturado en el campo contraseña. A su vez, este control utiliza la clase MemberShip y el método CreateUsers para insertar nuevos usuarios.

Una vez que proporcionamos la información y damos clic sobre “Crear Usuario” el control muestra una pantalla de confirmación de la operación.


MEM03.jpg

Hasta el momento esto es solamente funcionalidad “Out of The Box” de ASP.NET 2.0. Sin embargo como pudimos ver, requerimos mas información para describir a un usuario. Podemos realizar este proceso de manera programática simplemente diseñando nuestro formulario web de captura y ejecutando el siguiente código:

Membership.CreateUser(this.usernameTextBox.Text, this.passwordTextBox.Text, this.emailTextBox.Text);

Editando perfiles de usuario programáticamente

MEM05.jpg

Como vemos una vez que tenemos a nuestro usuario creado, es el momento de asociarle información adicional y almacenarla a través de perfiles de ASP.NET 2.0. En este caso, al usuario “hgonzalez” le asignamos información adicional como su nombre completo, una descripción e información relevante a esta aplicación. Adicionalmente podemos asociarle los roles que este usuario tiene asignados. Esta funcionalidad está ligada a Roles de ASP.NET 2.0. Veamos el código de cómo actualizamos el perfil de un usuario previamente creado.

MembershipUser user = Membership.GetUser(“hgonzalez”);

ProfileCommon prof = Profile.GetProfile(user.UserName);

user.Email = emailTextBox.Text;

prof.UsersData.FirstName = this.firstNameTextBox.Text;

prof.UsersData.LastName = this.lastNameTextBox.Text;

prof.UsersData.Comments = commentTextBox.Text;

prof.UsersData.IsAuthor = chkAuthor.Checked;

prof.UsersData.WithNotifications = chkNotifications.Checked;

prof.UsersData.CountryID = Convert.ToInt32(countryDropDown.SelectedValue);

prof.UsersData.CountryName = countryDropDown.SelectedItem.Text;

prof.Save();

Membership.UpdateUser(user);

                    // Actualiza los roles asignados
                    foreach (ListItem item in cblRoles.Items)
                    {
                        if (item.Selected)
                        {
                            if (!Roles.IsUserInRole(GetStringID(), item.Text))
                                Roles.AddUserToRole(GetStringID(), item.Text);
                        }
                        else
                        {
                            if(Roles.IsUserInRole(GetStringID(), item.Text))
                                Roles.RemoveUserFromRole(GetStringID(), item.Text);
                        }
                    }

Si vez el codigo encontraras que tenemos un concepto un poco distinto al que utilizamos en Profiles. El motivo es porque en vez de declarar las propiedades de mi profile en el archivo web.config, simplemente especifico que quiero utilizar una clase como mi estructura de informacion para el manejo de perfiles. Esta tecnica nos da interesantes capacidades.

<profile>

      <properties>

        <add name="UsersData" type="MyAssembly.BLL.UserTable" serializeAs="Binary" />

      </properties>

  </profile>

De esta manera me aseguro de tener Profiles con la informacion de usuario que me interesa manejar dentro de mi aplicacion. Lo interesante es que si por alguna razon existe algun otro cambio en la estructura simplemente modifico la definicion de mi clase y con eso es suficiente para ver disponible y reflejado en todo mi sitio ese nuevo valor.

En el caso de Membership aqui dejo la configuracion, muy basica por cierto.

<membership>

      <providers>

        <remove name="AspNetSqlMembershipProvider" />

        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="true" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />

      </providers>

    </membership>

Y claro hay que habilitar el uso de roles y estos se configuran de la siguiente manera:

<roleManager enabled="true" />

Posted by haaron | 7 comment(s)
Filed under: , ,

Modernizando Gobiernos con la Plataforma de Colaboracion de Microsoft

1ro de Septiembre, como y que tan rápido pasa el tiempo. En tan solo pocos meses estaremos entrando al 2007. Estos últimos años han sido para mí cruciales en mi crecimiento personal y profesional.  Poco a poco el destino me ha ido confirmando y enseñando tantas cosas que no me queda duda en que cada una de ellas han tenido su razón de ser. Incluso el escribir en este blog, compartir con tanta gente el conocimiento, aprender de tantos amigos y participar en proyectos algunos con ciclos largos otros con ciclos cortos han venido a llenarme de presiones fuertes pero de también de magnificas satisfacciones.

Hoy tuve la oportunidad de ofrecer una presentación de lanzamiento de una solución de colaboración que la empresa que dirijo tecnológicamente construyó para una importante dependencia de gobierno. Esta presentación se realizó para todos los jefes de área de esta institución y pudimos entablar una efectiva comunicación con un mismo objetivo en mente, simplemente, el como una estrategia de colaboración institucional viene a transformar la operación y a establecer toda una nueva cultura de trabajo que sabemos tendrá magníficos y rentables resultados. Esperemos hacer en septiembre del próximo año una medición de los resultados en términos de eficiencia institucional y costos.

En fin.

Estrategia de Colaboración Institucional con Plataforma Microsoft
Una estrategia de colaboración institucional a través del uso de la Plataforma Microsoft es toda una solución integral que podemos implementar de forma gradual para auxiliar a una institución en lo siguiente:

COL01.jpg 

Y como consecuencia mejorar el valor institucional desde adentro hacia afuera, en otras palabras, como mejoramos los procesos internos para satisfacer las necesidades de nuestros usuarios y como consecuencia las necesidades de los ciudadanos. Comentaba durante esta presentación que el verdadero valor de nuestro servicio no se sustenta en la Plataforma Microsoft como tal, sino mas bien en la labor de consultoría que hemos podido ejecutar para identificar como mejorar los procesos sustantivos que articulan la operación de esta institución  y que una vez identificados, diseñar entonces un enfoque razonable para inyectar agilidad, seguridad y eficiencia a todos estos procesos. Ahí radica el éxito de este proyecto.

Beneficios de la Plataforma de Colaboración de Microsoft
Sin embargo, no dejamos de compartir el beneficio de la Plataforma de Colaboración de Microsoft con la finalidad de generar una visión compartida respecto al alcance técnico que podemos obtener con este tipo de implementaciones a nivel institución.  Solamente haciendo el uso adecuado de los componentes de la plataforma Microsoft podemos fácilmente ejecutar acciones alineadas a las estrategias institucionales que impactan directamente en políticas de operación e influyan en posicionar una nueva cultura de trabajo institucional que mejora la rapidez del proceso mientras que consolida la información para transformarla en verdadero impacto. En nuestro caso, nuestra empresa desarrollo una solución personalizada por encima de los componentes de la plataforma Microsoft.
Para dependencias o empresas que cuentan con Licenciamiento Microsoft de tipo Microsoft Enterprise Agreement (EA) tienen grandes posibilidades para transformar de manera drástica la forma en que internamente una institución funciona.

Generales de la solución
Nuestra solución atiende tres de los procesos mas intensivos de esta institución y estamos seguros tendrá resultados significativos en cuanto a tiempos y costos.  Todo el proceso de preparación y seguimiento de Juntas de Gobierno y Reuniones del Pleno así como el de administración y seguimiento de la Correspondencia es controlado por esta solución. Adicional algunos procesos sustantivos institucionales también fueron contemplados para habilitar su contraparte digital dándole eficiencia operacional.

COL04.jpg

Componentes técnicos de la Plataforma de Colaboración de Microsoft
Los componentes de una Plataforma Microsoft para habilitar una Colaboración Institucional son los siguientes:

COL03.jpg

En los servicios de infraestructura hablamos de la implementación y configuración de algunos de los productos de la familia de servidores de Microsoft en donde en conjunto habilitan una integración de servicios que ofrecen importantes capacidades para mejorar la colaboración interna, administración de la identidad, políticas y restricciones de acceso, seguridad de contenido digital y despliegue de información vía medios electrónicos, etc.

En los servicios web de colaboración hablamos de aquellos aspectos de la plataforma que ofrecen beneficios de negocio que impactan directamente en el alcance y posibilidades que en determinado momento podemos ofrecer para sustentar innovadoras soluciones a problemas específicos de la institución, desde servicios de mensajería que nos permitan intercambiar información vía correo electrónico o mensajería instantánea (algo así como un Messenger interno) hasta portales web de colaboración que estructuran, unifican la interacción y consolidan la información digital de cada área de la institución permitiendo habilitar políticas de generación de contenido, además la capacidad de integrarse a procesos o sistemas institucionales e incluso la posibilidad de lograr la interoperabilidad con otras dependencias gobierno de manera confiable y segura, estableciendo conversaciones digitales interinstitucionales para integrar y eficientar procesos. Por último y para este tipo de institución la Plataforma de Colaboración de Microsoft ofrece la capacidad de transmitir en tiempo real sesiones y reuniones de seguimiento, una actividad sumamente importante para la naturaleza de esta dependencia ya que los ciudadanos contamos con el derecho institucional de poder tener acceso a este tipo de sesiones.

En la capa final de la plataforma contamos con la línea de sistemas operativos y paquetería de oficina. Microsoft Office como tal ofrece excelente funcionalidad sin embargo combinar esta funcionalidad con la capa de servicios web nos dan mayores oportunidades para que de manera amigable y sencilla podamos personalizar soluciones bajo la plataforma Office. El producto InfoPath ofrece grandes capacidades para utilizar formularios de manera electrónica que en conjunto con la capa de servicios web de colaboración podamos agilizar drásticamente un proceso. La noción de manejar la firma digital para darle validez interna a la información que viaja en estos formatos electrónicos ofrece capacidades de veracidad y seguridad de la información.

Las tecnologías que habilitamos para integrar nuestra solución fueron:

Resumiendo
En resumen, la Plataforma de Colaboración de Microsoft ofrece grandes capacidades para automatizar procesos de forma innovadora y agilizar sus tiempos de respuesta. Una plataforma de colaboración es algo más que un conjunto de tecnologías configuradas entre sí. Una plataforma de colaboración es simplemente la herramienta tecnológica para automatizar la forma en que una institución trabaja y colabora internamente con la finalidad de inyectar características adicionales a los procesos de trabajo que permitan auditar, controlar, normar e incrementar la gobernabilidad institucional a beneficio siempre de la institución y como consecuencia del ciudadano.

*********************************************

Dato de Actualizacion: Ahorran diputados millon de copias. (Marzo 29 del 2007)