System.Collections.ListofTips

June 1, 2008

Intento de Generación de Código con AjGenesis (2)

Filed under: Generación de Codigo — José Franco @ 2:49 pm

Acá esta la última modificación

http://swap.synnax.net/download.php?synx.1994-Tools.rar

Esto va en c:\Projects
Saludos, ya esta versión la voy a dejar de lado… voy a hacer pruebas para usar nhybernate y castle.

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

Intento de Generación de Código con AjGenesis

Filed under: Generación de Codigo — José Franco @ 2:39 pm

Estuve varios días alejado, porque estuve acostumbrándome a la metodología de trabajo, de desarrollo, y demás factores al nuevo cliente, y haciendo pruebas para cambiar un generador de código que tenían con CodeDom a AjGenesis.

La Arquitectura que tenemos, no sé si llamarla “Arquitectura”, solo tenemos un ServiceLocator, que tenemos todas mapeadas las entidades de spring.net, con una implementación de Ado para cada una, así es posible en usarla en distintos motores. Estas entidades son más un mapeo de la tabla, no posee ni conceptos de hijos, nietos ni nada similar, cosa que voy a intentar madurar a futuro, pero ya la próxima voy a estar implementando nhybernate.

http://swap.synnax.net/download.php?synx.5307-Alpha0.2.zip

Una vez instalado, van a la carpeta C:\Projects\Tools (No modifiquen el path en la instalación)


Ejecutamos:


Nos abre nuestro gestor de proyectos


Podemos agregar nuevas entidades a los existen, tanto la eliminación de Proyectos y entidades, se hace a mano por ahora.

Generemos un nuevo proyecto


Ingresamos los datos


En directory, no generar directorios con espacios, lo mismo sucede con el NameSpace. La Connecion String, también tiene que ser válida, así se conecta a base de datos y mapea.

Y el provider, en esta versión tiene implementadno Sql Server y Oracle (el tema que el template que deje es el que uso en el cliente, y hay ciertas referencias que no van a andar, pero modificando el helper ya estaria, prometo hacer un template neutro para la semana que viene)

Aceptamos, retornamos en la página anterior, y presionamos botón derecho sobre “WebCTC” (si nos basamos en los datos que ingrese anteriormente).


Vamos a Ver Entidades, nos va a aparecer un listado vacio


Vamos a la opción de “Crear”, los literales están mal.. ya que es una versión muy alfa..


Nos aparece las tablas a mapear, yo voy a mapear un par de Tablas, y le indico que me elimine el prefijo “AG_” (Así me genera la class Contractor, en vez de Ag_contractor), clickeamos en “Generar”.

Ya nos aparece en la lista de entidades


Si hacen doble clic sobre los elementos les va a levantar el Xml


Cerramos la ventana, volvemos a la ventana anterior

Le doy en Generar código a CTC



Abre una consola que ejecuta, el AjGenesis para la generación del código con mis entidades, y nant para compilar todo. Si todo salió bien van a ver un Build Succeded.

Presionan una tecla, y les va a abrir la carpeta de generación:


En la carpeta Assemblys, están todas las dll’s generadas.
Default.build, es la task de Nant.
Como verán, tiene spring, genera una capa de dao, y una implementación de sqlserver y otra de oracle, aunque la de oracle no esta implementada… solo es una copia del Sql server.

En la capa de Services, ya mapea los ojos para spring



Y también nos genero un proyecto de prueba llamado WebExample

Van A ver que me genera aspx ({ENTIDAD}_List.aspx) y llama al Service Locator


Es un ejemplo muy simple, pero nos deja ver si anda todo bien, levanto el proyecto y ejecuto alguno de los aspx


Y Listo, esta andando…

Al menos esto, yo ya le di uso práctico y lo use para un desarrollo, a medida que lo vaya usando, seguro que surgirán numerosos cambios



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 19, 2008

Ya soy MCITP Database Developer!

Filed under: Otros — José Franco @ 1:16 pm

Hace un rato, conseguí mi certificación en MCITP Database Developer, estoy más que feliz, bueno ahora sigo trabajando.

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 17, 2008

Consumir Web Services con Spring.net

Filed under: Spring.net — José Franco @ 8:14 pm

Bueno, el ejemplo que arme anteriormente, lo publique con el IIS en un directorio virtual llamado WSUserAuthentication

Ahora, vamos a armar un cliente que consuma este WS, sin una Web Refence, sino por spring.net.

Generamos un nuevo proyecto web, tenemos que refenciar a las librerías de Spring, como también a la interfaz de nuestro Web Services y la capa que genere como “TransferObjects”, que tiene el objeto que va a recibir el cliente.

Habría que pensar cómo vamos a hacer, para versiones posteriores, el control de las versiones de los asemblys, en caso de hacer modificaciones en nuestro WS, una alternativa seria colocarlos en la GAC, para olvidarnos de tener que copiar en todos los desarrollos que llamen al WS, la última versión en caso de necesitarla.

En mi caso, genero una carpeta de Configuración, con un Xml de los objetos que consumo en spring, en este caso

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

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

<description>An example that demonstrates simple IoC features.</description>

<!– Web Services –>

<object
id=UsuarioWS


type=Spring.Web.Services.WebServiceProxyFactory, Spring.Services>

<property


name=ServiceUri


value=http://localhost/WSUserAuthentication/UserServices.asmx

/>

<property


name=ServiceInterface


value=Synnax.Core.WS.UserAuthentication.Entitys.IUserService, Synnax.Core.WS.UserAuthentication.Entitys

/>

</object>

</objects>

Genero un objeto, llamado “UsuarioWS”, que es del tiplo del WebServiceProxyFactory, que especificamos la ServiceUri que es donde tenemos corriendo nuestro WS, con el servicio que insumimos, y la interfaz que implementa.

Definimos el contexto del spring, y la configuracion de los objetos.

<configuration>

<configSections>

<sectionGroup
name=spring>

<section
name=context
type=Spring.Context.Support.ContextHandler, Spring.Core/>

</sectionGroup>

</configSections>

<appSettings/>

<connectionStrings/>

<system.web>

<compilation
debug=false>

<assemblies>

<add
assembly=Spring.Core, Version=1.1.2.20125, Culture=neutral, PublicKeyToken=65E474D141E25E07/>

<add
assembly=Spring.Services, Version=1.1.2.20125, Culture=neutral, PublicKeyToken=65E474D141E25E07/>

<add
assembly=Spring.Web, Version=1.1.2.20125, Culture=neutral, PublicKeyToken=65E474D141E25E07/></assemblies></compilation>

<authentication
mode=Windows/>

</system.web>

<spring>

<context>

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

</context>

</spring>

</configuration>

Y desde la aplicación

IUserService _ws = (IUserService) ContextRegistry.GetContext().GetObject(“UsuarioWS”);

lblMessage.Text = _ws.Test();

Con nuestro metodo, Test, como devuelve un string, no hay que castearlo, encambio en el otro metodo tendriamos que estar usando, los objetos de Transfer Objects.

Les dejo, el ejemplo para que lo vean:

Consumiendo Web Services con Spring

Sepan disculpar, los horrores de ortografía, ya que lo hice rapidito a este post, 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

Correcciones al artículo de spring.net

Filed under: Spring.net — José Franco @ 6:30 pm

Gente, seguramente a los que probaron los que postee de spring.net, al testear el Web Method…


Les habrá tirado esto

El error, fue muy tonto, ya que hice el ejemplo rápido, y no controle todo, fue un error de parte mía… primero y principal, no es el mismo método declarado en la interfaz, nos tendría que quedar algo así

Y ahora si la salida, es coherente

Este ejemplo, no tiene nada de código, ya que fue algo muy rápido, igual lo subí para que lo puedan bajar desde acá

Ejemplo Spring.Net

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