SharePoint Latin Rotating Header Image

.NET Framework 3.0

Oportunidad de Negocio

Si usted tiene la necesidad de dar una solución basada en tecnología para resolver algún problema de negocio y requiere de un especialista técnico capaz de hacer su visión realidad, entonces le pido que descargue y llene el siguiente cuestionario inicial de oportunidad y lo haga llegar a haarongo@prodigy.net.mx con la finalidad de revisarlo, evaluarlo y potencialmente producir una propuesta de solución. Gracias!



Inspirado por el artículo Peter Bright sobre WinRT

microsoft-_net-framework-4

 

En mi caso todo empezó con MS-DOS 3.0 pero esa es otra historia. Yo tomé el barco de Microsoft desde 1997, como programador inicié con Visual Basic 5, tuve la oportunidad de utilizar la suite de Office 97 y experimentar lo que fue OLE 2.0, ya como programador Visual Basic 6 construí aplicaciones profesionales que hacían uso de componentes COM construidos por mí y también tuve la oportunidad de compartir con PowerBuilder funcionalidad gracias a COM. El primer libro de programación que compré fue Developing COM/ActiveX Components With Visual Basic 6 de Dan Appleman. Ya durante los cursos oficiales de Visual Basic 6 pude conocer lo que fue Distributed COM (DCOM) y Microsoft Transaction Server (MTS).  A la par HTML y lo que Microsoft llamó DHTML también eran parte de las técnicas de programación que tuve que aprender y dominar, en particular ASP y VBScript fueron para mí una gran oportunidad profesional, en la universidad pude construir aplicaciones web para procesos escolares, así que mí experiencia en ASP mejoró mucho. Después de durar un tiempo construyendo aplicaciones Windows y Web tanto para empresas como para los últimos semestres de pronto escuchamos del Beta de .NET en MSDN, un buen amigo mío lo descargó no sé de dónde y pudimos ver en primer instancia lo que significó el nuevo modelo e acceso a datos, la evolución de DAO por ADO y de ADO a ADO.NET. Recuerdo que el simple el hecho de tener DataSets y DataTables con respecto a Recordsets fue increíble. La posibilidad de trabajar Offline y usar DataSet.WriteXml() para llevarnos los datos en XML y poder trabajar fuera de línea nos dio una y refrescante alternativa. El poder serializar objetos para persistirlos también fue algo emocionante. Tratar de asimilar los tipos de datos por valor y por referencia también fue retador. El 13 de Febrero de 2002 se liberó Visual Studio .NET 2002 en San Francisco, CA donde Bill Gates presidio el lanzamiento y dejó ver la visión que ha venido empujando a Microsoft desde ya hace mucho tiempo "La información disponible a cualquier hora, en cualquier lugar y desde cualquier dispositivo". En ese lanzamiento Grady Booch tuvo una participación durante una demostración justamente hablando de modelado y de ahí conocí el mundo de UML, Design Patterns, etc. También a Tim Huckaby fue parte del Iron Developer contest con quien después tuve la oportunidad de trabajar aquí y algunos otros Speakers en especial a Ari Bixhorn y Chris de DPE de Microsoft. Increíble el lanzamiento y dejó ver todo una nueva visión. En aquel entonces los recursos de capacitación disponibles eran pocos, el .NET Show con Robert Hess y Erica Wiechers, LearVisualStudio.NET con Bob Tabor que después lo hicieron MVP, también me fascinó el concepto del programa VBTV Cheap Show de Chris and Ari donde de una manera muy cómica y relajada dieron a conocer Visual Basic .NET. Tuve la oportunidad de hacer un proyecto en ASP.NET usando Visual Studio .NET 2003 para un evento nacional de la universidad, ahí fue mi primer presentación técnica ante ejecutivos y director nacional de la institución, toda una experiencia nueva pero tan familiar a la vez. Estuve trabajando por un tiempo como programador ASP y de pronto llegó la oportunidad para ser programador .NET de una empresa de software para gobierno importante en mi ciudad. Inicie con Visual Studio .NET 2003 creando aplicaciones ASP.NET 1.1. En ese entonces surge Pattern & Practices y pude conocer el podcast de .NET Rocks de Carl Franklin. Los blogs empezaron a ser más populares. Trabaje bastante con Visual Studio .NET 2003, recibí el nombramiento MVP en el 2004, tome el riesgo y me fui a la ciudad de México a trabajar como instructor y conferencista, surgió Visual Studio 2005 y tuve la oportunidad de participar en el lanzamiento del producto dando platica de ASP.NET 2.0 y conociendo a personas con las sigo frecuentando y que también son MVPs. Lo que más me llamó la atención en aquel entonces fue el modelo proveedor de ASP.NET para soportar la extensibilidad y la implementación de mecanismos muy interesantes para fortalecer la integración. Una vez más Visual Studio 2005 y .NET Framework 2.0 introdujeron muchas mejoras para los programadores en especial el modelo proveedor y sin duda el uso de Generics como parte del modelo de programación y en el caso de Windows Forms el Clickonce Deployment, de hecho .NET Framework 2.0 fue la base de otras versiones de .NET Framework, básicamente se han ido apilando nueva funcionalidad. A mediados entre 2005 y 2008 Microsoft busca unificar los paradigmas de desarrollo y crea WCF, WF, WPF y CardSpace como parte del .NET Framework 3.0. Cabe mencionar que SharePoint 2007 fue construido sobre .NET Framework 2.0 y 3.0. Un cambio radical de nuevo en el modelo de programación y en la forma de construir soluciones conectadas, visualmente atractivas y procesos de negocio. En el 2008 se liberó Visual Studio 2008 con el .NET Framework 3.5 donde por fin LINQ pudo florecer y posicionarse como la respuesta para abstraer el lenguaje que normalmente usamos para manipular una base de datos. LINQ nos dio la posibilidad de seguir usando el lenguaje de programación que conocemos para expresar de forma unificada consultas a bases de datos, colecciones de objetos, archivos XML y cualquier otra fuente de datos para la cual existiera un proveedor, adicional fue la base de Entity Framework como el ORM de Microsoft. Sin duda .NET Data Services (la implementación RESTFull) fue otro nuevo y refrescante enfoque para facilitarnos la construcción de aplicaciones conectadas. También .NET Framework 3.5 y Visual Studio 2008 han sido críticos para la evolución de la plataforma .NET ya que se introdujo de forma muy básica la posibilidad del paralelismo y la noción de facilitarnos la escritura de programas capaces tomar ventaja de los diferentes procesadores y núcleos que el hardware tiene. Se introdujo extensiones para trabajar con patrones como MVC y MVVM para web como para cliente. Ya en la versión .NET Framework 4.0 y Visual Studio 2010 florecieron los patrones con nuevas plantillas de proyecto, pudimos tener integrado en el lenguaje una serie de clases para facilitarnos la escritora y uso de aplicaciones paralelas y asíncronas. Y sin duda Visual Studio fue re construido ofreciendo una UI basada en WPF con un bonche de mejoras para depuración, visualización de código, documentación, análisis, diagramas etc. Visual Studio 2012 también ya fue liberado y sus características a la par del sistema operativo han venido a revolucionar la forma en que construimos aplicaciones así como también el ecosistema para distribuirlas.

Todo este texto ha sido inspirado por un artículo que leí hace un par de días y que quiero recomendar ampliamente para aquel programador avanzado y principiante. Este artículo se llama "Turning to the past to power Windows’ future: An in-depth look at WinRT" y da una explicación del pasado para entender mejor el presente y sin duda el futuro. Si realmente estas interesado en el mundo Microsoft tienes que leerlo.

Intranet-extranet de SharePoint en 40 minutos

En las últimas semanas colegas programadores que no conocen SharePoint 2007 se acercan para preguntar y evaluar si SharePoint puede dar una solución aceptable para escenarios donde usuarios externos (fuera del directorio activo) a la organización colaboren con usuarios internos (dentro del directorio activo) en algún proceso de negocio relevante para la organización.


Afortunadamente SharePoint 2007 fue construido utilizando .NET Framework 2.0/3.0 y sobre ASP.NET 2.0 por lo tanto las características que cualquier programador ASP.NET 2.0 conoce prácticamente las tenemos disponibles en SharePoint 2007, aunque esto no necesariamente aplica para la experiencia de desarrollo Sad smile.


Dicho lo anterior, tuve un par de reuniones explicando como sí SharePoint 2007 podría habilitar el escenario mencionado, sin embargo, por más que lo explico y lo justifico, no hay mejor opción que demostrarlo. Es por eso que me di a la tarea de grabar un video de cómo configurar una Intranet que hace uso de directorio activo como su fuente de credenciales de usuario y Extranet que hace uso Membership y Role Providers de ASP.NET 2.0 para gestionar usuarios en bases de datos SQL utilizando las características de Form Base Authentication. En el proceso podran visualizar como la Herramienta Central de Administracion de SharePoint aprovisiona base de datos de contenido, web sites de IIS y application pool. Smile



NOTA: Es muy importante mencionar que ninguna intranet-extranet que se utilice empresarialmente en escenarios de producción quedara configurada en 40 minutos, hay aspectos de planeación, configuración y seguridad que se deben de contemplar muy seriamente.


Y para terminar un poquito de arquitectura basica sobre un escenario en cuestion:


  • SPDB: Database Server
  • SPAPP: SharePoint Application Server
  • SPWFE1: Web Front End en Zona Intranet
  • SPWFE2: Web Front End en Zona Extranet
  • AD: Directorio Activo
  • EX: Exchange
  • ISA: ISA Server o firewall fisico

image


Como se refiere en la imagen, tenemos servicios dos zonas, Intranet y DMZ. Intranet hace uso de los recursos de red internos de la organización como directorio activo o servidor de correo electrónico, entre otro. En la misma zona interna tenemos una Topologia Small Farm de SharePoint con un solo Web Front End que usuarios internos podran acceder mediante http://intranet.splatin.com. En la zona DMZ tenemos otro Web Front End unido a la granja filtrado por un firewall hacia adentro y hacia afuera. Puede ser firewall de software como el caso de ISA Server o de hardware. Podriamos pensar que el Web Front End de la zona DMZ tenga 2 tarjetas de red, una para trafico externo con IP publica y dominio como http://extranet.splatin.com, y otra tarjeta para trafico interno con IP privada o de la red local. Aqui tenemos otras alternativas de configuración mas sofisticadas que el area de infraestructura seguramente podra aprovisionar. Usuario con acceso a internet llega al Web Front End de la zona DMZ pasando por el firewall.


Para ti que eres programador ASP.NET y estas evaluando SharePoint espero sea de utilidad este breve ejemplo acercamiento de solución.


HG

Estaremos transmitiendo en vivo la plática de la comunidad Tijuana.NET

tijuana

 

La plática que estaré dando hoy 25 de marzo para la comunidad de Tijuana.NET la podrás presenciar remotamente en línea vía live meeting. Para poder ver  requerás instalar el Cliente de Livemeeting 2007 y despues acceder a la charla Introducción de Productos y Tecnología SharePoint para Desarrolladores .NET

Lo que veremos es:

Que puede hacer por mi SharePoint, como empezar a desarrollar en SharePoint, arquitectura de WSS, arquitectura de MOSS, beneficios de SharePoint para programadores .NET, personalizando con SharePoint Designer 2007 y personalizando con Visual Studio 2008.

Te esperamos!

Creando sitio y webpart programaticamente en SharePoint 2007

La semana pasada surgió el siguiente requerimiento algo especial, en este escenario se cuenta con un sitio SharePoint dedicado a un documento en particular, en este sitio se cuenta con una sección de noticias, enlaces y tareas todo en relación a este documento. Cabe mencionar que este sitio es creado programáticamente cuando este documento ha sido aprobado por un grupo de revisores para su publicación en la intranet.


sd01Así que se decidió crear una actividad para SharePoint Designer 2007 que permita la creación del sitio basado en una plantilla de SharePoint especifica, esto es cuando el documento es depositado sobre una biblioteca de documentos en particular, así mismo, se debe de crear programáticamente una webpart de visualización de contenido web, esto para permitir pre visualizar el documento sobre la interface principal del sitio creado y omitir la necesidad de tener que darle clic al documento para abrirlo en el cliente de office.  Para conocer mas sobre actividades de SharePoinr Designer 2007 ver aqui.


La actividad solicita prácticamente el contexto del elemento actual y el nombre de la plantilla que utilizaremos como base para la creación del nuevo sitio. Esta plantilla deberá de estar en la lista de plantillas de sitio de nuestro SharePoint.


sd02


La pre visualización fue sencillo lograrlo gracias a la especificación XPS que tenemos disponible en el .NET Framework 3.0. Se decidió transformar el documento a formato XPS y utilizar el visor de documentos XPS que Internet Explorer 7 adopta por defecto cuando instalamos la versión .NET Framework 3.0. XPS es una nuevo formato especificado en XML que Microsoft libero para darle mucho mas portabilidad y seguridad a contenido que requiere ser compartido. Para más información ver aquí. Por otro lado XPS soporta Rights MAnagement Services y firmas digitales de tal manera que podemos mantener una politca de seguridad al contenido digital. Para mas informacion sobre RMS ver aqui.


Entonces, al convertir nuestro documento a formato XPS podremos abrirlo directamente sobre IE7 y si esto lo invocamos dentro de nuestro webpart visor de paginas web entonces tendremos nuestro documento cargado sobre nuestro sitio SharePoint.


Veamos como crear programaticamente.


sd04


En este bloque de codigo vemos que la clase SPWeb contiene la coleccion webs y es aqui donde registramos nustro nuevo sitio en donde mandamos el nombre del sitio, este nombre es usado para el Url, mandamos el titulo de nuestro sitio, la descripcion, el lenguaje, el nombre de la plantilla stp que usaremos para la creacion del sitio y las opciones de heredar los permisos del sitio primario. Despues creamos una instancia de la webpart que vamos a crear programaticamente y especificamos sus propiedades, la propiedad ContentLink representa el Url que queremos visualizar. Por ultimo gracias a SPLimitedWebPartManager podemos obtener la coleccion de webpart que una paginaalberga para poder agregar nuestra webpart creada mediante el metodo AddWebPart.


NOTA:  Este codigo no es para produccion en su totalidad, ha sido modificado para mostrar los puntos a tratar en este post.


El resultado:


sd03


 

 

Veamos brevemente el nuevo MSDN Reader

El buen Armando Halbinger publica en su blog sobre el MSDN Reader una aplicación desarrollada sobre WPF que nos permite visualizar mediante un cliente el contenido del MSDN en un formato mucho más legible y sugestivo. Es un esfuerzo muy similar al New York Times Reader. Sin duda los medios en línea ahora cuentan con una nueva alternativa para entregar contenidos cada vez más ricos y de alto vimagealor para los lectores. Y por si fuera poco puedes descargar el código fuente.

Ahora, también se cuenta con el Reader SDK o Syndicated Client Experiences Starter Kit diseñado especialmente para permitir a los desarrolladores construir aplicaciones de contenidos ricos y experiencias mejoradas. Sin duda muy valioso aporte para empresas y negocios que se dedican a medios.

Aqui unos videos:

Accede a http://windowsclient.net/wpf/starter-kits/sce-get-started.aspx para iniciarte.

Saludos


** cross posting desde geeks.ms

TSRI C-ME on .NET Rocks

Don’t forget to download the new show #243 from .NET Rocks. They talk about the collaborative molecular environment project that I had the opportunity to be part of as a member of the international dev team. It’s really cool to know some aspects and histories about how this project was assembled and conceived. Peter Kunh from Scrippts Institute, Tim Huckaby from Interknowlogy, Eileen Rumwell from Microsoft Corp and Stephen Forte share some insights with Carl and Richard.

Enjoy!

Family.Show

Simplemente fenomenal el trabajo de Scott Standfield CEO de Vertigo Software. Ya nos habia impresionado con IssueVision una aplicacion .NET 1.1 que hacia uso de patrones de diseno y demas. Resulta que ahora nos sorprende esta empresa con una interesate aplicacion que ha construido sobre WPF llamada Family.Show que nos permite almacenar, compartir, exportar, etc, etc nuestro arbol genealogico. Imagina la idea de registrar a toda nuestra familia y poder asociarle imagenes a cada miembro asi como memorias, relaciones, fechas, etc y ademas compartir esta informacion con otros para complemetar el arbol. Simplemente interesante.

Es muy entretenida aplicacion desde que la descarge no la he podido dejar de usar hasta que mi memoria familiar no dio mas. Estoy seguro que me llevare una que otra sorpresita al enterarme de que Bill Gates termina siendo un familiar lejano…. jejeje es broma…. claro!

Y por si fuera poco, ponen a disposicion el codigo fuente.


** cross posting desde geeks.ms

la inspiracion empieza en algun punto

Te gusta la programacion? no sabes por donde empezar? has escuchado de .net en todas partes sin embargo aun no logras entender que es?

 

Accede aqui todo lo que necesitas saber si eres un principiante. Suerte


** cross posting desde geeks.ms

Recursos CodeCamp

Para los que asistieron al CodeCamp el día de hoy y que recibieron el DVD de recursos en el encontraran todo los archivos, ejecutables, herramientas y demás que requieren para iniciar el desarrollo en .NET 3.0 les dejo unas indicaciones:

Seleccionen el cuadro de Recursos y Herramientas:

Despues instalen la edicion de Visual Studio 2005 que ustedes prefieran:

Despues instalen los requisitos para desarrollar con .NET 3.0 y haganlo en el orden mostrado:

Tambien en el mismo DVD de recursos encontraran la herramienta Expression Blend que estuvimos viendo.


** cross posting desde geeks.ms