IT Builder - Gabriel Oliva C. View Gabriel Oliva Chimal's profile on LinkedIn

Chief Sw. Architect Gabriel Oliva's Blog

Visual Studio Team System en MSDN LATAM - El hoy y el mañana

clock October 17, 2008 19:59 by author gabriel.oliva


En 2005, Microsoft liberó Visual Studio 2005 Team System como un amplio conjunto de herramientas con el que los equipos de todos los tamaños pueden administrar el ciclo de vida de las aplicaciones. Recientemente Microsoft liberó la siguiente versión de este conjunto de herramientas con Visual Studio Team System 2008 y agregó herramientas y capacidades para mejorar la calidad y permitir que las divisiones de informática compartan su entrega con la estrategia de negocios.  

Conoce mas acerca de las características avanzadas de VSTS para desarrollo de software de alto nivel y la proxima generación de herramientas incluidas en el siguiente release de VSTS 'Rosario'

URL de Registro para Asistentes (Público):
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032389739&Culture=es-AR

Recursos:
Pdf de la presentación: VSTS - El hoy y el mañana.pdf (1.16 mb)
Guia de instalación de VSTS & Foundation Server: TFSInstall-SP1-RTM-v080908.chm (342.99 kb)
Información sobre procesos de desarrollo de Sw. y su automatización con VSTS: Mejora de procesos para el desarrollo de Sw. 
Informacion en línea sobre VSTS 2008: VSTS on MSDN  
Visual Studio Team System 2010 Overview: http://msdn.microsoft.com/en-us/vstudio/bb725993.aspx
 
Capacitación:
Si estas interesado en recibir entrenamiento directamente de los expertos en desarrollo de software de IT Builder México escribe a contacto@itbuilder.com.mx o gabriel.oliva@itbuilder.com.mx, con el entrenamiento recibirás información valiosa para poder desarrollar software de mejor calidad.
 
Temario:
Día 1
  A morning in the life of … - Scenario based introduction to Visual Studio Team System (VSTS) - Topics covered include nightly-builds, unit-testing, project alerts, version control policies, and Team System Web Access

  Team Foundation Server - Architecture - Security - Choosing a development process: agile, CMMI, and more - Team Project definition and configuration - Work Item Tracking - Excel and Project integration - Project management

  Source Code Control - Architecture - Repository definition and configuration - Basic commands like get, check out, check-in - Conflict resolution - Shelving, branching, and merging

Día 2
  Code: Unit Testing, Code Coverage, and Metrics - Unit Testing - Code Coverage - Code Metrics

  Database Design - Version control for SQL Server databases - Data and schema comparison tools - Unit testing database objects - Data generation - Database Refactoring

  Code: Analysis & Profiling - Static analysis - Dynamic analysis - Performance profiling

Día 3
  Build Server - Architecture - Build definition and management - Build agent definition and management - Continuous integration - Build modification and debugging

  QA and Test Management - Test case management - Manual tests - Ordered tests - Generic tests - Test configurations - Test publication

  Web and Load Testing - Web testing - Load testing architecture - Agents and controllers - Load testing with web tests - Load testing with unit tests

Día 4
  Project Management & Reporting - Architecture - Real-time reporting with Excel - Data warehouse analysis with Excel - Built-in report review - Building custom reports with BI Studio

  Extending Team System - Team project customization - Work item customization - API architecture and overview - Programming the version control subsystem - Programming the work item tracking subsystem - Programming the build subsystem - Programming the events subsystem

 

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Webcast de desarrollo colaborativo y construcción de software de clase mundial en MSDN LATAM

clock October 16, 2008 17:53 by author gabriel.oliva

 listo para construir mejor software que tu competencia ?

MSDN - Microsoft Visual Studio Team System: El hoy y el mañana

URL de Registro para Asistentes (Público):
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032389739&Culture=es-AR

MSDN - Haciendo un mejor software: Sugerencias y Herramientas para mejorar sus aplicaciones

URL de Registro para Asistentes (Público):
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032389766&Culture=es-AR

 

Nota: los eventos han sido pregrabados y estan disponibles para ser vistos bajo demanda.

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


NHibernate - Unexpected row count: 31; expected: 1

clock June 19, 2008 07:51 by author gabriel.oliva

Nada mas frustrante que un bug dificil de solucionar y que te aparece justo antes de un roll out a producción, esta demas decirles que estas semanas he estado un poco desconectado debido a las cargas de trabajo, sin embargo me parecio una buena idea comentar algo de lo que acabo de vivir hace unos minutos, resulta que habiamos estado teniendo problemas con una applicacion que usa NHibernate, existen algunas tablas que ocupan referencias unicas a otras tablas y para llevar a cabo uan sincronización adecuada de los datos hacemos uso de cierta configuración en los mappings de NHibernate para salvar los objetos referenciados por otros en una misma transacción o simplemente para borrar la referencia 1:1 cuando ya no se ocupa, algo similar a esto :

         <many-to-one name="_DireccionId" column="direccion_id" class="ITB.Contraloria.Business.Genericos.Entities.GenDireccion,ITB.Contraloria.Business.Genericos" cascade="all-delete-orphan"/>
 

el caso es que todos los módulos donde hacemos uso de esta técnica de salvado(multiple) funcionaban a la perfección , sin embargo desde ayer empezamos a tener comportamiento raro en uno de ellos el cual enviaba un error solo en la actualización cuya descripción era esta (Unexpected row count: 31; expected: 1), no existe mucha documentación al respecto asi que haciendo uso del profiler me percate de que no era ningún problema con la referencia hacia la tabla de actualización por cascada, el problema no se presentaba cuando habia una inserción de cero sino solamente cuando se hacia una actualización por lo que buscamos algún trigger que pudiera estar causando esto y efectivamente se trataba de esto, es decir, el problema no se debe a alguna actualizacioó en cascada que pudiera estar haciendo nhibernate de forma automática (dado que esta configurado asi y algunos objetos podrian tener los mismos identificadores) sino que el ROW COUNT manda una 'señal' erronea a nhibernate haciendole creer que se trata de un problema con la unicidad del registro lo cual es falso pues mas bien el ROW COUNT regresa el número de registros afectados por la ejecución de trigger y no el número de registros afectados por el update.

 

SOLUCION: desabilitar el trigger cuando se ejecute la sentecia de actulizacion proveniente de NHibernate.

 

IF EXISTS (SELECT * FROM sys.triggers
WHERE parent_class = 0 AND name = 'safety')
DROP TRIGGER safety ON DATABASE;
GO
CREATE TRIGGER safety 
ON DATABASE 
FOR DROP_TABLE, ALTER_TABLE 
AS 
PRINT 'You must disable Trigger "safety" to drop or alter tables!' 
ROLLBACK;
GO
DISABLE TRIGGER safety ON DATABASE;
GO

Espero que esto les sea de ayuda y les ahorre algunas hrs de frustración. 

 

PS, aqui pueden encontrar un post de un error similar en donde el trigger de una tabla evita la ejecucion de la sentencia de nhibernate.

http://community.countersoft.com/forums/thread/4167.aspx  

Currently rated 5.0 by 3 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Desarrollo Multithreading - Herramientas de Intel

clock May 12, 2008 15:01 by author gabriel.oliva
 
Para aquellos de ustedes que esten desarrollando para sistemas operativos x64 tal vez le interese esta liga, aquí podrán descargar herramientas de intel para Windows que pueden ser de utilidad para detectar puntos de mejora en apps desarrolladas para 64.

Currently rated 4.0 by 2 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Interoperabilidad entre .NET crypto services y legacy apps

clock May 7, 2008 16:30 by author gabriel.oliva

Para todos los asistentes al taller de Enterprise Library:

Solo para pasarles esta liga que me encontre en code project por si alguno de ustedes necesita importar/exportar datos entre plataformas diferentes a .NET , como algunos de ustedes saben el uso de los servicios de criptografia en .NET son muy sencillos de usar, pero podrian necesitar intercambiar algunos datos entre plataformas con la finalidad de generar infrestructuras de 'single sign on' entre aplicaciones, espero que este articulo les sea de utlidad.

http://www.codeproject.com/KB/security/CryptoInteropKeys.aspx

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


NHibernate + NHbBusiness + Ingenious MVC

clock April 29, 2008 02:22 by author gabriel.oliva

En algunas ocasiones he posteado informacion relacionada con NHbiernate el cual puede ser usado como apoyo para crear las capas de Data Services y facilitar la manipulacion y traduccion de los objetos de una aplicacion y su base de datos, en esta ocasion adicionalmente me gustaria mostrar tambien una forma rapida y muy eficiente de crear algunos metodos de validacion y manipulacion de los objetos en la capa de negocios a traves de NhbBusiness que es una framework orientado a complementar las operaciones de NHibernate, NHbbusiness lo pueden encontrar en el sitio de codeplex y aunque no existen muchos ejemplos de como usar el framework les puedo asegurar que es completamente intuitivo y una vez que lo usen seguramente querran implementarlo en alguna de sus soluciones, adicionalmente el ejemplo que les hago llegar contiene una implementacion basica de un MVC llamado 'Ingenious' para una pequeña aplicacion de registro de usuarios.

Espero que este ejemplo les sea de utilidad, no duden en hacerme llegar sus comentarios y dudas acerca de este ejemplo.

 

Ingenious : http://www.theserverside.net/news/thread.tss?thread_id=40102 , http://sourceforge.net/projects/ingeniousmvc

NHibernate: http://www.hibernate.org/343.html , http://sourceforge.net/projects/nhibernate

NHbBusiness: http://www.codeplex.com/nhbbusiness

 

UserAccess_.zip (1.54 mb)

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Acceso a datos y ORM (1)

clock April 8, 2008 13:37 by author gabriel.oliva

Antes que nada una disculpa pues en estos dias me es un poco dificil responder con rapidez, durante hace algunas semanas me han llegado algunas preguntas sobre algunos webcast que he dado para MSDN Latam, y como escribi en post pasados creo que es mejor responder a través de un blog para contestar a mas personas, muchas gracias por escribir, contratrio alo que podrian pensar y aunque me tarde en responder me gusta que escriban y que pregunten, prometo solemnemente darme un tiempo para contestar sus correos, les comparto algo sobre ORM.

 Martin Yanicelli says:

hola gabriel me llamo martin yanicelli, soy argentino y estudiante de la carrera de Ing. en Sistemas de Información antes que nada queria agradecerte por el aporte que das a toda la comunidad hispana, estuve viendo un webcast que hablaba sobre la capa de acceso a datos utilizando la tecnica ORM soy novato en Visual Studio 2005 y te queria preguntar si me puedes orientar un poco con algun material para implementar una solucion windows para un sistema de gestion de sentencias judiciales, sobre todo en el concepto de desarrollo en capas, como implementarlas, y aplicando que tecnicas (dataset, tableadapter, procedimientos almacenados, etc) desde ya te agradezco por tu tiempo.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Finalmente OOXML se convierte en un estandar ISO

clock April 2, 2008 17:48 by author gabriel.oliva
Posiblemente ya algunos de ustedes sepan esta noticia por la importancia del suceso y el revuelo que ha causado desde sus inicios en diferentes sectores de la industria, finalmente la iniciativa de MSFT de llevar a OOXML [Office Open XML (Open XML)] hacia el nivel de estandar ha concluido con éxito y a pesar de los comentarios en contra y del tiempo que deberemos esperar para explotar un poco de este esquema unificado para las suites corporativas de escritorio, es emocionante pensar el potencial de interacción que será posible gracias a OOXML . Finalmente este tipo de esfuerzos fomentan la creación de nuevas y mas robustas aplicaciones y al final del dia nuevos esquemas de negocio gracias a la interacción. Aún faltan algunas cosas por definir debido a que esto es solo el comienzo de algo que deberá cubrir las expectativas generadas hasta el momento, sin embargo hay algo innegable durante los ultimos años y eso es que MSFT ha cambiado radicalmente la forma de innovar y proponer avances en sus plataformas, años de mucho trabajo han traido plataformas de desarrollo y administración de TI que ya nada tienen que ver con aquellas que todo mundo cuestionaba hace 7 años, esto es solo continuidad evolutiva y ahora  veremos una oleada de aplicaciones de una nueva generación para algo que se ha convertido en el 'esperanto' informático, XML.

Felicidades MS.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Lo que bien se aprende ... jamas se olvida - OLAP, MDX, Datamining

clock April 2, 2008 16:43 by author gabriel.oliva

Hace algunos años (bastantes por cierto) tuve la fortuna de trabajar en Softtek siendo miembro de uno de los equipos de desarrollo de Microsoft e-Tools, en aquel entonces con 20 años de edad y con mucho que aprender, conocí gente de la industria de desarrollo de software que fue el pilar de mi aprendizaje práctico, durante aquellos años descubrí nuevas herramientas y por supuesto especialistas en cada una de ellas, sin embargo algo que causo impacto en mi percepción de los sistemas de información y en general las TI fue la BI (Business Intelligence), uno de los primeros y mas importantes proyectos en los que estuve involucrado fuel SND (Sistema Nervioso Digital) de Telmex, el cual explotaba la informacion de Cubos construidos a partir de varias fuentes de información y de los cuales se extraía la información con algo que a mi me parecia una version exgeradamente compleja de SQL, MDX, tarde un poco en entender la forma en la que un sistema OLTP difiere de un OLAP y el por que en un a aplicacion coorporativa los 2 tienen relevancia, el primer esquema soporta la operación, mientras que el segun soporta la toma de decisiones, a pesar de que muchos de nosotros hemos escuchado algunos de estos conceptos, me he dado cuenta que en realidad son pocos los expertos en este tipo de ingeniería de explotación de datos (olvidandonos de la herramientas).

En estos meses y por cuestiones no planeadas he tenido que enfrentarme nuevamente al universo del dataminning y de los datawarehouses, dicen que lo que bien se aprende jamas se olvida y es momento de que como los antiguos Mayas conduzca mis pisadas de regreso hacia el origen, no me considero un experto en estos temas sin embargo siempre he creido que la evolución se da cuando sobrepasamos nuestras propias limitaciones, cuando somos los mejores en aquello que en un principio era lo mas difícil, es por esto que a través del blog me gustaria compartir mi viaje de regreso al aprendizaje de OLAP con SQL Server 2005, muchas son las cosas que han cambiado desde entonces por lo que espero que esta serie de posts relacionados con Analisis Services sea tan emocionante para ustedes como lo será para mi.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Tips generales sobre arquitectura (1)

clock March 12, 2008 14:17 by author gabriel.oliva

El dia de hoy recibí un correo que considere importante compartir con ustedes pues durante algun tiempo he contestado este tipo de preguntas de manera personal lo cual creo que es un poco inadecuado cuando a través de blog puedo llegar a mas personas que pueden tener las mismas dudas.

Les comparto el mail y la respuesta en post subsecuentes:

Hola Gabriel, estuve viendo un video que hiciste sobre diseño de capas de acceso a datos y abusando de la confianza que diste para que te escribiéramos me he animado a hacerlo.

Soy un asiduo lector de artículos sobre arquitectura de sistemas, lastimosamente en mi trabajo no he tenido la oportunidad de poder definir y trabajar con una arquitectura de las que he leído en diferentes páginas Web, en estos momentos comienzo a  desarrollar una aplicación web y pues tengo un dilema de que arquitectura implementar, como te digo he leído muchos artículos al respecto pero como tu sabes la última palabra la tiene la experiencia, cosa que no he tenido, básicamente la aplicación web que voy a desarrollar contiene capturas de datos y la respectiva grabación en bases de datos, lo común, no tiene nada de raro, de pronto una que otra invocación de web services pero no mas. He planteado la siguiente arquitectura:

 

Interfaz de Usuario

Entidades

Fachada

Capa de Reglas del Negocio

Capa de Acceso a Datos

 

 

En estos momentos tengo los siguientes interrogantes:

  1. Excepciones: Según la teoría, el manejo de excepciones debe hacerse en la Fachada, hay otra teoría que dice que las excepciones deben subirse desde la capa donde se capturan hacia las capas superiores y de ser posible transformarlas en excepciones de negocio las cuales serán convertidas en la interfaz de usuario en un mensaje amigable para este. Según tengo entendido, el hecho de estar generando excepciones representa una carga importante en el rendimiento de la aplicación; entonces el interrogante es: Como debo manejar las excepciones?
  2. Transacciones: Cual sería la forma recomendable de manejar excepciones y en que capa?

 

 

Desde ya, muchas gracias y disculpas por el atrevimiento.

 

PD: Si tienes consejos o tips adicionales te agradecería me los dijeras.

 

Saludos.

 

Edward Angulo Franco

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Search

Calendar

<<  January 2009  >>
SuMoTuWeThFrSa
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

Archive

Tags

Categories


Blogroll

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2009

Sign in