System.Collections.ListofTips

May 17, 2008

Ya soy Trainer!

Filed under: Otros — José Franco @ 3:03 pm

Hoy fue de esos días, que uno no espera encontrar tal sorpresa… como un mail que mi inscripción aplicó para el programa MCT del 2008

Hace unos días me había llegado una propuesta para dar un Workshop de Workflow Foundation, pero no estaba seguro por los tiempos, así que pensé que se iba a dilatar un poco el tema del MCT, pero realmente me alegró el día, así que ya me verán en algún instituto brindando parte de mis conocimientos y experiencias, principalmente en todo lo que es referente a aplicaciones Web.

No se muchos muestran su transcript, pero acá les dejo para que chusmeen un poco (Acá ), hace poco que me certifique en Microsoft, a pesar que tenía tiempo de experiencia, pero le tenía un poco de miedo a los exámenes, hasta que por fin me decidí… y creo que fue la decisión correcta, ya que además de tener un aval de conocimiento, fue bueno medir y poner a prueba los mismos.
Bueno, solo quería compartir mi alegría… esta noche posteo algo de Spring.net, y también algo de Unit Testing, por ahora les dejo saludos, y disfruten el finde!

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • E-mail this story to a friend!
  • BarraPunto
  • blogmarks
  • co.mments
  • De.lirio.us
  • kick.ie
  • LinkedIn
  • Linkter
  • Live
  • Meneame
  • MyShare
  • Print this article!
  • TwitThis
  • YahooMyWeb

May 16, 2008

Data para Arquitectos

Filed under: Resources — José Franco @ 7:18 am

Les dejo a aquellas personas, que le interese el Rol de Arquitecto, pueden  subscrirse a The Architecture Journal, a mi me está llegando la versión impresa, y gratis!
https://www.msarchitecturejournal.com

O pueden bajarlas en pdf desde acá
http://msdn.microsoft.com/en-us/arcjournal/bb201656.aspx

Saludos!

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • E-mail this story to a friend!
  • BarraPunto
  • blogmarks
  • co.mments
  • De.lirio.us
  • kick.ie
  • LinkedIn
  • Linkter
  • Live
  • Meneame
  • MyShare
  • Print this article!
  • TwitThis
  • YahooMyWeb

May 14, 2008

AjGenesis, NAnt, TDD Y el Cooperator Framework

Filed under: Otros — José Franco @ 11:01 am

Gente les dejo una lista de artículos de AjGenesis, NAnt,  TDD Y el Cooperator Framework, esto esta mas relacionado a la arquitectura y generación de códigos para .NET (Van a ver que es todo del mismo blog, así que es un sitio para prestarle atención semanalmente, ya que suele publicar cosas interesantes Carlos) .

Introducción a NAnt
NAnt es una herramienta de código abierto para automatizar procesos de construcción de software. Una build tool. Se puede extender mediante clases Tasks, no mediante comandos Shell, como la mayoría de estas herramientas. Esta característica la hace cross-platform. Los archivos de configuración se basan en sintaxis XML, tienen extensión .build y  están compuestos por cuatro tipos […]
http://carlossantos.wordpress.com/2007/10/15/introduccion-a-nant/

Cómo generar código con AjGenesis sirviéndonos de NAnt - Parte I
Ya les conté someramente qué es NAnt, ahora…¿qué es AjGenesis?…AjGenesis es un generador de artefactos de texto de código abierto.  Para más información dirigirse a http://www.ajlopez.com/ajgenesis Puede bajarse el generador, desde AjGenesis-0.5, ejemplos desde AjGenesisExamples.zip, más ejemplos en AjGenesisExamples3.zip, documentación en http://www.ajlopez.net/ajgenesis/documentation.php AjGenesis se basa en un modelo soportado en XML y plantillas.Para utilizar este generador sólo […]
http://carlossantos.wordpress.com/2007/10/30/como-generar-codigo-con-ajgenesis-sirviendonos-de-nant/

Cómo generar código con AjGenesis sirviéndonos de NAnt - Parte II
Sigo en la misma linea de la nota anterior. Ahora la idea es generar una aplicación web completa en VB.NET para Visual Studio 2005, trabajando con SQL Server 2005. Esta vez subo un conjunto de archivos somo ejemplo para que quien quiera haga sus pruebas. Los archivos pueden bajarse desde este link SyP.zip  Pero para esto […]
http://carlossantos.wordpress.com/2007/11/17/como-generar-codigo-con-ajgenesis-sirviendonos-de-nant-parte-ii/

Extendiendo el Modelo, AjGenesis y NAnt
Para quien no tenga experiencia en desarrollar software con AjGenesis, recomiendo leer Introducción a NAnt, Cómo generar código con AjGenesis sirviéndonos de NAnt - Parte I y Cómo generar código con AjGenesis sirviéndonos de NAnt - Parte II. El código utilizado en esta nota puede descargarse desde acá. Partiendo de ejemplos similares que usé en las notas […]
http://carlossantos.wordpress.com/2007/11/23/extendiendo-el-modelo-ajgenesis-y-nant/

NAnt, lo que quedó en el camino
Después de las pruebas que fuí haciendo con NAnt, jugando con AjGenesis, encontré la forma de automatizar algunas tareas que me parece bueno compartir acá. Quiero agradecer a Ángel “Java” López y a Claudio Meschini que en más de una ocasión me asistieron con sus generosos aportes, en el marco del Grupo Google CodeGeneration donde nos […]
http://carlossantos.wordpress.com/2007/11/24/nant-lo-que-qued-en-el-camino/

Introducción a Cooperator Framework
Cooperator es otro Generador de Código, con otras características. El proyecto está pensado y desarrollado fundamentalmente por Daniel Calvin y Eugenio Serrano. Si bien Cooperator está en evolución, ya hay mucha gente que está desarrollando software de alta calidad con esta herramienta y entre ellos me cuento. Hay muy buen material de este proyecto, les recomiendo algunos links […]
http://carlossantos.wordpress.com/2007/11/24/introduccin-a-cooperator-framework/

AjGenesis y Preservación de Código
Una práctica fundamental en la Generacón Automática de Código es la Preservación del Código No Generado. En otras palabras que entre un ciclo de generación y el siguiente no perdamos el código que hayamos escrito manualmente. Para esto AjGenesis prevee un mecanismo muy sencillo y seguro. Este se basa en pequeñas modificaciones a los archivos .ajg y […]
http://carlossantos.wordpress.com/2007/12/31/ajgenesis-y-preservacion-de-codigo/

Cooperator, un ejemplo sencillo para comenzar
Para quien no conoce nada acerca de Cooperator Framework le recomiendo leer mi post anterior Introducción a Cooperator Framework. Comencemos por descargar la herramienta, aquí encontramos el último release de Cooperator Modeler, al finalizar la descarga, descomprimimos el archivo y podremos ver el ejecutable de nombre CooperatorModeler.exe, con un doble click veremos lo su interfaz gráfica:   La prueba […]
http://carlossantos.wordpress.com/2008/02/02/cooperator-un-ejemplo-sencillo-para-comenzar/

 Cooperator, modificando el modelo
Otra vez acá. Basado en el ejemplo del post anterior, voy a introducir modificaciones al modelo original con la idea de ver que tan fácil es hacerlo y regenerar código. Partimos entonces de la solución generada que pueden descargar desde acá. Supongamos que ahora nos piden que incluyamos un campo Telefono para la tabla Sucursal. Conviene agregar algunos registros […]
http://carlossantos.wordpress.com/2008/02/05/cooperator-modificando-el-modelo/

 TDD… y las cosas, felizmente, no volvieron a ser las mismas…
TDD, Test Driven Development, es una técnica que establece que primero se escriben las pruebas y luego el código del aplicativo. Estas pruebas se efectúan de acuerdo a lo que se espera que haga el aplicativo, es por eso que algunos popes de esta disciplina dicen que practicándola intensivamente podemos prescindir de la documentación ya que […]
http://carlossantos.wordpress.com/2008/03/12/tdd-y-las-cosas-felizmente-no-volvieron-a-ser-las-mismas/  

TDD, ¿por dónde empezar?
Este post es continuación de este otro. Supongamos que tenemos una aplicación que necesita recuperar una cadena. El Test que acá vamos a desarrollar es probar la recuperación de esta cadena. Ya tendríamos que tener instalada la última versión de NUnit. Sino, podemos descargarla desde http://www.nunit.org e instalarla. En el marco de nuestra solución vamos a agregar un […]
http://carlossantos.wordpress.com/2008/03/16/tdd-por-dnde-empezar/

 TDD, ahora Refactoring.
Este post es continuación y cierre de estos dos: TDD… y las cosas, felizmente, no volvieron a ser las mismas… TDD, ¿por dónde empezar? De acuerdo a lo que expresé en los post anteriores, TDD se se lleva a cabo sobre ciclos. Al finalizar cada ciclo TDD, la técnica se completa con la práctica de Refactoring. Refactoring es la […]
http://carlossantos.wordpress.com/2008/04/13/tdd-ahora-refactoring/

 TDD, otros atributos de NUnit
Esta nota viene a cerrar una serie de tres posts anteriores TDD… y las cosas, felizmente, no volvieron a ser las mismas…, TDD, por dónde empezar y TDD, ahora Refactoring. En este caso, a pedido de Luis Petek en un comentario al tercer post de la serie, explico algunos otros atributos de NUnit que podrían ser de utilidad. Así como […]
http://carlossantos.wordpress.com/2008/04/15/tdd-otros-atributos-de-nunit/

 Saludos.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • E-mail this story to a friend!
  • BarraPunto
  • blogmarks
  • co.mments
  • De.lirio.us
  • kick.ie
  • LinkedIn
  • Linkter
  • Live
  • Meneame
  • MyShare
  • Print this article!
  • TwitThis
  • YahooMyWeb

Web Services usando spring.net

Filed under: Spring.net — José Franco @ 12:22 am

Bueno, acá publico un ejemplo simple de un Web Servicess que implementa spring, para levantar servicios virtuales, con una capa de datos también por inyección de código.

Son mis primeras experiencias, así que las quiero compartir con ustedes, las capas que tengo son:

Ahora les explico, no tiene gran funcionalidad este ejemplo, ya que solo lo hice para compartir… y no es para ningún desarrollo real.

Tengo el

Sería el CommonTypes, el objeto que voy a transferir, para este caso no tiene mucho sentido, pero más adelante voy a mostrar como consumir un WS por spring.Net, y en este caso si es útil para saber que voy a recibir.

Así que es una clase sin nada en particular

…..

En el DAO, defino las interfaces, así puedo tener un Sql Implementation, Oracle, Xml, lo que quisiera realmente, no hay ningún secreto por ahora.

Ahora veamos las otras dos capas que nos quedan

En Entitys, es una interfaz del WebServices… en este caso, es muy simple

Y en ServiceImplementation, simplemente hay que implementar y codificarlo.

Bueno ahora vamos a ver, mas sobre este UserService…

Generamos estas propiedades, para asignarle por spring, una instancia del DAO, podría ser de sql, oracle, o lo que quisieran, mientras implementaran la interfaz … Eso es lo que ofrece spring.net

En nuestro método, usamos este DAO que asignamos, para traer “x” dato.

Ahora, solo nos falta configurar el WebServices.

Generen, una carpeta “X”, con un Xml de configuración, en mi caso “Configuration”, y “webServices.xml”.

En este mismo, tenemos que hacer todo el mapping

<?xml
version=1.0
encoding=utf-8 ?>

<objects
xmlns=http://www.springframework.net >

<description>Servicios Expuestos</description>

<object
id=UserServiceAsmx


type=Synnax.Core.WS.UserAuthentication.ServiceImplementation.UserService, Synnax.Core.WS.UserAuthentication.ServiceImplementation >

<property
name=IUser
ref=UserDAO />

</object>

<object
id=UserDAO
type=Synnax.Core.WS.UserAuthentication.DataAccess.SqlImplementation.UserImpl, Synnax.Core.WS.UserAuthentication.DataAccess.SqlImplementation />

<object
id=UserServices
type=Spring.Web.Services.WebServiceExporter, Spring.Web>

<property
name=TargetName
value=UserServiceAsmx/>

<property
name=Namespace
value=http://synnax/services//>

<property
name=Description
value=Web Service de Usuario/>

</object>

</objects>

En sí, configuramos un objeto UserDAO, que apunta a la implementación del DAO que queremos, en este caso una para SqlServer, generamos un Objeto “UserServiceAsmx“, que apunta a la implementación del WS, y como verán le asigno la propiedad IUser, que espera una implementación del DAO, en este caso el UserDAO que configuramos.

Y por ultimo generamos un “UserServices” que como Target tiene nuestro UserServiceAsmx, esto va a levantar un .asmx “virtual”, en este caso sería un UserServices.asmx.

Bueno, como último paso, hay que configurar el Web.Config.

<configuration>

<!– Begin - Necesario para Spring.NET –>

<configSections>

<sectionGroup
name=spring>

<section
name=context
type=Spring.Context.Support.WebContextHandler, Spring.Web/>

</sectionGroup>

</configSections>


</configuration>

Esto siempre va, dentro de System.Web

<system.web>

<!– Begin - Necesario para Spring.NET –>

<httpHandlers>

<add
verb=*
path=*.asmx
type=Spring.Web.Services.WebServiceHandlerFactory, Spring.Web/>

</httpHandlers>

<httpModules>

<add
name=Spring
type=Spring.Context.Support.WebSupportModule, Spring.Web/>

</httpModules>

<!– End - Necesario para Spring.NET –>


</system.web>

Es evidente que hace esto, levanta las peticiones que se hacen para los asmx, y el modulo correspondiente para manejar todo esto.

Y como final, después del nodo de system.web …

</system.web>

<!– Begin - Necesario para Spring.NET –>

<spring>

<context
type=Spring.Context.Support.WebApplicationContext, Spring.Web>

<resource
uri=~/Configuration/webServices.xml/>

</context>

</spring>

<!– End - Necesario para Spring.NET –>

</configuration>

Le asignamos el archivo de configuración, al contexto que estamos usando.

Levantan, y si tipean el nombre alias que apuntamos la implementación del WS, va a andar todo correctamente:

Bueno, eso fue algo rápido, y que no tenía pensando publicarlo hoy, pero alguien me pidió un ejemplo.

Saludos.

PD: No se olviden de meter todas las dependencias de spring.net, sino no va a andar nada! Obvie esos pasos, porque son lógicos.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • E-mail this story to a friend!
  • BarraPunto
  • blogmarks
  • co.mments
  • De.lirio.us
  • kick.ie
  • LinkedIn
  • Linkter
  • Live
  • Meneame
  • MyShare
  • Print this article!
  • TwitThis
  • YahooMyWeb

May 13, 2008

70-441 listo!

Filed under: Otros — José Franco @ 9:36 pm

No estaba posteando porque estaba preparando el 70-441, ahora solo me falta el 42… y listo, descanso de certificaciones MS por un tiempo, estuve preparando un par de artículos sobre spring.net, este finde los publico, para tener algo de data interesante en el blog.

 

Saludos.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • E-mail this story to a friend!
  • BarraPunto
  • blogmarks
  • co.mments
  • De.lirio.us
  • kick.ie
  • LinkedIn
  • Linkter
  • Live
  • Meneame
  • MyShare
  • Print this article!
  • TwitThis
  • YahooMyWeb
« Older PostsNewer Posts »

Powered by WordPress