Wednesday, December 21, 2005

Merry Christmas



En estos dias... queremos complacer, de alguna forma u otra, aquel niño que esta cerca nuestro, que nos ve, que se alegra cuando llegamos a casa.

No siempre es posible, hacer el algo.

Pero con seguridad, basta compartir unos momentos con ellos para sentirnos bien con nosotros mismos. Por que ellos, se sienten muy bien con nosotros allí al lado.

La navidad es el espiritu de dar, sin esperar recibir nada a cambio. Si lo lograste, Feliz Navidad...!

Friday, November 25, 2005

Hello From Picasa



Paseando en la Plaza Mayor de Ica Posted by Picasa

Thursday, November 24, 2005

Business Layer on DLinq

Mi ultimo post en el Microsoft Forums, esta dando la hora.

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=112382

Mas de 1000 views a la fecha, dicen mucho de su contenido.

Good coding!

Monday, November 07, 2005

class Person : IExtraditable

Nuestro querido ex-presidente Alberto Fujimori fue capturado hoy en Chile, mientras se encontraba dentro de las instalaciones del Marriot Hotel en Santiago.

La CNN cubrio de esta manera los detalles en su nota de prensa: Fujimori under arrest in Chile

Los abogados tendran que hilar muy fino para establecer los medios juridicos a partir del cual solicitar su extradicción. Para que de esta manera enfrente los cargos que fueron medios probatorios en el pedido, aqui en el tribunal peruano.

Mientras los apoyo con algo de code :)


class Person : IExtraditable
{
public Boolean WasCorrupter { get { return idunno; } }
public Boolean WasKiller { get { return idunno; } }
}



static void Main( String[] args )
{
Person fujimori = new Person( Mode.Pendex );
fujimori.WillBePresident( 2006 );


Person toledo = new Person( Mode.Liar );
toledo.Is( "fucking bastard" );


fujimori.Remove( toledo, Mode.ForeverPlease );
}

Friday, October 28, 2005

Bill Gates' 50th birthday today

Para todo microsoft' guy hoy es un dia qe no pasa desapercibido. O si?



Mi tio Bill Gates cumple 50 años el dia de hoy. Y debemos festajarlo ;)

Asi es, un 28 de octubre de 1955 nacio quien seria uno de los hombres que logro cambiar nuestras formas de vida.

En fin, hoy me dare un "bombaza" en su nombre. Os invito!

Tuesday, October 18, 2005

First Sample in GotDotNet about LINQ

Me di unos minutos de tiempo este fin de semana para plasmar una idea que me estaba dando vueltas en la cabeza, que tenia que ver con el uso de LINQ como soporte para la implementación del BusinessLayer.Components.

Implemente una solucion sobre mi Visual Studio 2005 Beta 2, al cual ya le habia agregado el C# Linq Tech Preview, para colocarlo en el GotDotNet, posteriormente. Y de esta manera compartir el conocimiento con los demás :)



Grata fue mi sorpresa al ver que este seria el primer ejemplo de usuario que usa LINQ dentro de esta comunidad para desarroladores y arquitectos de software.

Tuesday, September 13, 2005

Who are you? I am Bill Gates...

Interesante entrevista al todopoderoso, amo, dueño y señor: Bill Gates.



Robert Scoble publico en el Channel 9, la entrevista que le hiciera al jefe de Microsoft. Con la particular pregunta inicial, que es titulo de este post.

Deberian descargar el video para deleitarse con este singular dialogo.

http://download.microsoft.com/download/0/f/7/0f7cc82e-df70-4ca0-a74d-5692c10e6c40/bill_gates_2005.wmv


Bill Gates - A short chat with Microsoft's Chief Software Architect
http://channel9.msdn.com/Showpost.aspx?postid=111598

A la fecha cuenta con mas de 60000 vistas. Todo un record dentro del Channel 9 para solo una semana de haber sido publicado.

Atlas Unleashed...

El website oficial de Atlas fue liberado esta semana.

ASP.NET Atlas
http://atlas.asp.net/

Puedes descargarlo y empezar a programar sobre ASP.NET 2.0 y Visual Studio .NET 2005 Beta 2. El cual te brindará nuevos controles de servidor "server controls". Los cuales cuentan con un modelo de objetos del lado del cliente para consumir XML Web Services usando solo javascript.

Ayer Ajax... muy pronto Atlas...!!!



Aún esta en version beta. Aunque en realidad parece una version alfa.

En fin... good coding!

Microsoft Codename Max

Este juguetito requiere que tengas Windows XP + SP2 (english version) y el WinFX Runtime Components 3.0 Beta 2 instalados en tu PC para gozar de sus fascinantes caracteristicas.





Las prestaciones de MS Avalon son puestas de manifiesto aqui.

Microsoft Codename Max (Official Site)
http://www.microsoft.com/max/

No es oficialmente un producto. No porque este en beta. Sino porque es algo más parecido a un Add-On.

Monday, August 29, 2005

Readme in Microsoft Forums

No deja de ser curioso que mi post en el Microsoft Forums logre los más de 1600 views en solo un mes.



Del mismo modo, el sample user colocado sobre el GotDotNet ha logrado mas de 1400 downloads en ya casi dos meses ha la fecha.



Algo de interesante debe tener dentro :)

Friday, July 22, 2005

Longhorn is officially "Windows Vista"



Officialmente se dió a conocer el nombre comercial de la siguiente generacion del sistema operativo para cliente Microsoft Windows.

La cual será la evolucion del ahora antiguo Windows XP!

Si desean pueden darle una miradita al site official para esta futura version de Windows, que llegara a las PC's, de los usuarios comunes y silvestres, el proximo año.

http://www.microsoft.com/windowsvista/default.mspx

Claro para aquellos que estamos involucrados en este mundo. Podremos tener en nuestro poder la version Beta 1, a más tardar la quincena de Agosto.

http://weblogs.asp.net/derekh/archive/2005/07/22/420244.aspx

Friday, July 15, 2005

We 're being spammed



... Oops!!!

Thursday, July 14, 2005

Felicitações Autuori

Asi llego... el mudinho.



Asi nos dejo... descalificados del mundial Alemania 2006.



¿Que duda cabe? Este sujeto no podrá olvidar que el presente año, definitivamente "la hizo linda".

La historia escribirá que Paulo Autuori fue campeón por segunda vez de la Copa Libertadores, el año 2005. Eso nadie lo podrá evitar, ya.

¿Se pudo evitar? Pues, si hubiéramos sido mas listos. Y hubiésemos respetado "los procesos", pues seguro que si.

En fin, no es posible cambiar las cosas. Pero que ganas dan de poder tener ese don.

Esto lograron... los muchachos en el Morumbí.



Él se lo adjudico... cree que fue su proceso!



Se lo crea o no, se mete al bolsillo US$ 60.000 dólares mensuales, sin saber leer ni escribir.

Cualquier mortal que tiene dos dedos de frente, afirma la siguiente frese, sin dudarlo un segundo: "Si me dan a dirigir el Sao Paulo, yo también lo saco campeón".

Sera dificil!

Tuesday, July 05, 2005

The Fallacy of the Data Layer

El presente articulo se publicó a finales del año 2004, en The Server Side .NET una comunidad para desarrolladores y arquitectos de software.

The Fallacy of the Data Layer
http://theserverside.net/news/thread.tss?thread_id=30568

Rocky Lhotka, nos cuenta su fumada, partiendo de la siguiente premisa: si los datos estan fuera del control de los desarroladores de una aplicación, entonces no existe motivo para que la capa de datos sea parte de la misma.

Y nos propone, que las tradicionales capa de datos, son canditatos ideales a ser un servicio.

A estas alturas del partido, para nadie es un secreto, que un servicio es una unidad logica reusable, que provee una interfaz por la que cada cliente puede interactuar con ella.

Es decir pues, que partiendo de esta equivocada premisa, mi DataLayer.Primitives, no tiene razon sustentable para su exitencia dentro las más de 10 aplicaciones que he implementado, a la fecha.

Si es asi, como explico las más de 1250 dowloads que se han realizado desde el 01 de Junio del 2005 sobre el GotDotNet.

En fin, quien entiende a Rocky!

Wednesday, June 22, 2005

Jeremy Jaynes: Top 10 Spammer



Un muchacho de Virginia - USA, logro ganar US$ 500.000 dolares mensuales por sus actividades ilicitas dentro del gobierno de EEUU.

El usaba para dichas actividades mas de 12 lineas T1 de alta capacidad para su uso propio, que podrian ser usadas por empresas de mas de 1 millon de empleados. Uff... Segun los especialistas, las tecnicas de Jeremy no fueron nada sofisticadas y se extraña como no pudo ser capturado antes.

Él es el Number 8 de los spammers en el mundo, segun la The Spamhaus Project, un proyecto que rastrea a los posibles spammers y sus ilicitas actividades para resguardas las redes de internet. Su frase de cliche es mas que elocuente:

"A Spam-Free World just a few clicks away"

La lista ROKSO (Register Of Known Spam Operations) muestra a los posibles responsables del 80% de trafico de SPAM en el mundo. Cuidado con caer ahi!!!

200 Known Spam Operations responsible for 80% of your spam.
http://www.spamhaus.org/rokso/index.lasso

Finalmente, Jeremy fue sentenciado a 9 años de prision. Se espera la apelación por parte de sus abogados. Pues segun la defensa, la ley no ha demostrado que la correspondencia en la que Jeremy participo, haya sido email no solicitado. En fin, una historia que aun ha de continuar.

Por cierto, Jeremy cuenta con una mansion de 1 millon de dolares y toda una cadena de Restaurantes de lujo. Poca cosa.

Jeremy Jaynes: Gets 9 Years for Spamming
http://www.spamhaus.org/news.lasso?article=155

Monday, June 20, 2005

How to get more hits on Google than even Steve Ballmer

A veces hay quienes desean saber cuantos hits provoca en Google la busqueda de su nombre o nickname.

En fin, esa singular curiosidad se inicia a partir del fiebre de los blogs y publicaciones de contenido en la web.

A la fecha, estas serian las estadisticas:

Bill Gates: 6,400,000
Steve Ballmer: 954,000
Robert Scoble: 620,000
Javier Luna: 5,490

Es decir, aun toy calichin en provocar cantidades no despreciables de hits en Google.

How to get more hits on Google than even Steve Ballmer
http://weblogs.asp.net/oldnewthing/archive/2004/12/16/317158.aspx

Thursday, June 16, 2005

The BEP - Where is the love?

Cuando solo escuchaba la cancion ya tenia algo especial que me llamaba la atención.



Al ver el videoclip, termino por atraparme. Y auto-asignarme la misión de buscar la letra de esta bonita cancion. Todo un himno. O no?

En el sitio official de The Black Eyed Peas encontraras todo lo que desees de este grupo de Hip-Hop. Por cierto, tendras que darte de alta en la comunidad para participar del foro u acceder a otros recursos del sitio.

La letra de la canción esta por todos lados en la web. Pero nada como ver el video.

Wednesday, June 15, 2005

Lyric: The BEP - Where is the love?

What's wrong with the world mama
People livin' like ain't got no mamas
I think the whole world addicted to the drama
Only attracted to things that'll bring ya trauma
Overseas, yeah, we try to stop terrorism
But we still got terrorists hear livin' in the USA
The big CIA, the Blood to the Crips and the KKK
But if you only have love for ya own race
Then ya only leave space to discriminate
And to discriminate only generates hate
And when ya hate then you're bound to get irate, yeah
Madness is what ya demonstrate and that's exactly
how ANGER works and Operates
Man, you gotta have love just to set it straight
Take control of your mind and meditate
Let your soul gravitate to the love y'all, y'all

Chorus:

People killin' people dyin'
Children hurtin,hear them cryin'
Can you practice what you preach?
Or would you turn the other cheek
FATHER FATHER FATHER help us
Send some guidance from above
'Cuz people got me got me questionin'
Where is the love (where is the love)
Where is the love (where is the love)
Where is the love, the love, the love

It just ain't the same, old ways have changed
New days are strange, is the world insane
If love and peace is so strong
Why are these pieces of love that don't belong
Nations droppin' bombs
Chemical gasses fillin' lungs of little ones
With the ongoin' sufferin' as the youth die young
So ask yourself is the lovin' really gone
So I could ask myself really what is goin' wrong
In this world that we livin' in, people keep on givin' in,
Makin' wrong decisions only visions of them dividends
Not respectin' each other, deny thy brother
A war is goin' on but the reason's undercova
The truth is kept secret, it's swept under the rug
If you never know truth then you never know love
Where's the love y'all come on (I don't know)
Where's the truth y'all come on (I don't know)
Where's the love y'all

People killin' people dyin'
Children hurt, you hear them cryin'
Can you practice what you preach
Or would you turn the other cheek
FATHER FATHER FATHER help us
Send some guidance from above
'Cuz people got me got me questionin'
Where is the love (where is the love)
Where is the love (where is the love)
Where is the love, the love, the love

I feel the weight of the world on my shoulder
As I'm getting older, y'all people gets colder
Most of us only care about money makin'
Selfishness got us followin' the wrong direction
Wrong information always shown by the media
Negative images is the main criteria
Infecting the young minds faster than bacteria
Kids wanna act like what they see in the cinemas
Yo, whatever happened to the values of humanity
Whatever happened to the fairness and equality
Instead of spreading love we're spreading animosity
Lack of understanding leading us away from unity
That's the reason why sometimes I'm feelin' under
That's the reason why sometimes I'm feelin' down
There's no wonder why sometimes I'm feelin' under
Gotta keep my faith alive 'til love is found
And ask yourself

Where is the love?
Where is the love?
Where is the love?
Where is the love?

FATHER FATHER FATHER help us
Send some guidance from above
'Cuz people got me got me questionin'
Where is the love?

Sing with me ya'll:
One world, one world
We only got one world (one world)
Thats all we got (one world, one world)
And something's wrong with it. (yeah)
And something's wrong with it. (yeah)
Somethings wrong with the w-w-world
yeah
We only got one world (one world)
Thats all we got (one world, one world)

Tuesday, June 14, 2005

Photo Blogs

Estos blogsites son realmente sensacionales.

Ten Years of My Life
http://www.tenyearsofmylife.com/

[daily dose of imagery]
http://wvs.topleftpixel.com/

quarlo
http://www.quarlo.com/

La posibilidad de postear una foto del momento. Y colocarle un pequeño asunto a veces. Aunque la imagen es más que mil palabras. Dejan en quien las ve, algo más que solo eso.

Mi camara digital, esta en camino. Luego de ver tan lindos blogs :)

Photo Blogs
http://weblogs.asp.net/iainmcdonald/archive/2004/12/02/273953.aspx

Si pues, ya es hora de usar mi MSN Space, como Dios manda...!

Bill Gates is world's most spammed person

Steve Ballmer reveló que Bill Gates recibe 4 millones de emails cada dia.

Sin embargo, como él no es cualquier mortal. El hombre mas rico del mundo cuenta con un departamento completo para filtrar los e-mails no solicitados. Es decir el SPAM.

Solo unos cuantos logran llegar a su buzon. Y ser leidos por el mismo Bill.

Estas cifras, indicarian que el buzon de mi tio Bill Gates, recibiria más de 45 emails por segundo. Antes de pasar los algoritmos de filtro :)

Bill Gates is world's most spammed person
http://weblogs.asp.net/ssadasivuni/archive/2004/11/18/263435.aspx

Carajo...!

Cool Search Engine - Vivisimo


http://vivisimo.com/

Vivisimo es un buscador muy interesante. Categoriza el resultado de busqueda, los agrupa por topicos y los coloca en un Tree-view al lado derecho de la pagina.

Cuenta con algunas opciones por cada resultado de la busqueda, como: 'new window', 'frame', 'preview' o 'clusters'.

Y muy esporadicamente la opcion 'cache'. La cual en Google es de ley.

Vivisimo. Cool Search Engine
http://weblogs.asp.net/bhouse/archive/2004/11/10/254993.aspx

Me atrevi a buscar mi nombre en Vivisimo. Y este fue el resultado:

http://vivisimo.com/search?tb=homepage&query=%22javier+luna%22&v%3Asources=Web

Ta que vivo...!!!

So, what is Master Chief doing today?

Para la 'people' que adora Halo 2, de seguro ha de fascinarles ver al 'todopoderoso' al lado del avatar del video-juego.



Asi como lo ven, mi tio Bill Gates, posando para los 'flashes' :)

Halo 2: So, what is Master Chief doing today ?
http://weblogs.asp.net/mikehall/archive/2004/11/05/253011.aspx

Muchos desearian que existiese Halo 3. Pero habrá que esperar que pasen algunos meses más para ello suceda. Mientras tanto, deberemos sufrir los correspondientes 'Services Packs' :)

En fin, por otro lado, darle unos minutos al DOOM 3 no es para nada una mal idea. De verdad que esta muy bueno tambien, este nuevo producto de ID Software.

Sunday, June 05, 2005

Perú far away from Alemania 2006

De estas eliminatorias me quedo con el Solano frente Uruguay en el Centenario o el Farfan enfrentando a Chile de locales o al Guerrero dejando todo ante Ecuador aqui en Lima. Los constantes Rebosio y Jayo. Al igual que Ibañez en su momento, a pesar que nos dio la espalda por un problema personal, en el ultimo encuentro frente a Colombia.

Cada uno de ellos en su respectivo momento, me dejarón la grata impresion de ser los unicos que deseaban llevarnos a vivir una fiesta en el 2006.

Hoy muchos quedamos tan dolidos por ver a nuestro país perder de esa forma un partido de eliminatorias. Un encuentro donde debería quedar plasmado todas esas ganas por ir al mundial, creo yo.

El Vargas de los primeros 15 minutos provoco consolidar un pensamiento: "Que la selección es para aquellos que quieren grandeza, que aspiran a más de lo que ahora tienen. Quienes ponen todo por su país."

En consecuencia, por lo mostrado en la cancha, dudo mucho que esta seleccion sea para el actual Solano, el fashion Pizarro o el desgastado Palacios.

En fin, Alemania 2006 no sera parte de nuestro itinerario, en el fúturo, para aquellos que nos fascina el fútbol. Solo sera un evento más que pasarán por TV. Perú no sera parte de esa fiesta.

Ojala nuestro técnico, realize cambios radicales olvidandose de algunos 'extranjeros' que han demostrado este sabado. Lo mucho que 'aman' a nuestro país.

Gracias por todo Autorí!!!

Friday, June 03, 2005

DataLayer.Primitives in GotDotNet

Estas ultimas semanas he recibido diferentes emails, comentandome que hubiese sido ideal poder descargar el DataLayer.Primitives Public Version, sin la necesidad de ingresar una cuenta Passport.NET, para ello :)

Asi que en vista a la demanda, otorgo el siguiente link de donde podran descargarlo sin mayores inconvenientes.

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=1334C3B6-66E1-45A3-B518-9E47C0D73C20

El UserSamples del GotDotNet es una comunidad que facilita poder compartir el knowledge de manera sencilla y agradable ;)

Wednesday, April 13, 2005

DataLayer.Primitives - Readme!

Para aquellos visitantes de este blog que no hablen/lean español les alcanzo el link de donde podran revisar la breve documentacion del DataLayer.Primitives en idioma inglés.

DataLayer.Primitives - Readme! (English)
http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=1389

Cuando se libero el Microsoft Forums hace unas semanas atras. Uno de los primeros post fue:

DataLayer.Primitives Public Version Released!!!
http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=170

Al abril 13 del presente año, ha sido visto más de 250 veces. Y esta catalogado como uno de los post más populares.

Todo esto dentro del foro:

.NET Framework Data Access and Storage
http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=45

Suena interesante ;)

Congratulations to 200 Members...!!!

La semana pasada mi grupo MSN

http://groups.msn.com/guydotnetxmlwebservices/

Logró albergar más de 200 miembros!!!



Tengo el anhelo de lograr los 300 miembros antes de que Microsoft libere la Beta 2 de Whidbey a finales de este mes. Je je...

Ojalá se pueda ;)

Tuesday, February 22, 2005

Now, 200 Members Coming Soon...

A principios del año 2005, publique este post:

100 Members Coming Soon...
http://guydotnetxmlwebservices.blogspot.com/2005/01/100-members-coming-soon.html

Es gratificante, saber que luego de casi dos meses despues, mi Group MSN:

http://groups.msn.com/guydotnetxmlwebservices/

... logre albergar los 200 miembros!!!



Algo de interesante debe tener dentro... o no?

Saben, el mayor numero de subscritos se ha realizado en los ultimos dos meses.

Ello coincide con la publicacion del DataLayer.Primitives y el BusinessLayer.Components, ambas en versiones publicas que libere por esos dias.

Luego que publique mi post You wanna have a Gmail account...??? donde obsequiaba invitaciones para Gmail, corrobore que tanto el DataLayer.Primitives como el BusinessLayer.Components estaba siendo usado por gente como nosotros -developers and software architects- en diferentes lugares del mundo, por citar los mas importantes: España, Mexico, USA, Puerto Rico, Chile, Argentina, Bolivia, Panama, etc... y PERU obviamente ;)

Ello me llena de satisfacción. El saber que una buena idea logra convertirse en una gran idea. Y al enfrentarse con la realidad, sale airosa y llega a ser util de verdad.

Finalmente, tuve que obsequiar las 40 invitaciones que prometi en mi post anterior, a las mejores criticas que llegaron a mi buzon:

Javier Luna AT Gmail
javier.a.luna@gmail.com

Quedandome solo 10 invitaciones... :(



Las cuales seran entregadas a las 10 ultimas subscripciones, previas a los 200 miembros, de mi Group MSN:

http://groups.msn.com/guydotnetxmlwebservices/

... lo justo!!!

Saturday, February 05, 2005

You wanna have a Gmail account...???

Hoy de forma sorpresiva Gmail, me entrego 50 invitaciones. Wowwww...!!!



No se que hacer con ellas...??? :)

Asi que se me ocurrio, entregarle una invitacion a las 20 mejores criticas, mas originales, drasticas y constructivas -a la vez-, tanto para BusinessLayer.Components como para DataLayer.Primitives, ambas en versiones publicas, que libere hace unos dias atras.

BusinessLayer.Components

DataLayer.Primitives

Son en total 40 invitaciones. Lo justo...!!!

Sus criticas seran bien recibidas en:

Javier Luna AT Gmail
javier.a.luna@gmail.com

Sunday, January 30, 2005

I already am first in google...!!!

Oh my god...!!!

Hoy me anime a buscar mi nombre en Google y me sorpredi al encontrarme primero en las lista de resultados :)

Recuerdo que hasta hace unos dias atras, no lograba serlo. Este es un momento agradable de por si.

Javier Luna in Google
http://www.google.com/search?hl=en&q=javier+luna

Luego, opte por buscar mi nickname y mayor fue mi sorpresa al encontrar 138 paginas como resultado de la busqueda.

http://www.google.com/search?hl=en&lr=&q=guydotnetxmlwebservices

Thanks Google... again...!!!

Monday, January 24, 2005

BusinessLayer.Components Released, too...!!!

Les entrego las version publica del BusinessLayer.Components. Orientada a una realidad de negocio, en particular.

Tomando como muestra la DB Pubs, del SQL Server, para efectos practicos.

Este bloque de codigo, es de libre uso, y podran descargarlo de cualquiera de los siguientes lugares:

http://www.msnusers.com/guydotnetxmlwebservices/Documents/Sql.Pubs.BusinessLayer.rar
http://www.msnusers.com/guydotnetxmlwebservices/Documents/Sql.Pubs.BusinessLayer.zip

Pero previamente deberan unirse al grupo a traves del siguiente link:
http://groups.msn.com/guydotnetxmlwebservices/join

El BusinessLayer, es la capa mas compleja dentro de la arquitectura de un producto de software.

Este es el lugar donde se debe definir: (1) las entidades de negocio, (2) las operaciones que se han de realizar contra la DB y (3) el modelo de objetos que sera aprovechado por las demas capas de la arquitectura, ie, la capa de usuario, la capa de servicios, etc.

El BusinessLayer, es una solucion que esta compuesta por los siguientes proyectos:

BusinessLayer.Entities: En la cual se definen las entidades de negocio que nos han de permitir enviar informacion entre esta capa y la capa de usuario, por ejemplo. Notese un detalle importante, el cual consisten en establecer el mapeo entre las entidades relacionales propia de la estructura de una base de datos y su correspondiente a nivel de objetos.

Por ejemplo, establecer la forma en la que se ha de plasmar el campo de una tabla que soporta nulo a nivel de base datos y como este se ha de comportar dentro del mundo de .NET, es una definicion que ha de establecerse aqui.

BusinessLayer.IDataWrapper: Aqui se definen cuatro interfaces que permitiran restringir las operaciones contra la DB, para una tabla en particular. Ajustandose a lo que propone CRUD, en ese sentido.

BusinessLayer.DataAccess: En este proyecto se definen las clases que facilitaran las operaciones contra la DB. Aqui se aprovecha todas las bondades por lo cual existe el DataLayer.Primitives. Y cuya version publica fue liberada hace unos dias atras.

El simple hecho de realizar un SELECT sobre la table EMPLOYEE, se reduce a crear la clase DataEmployee la cual ha de heredar de PrimitiveEntity, implementar la interfaz ISelectable, y listo. Olvidandote de las exitencia de los SqlConnection, SqlCommand, SqlDataAdapter, etc.

Del mismo modo, si se desease realizar un INSERT sobre la tabla JOBS. En este caso, la interfaz a implementar seria IInsertable y sobreescribir el metodo OnInsert para indicar los parametros necesarios para la ejecucion del store procedure, correspondiente.

Dentro del namespace Executable, se estableceran esas clases que permitiran realizar operaciones con una cierta complejidad: querys, joins u otros. Cuyos ejemplos, no estan brindados en este bloque de codigo. Pero con seguridad seran entregados en los proximos releases del BusinessLayer.

BusinessLayer.IComponents: Este proyecto rige la forma, en la que se ha de implementar el BusinessLayer.Components. Basicamente, se definen interfaces que se han de implementar por las diferentes clases dentro del siguiente proyecto.

BusinessLayer.Components: Este proyecto es la implementacion en si, de lo que propone BusinessLayer.IComponents. Como resultado, brinda, un modelo de objetos que sera aprovechado por la diferentes capas del arquitectura, como la capa de usuario o la capa de servicios.

Aqui tenemos dos cosas muy marcadas, por un lado los Collections y por el otro, los Atoms. La primera de ellas tendra operaciones como Insertar y Eliminar elementos de la coleccion, sincronizando con las operaciones correspondientes a nivel de base de datos. Y la segunda de ellas, brindara operaciones de actualizacion basicamente, la cual del mismo modo, sincronizara nivel de base de datos, con la operacion correspondiente.

Finalmente, el BusinessLayer.WinApp es el proyecto que testea esta capa de la arquitectura.

En este primer release del BusinessLayer.Components, se tuvo la intencion de mostrar la estructura basica de esta capa de la arquitectura de un producto de software, para complementar la idea que se presento al entregar la version publica del DataLayer.Primitives.

En ese sentido, solo brindo como testing, en esta oportunidad, dos operaciones muy sencillas. Por un lado, la de iterar entre Jobs mostrando los Employees que se ajustan a un Job en particular. Y por otro lado, la misma intencion usando Publishers y los Employees que se ajustan a un Publisher en particular.

Ademas, de un pequeño formulario para agregar elementos a la table Jobs.

En los proximos dias, deberia darme un tiempo para poder publicar el siguiente release del BusinessLayer.Components, donde pueda apreciarse mayores bondades de este bloque de codigo, que no he podido entregar en esta oportunidad.

Saturday, January 15, 2005

The Winner Is...

Hoy en la mañana se integro a

http://groups.msn.com/guydotnetxmlwebservices/

Siendo el miembro numero 100 de este Group MSN. Y se adjudico la invitacion a GMail que habia ofecido en el post anterior.

Entrego las pruebas en pro de la transparencia del proceso :)





Rumbo a los 200 miembros...!!!

Friday, January 14, 2005

100 Members Coming Soon...

Esto si es curioso, de verdad.



Inicie este Group MSN:

http://groups.msn.com/guydotnetxmlwebservices/

Con la intencion de poder entregar aquellas cosas que alcanzasen el calificativo de util. No esperaba que puediese serle util a tanta gente :)

Faltan solo 3 integrantes mas, para llegar a los 100 miembros.

Y quisiera premiar a quien llegase a ser el miembro numero 100, con una invitacion a Gmail

Que les parece? No esta da mal, eh.

Friday, January 07, 2005

Oracle.DataLayer.Primitives Public Version Released...!!!

Les entrego la version publica del DataLayer.Primitives que habia publicado anteriormente.

http://guydotnetxmlwebservices.blogspot.com/2004/11/datalayerprimitives-and.html

Pero en esta oportunidad, con soporte al Oracle DataBase, haciendo uso del Oracle Data Access Provider - ODP

Que podran descargar de cualquiera de los siguentes lugares:

http://www.msnusers.com/guydotnetxmlwebservices/Documents/Oracle.DataLayer.zip
http://www.msnusers.com/guydotnetxmlwebservices/Documents/Oracle.DataLayer.rar

Pero previamente deberan unirse al grupo a traves del siguiente link:
http://groups.msn.com/guydotnetxmlwebservices/join

Algunos puntos que valen la pena comentar, para esta version de codigo, son:

Dentro del CommonLayer.Customs, se agrego el CustomBoolean, que encapsula el mapeo de un tipo de dato booleano, con el que no se cuenta dentro de Oracle. Algo relativamente similar al Boolean que se mapea naturalmente con el tipo de dato BIT del SQL Server.

Este tipo de dato, se comportara como un Boolean dentro del .NET y como un CHAR(1) contra la database. Con valores 'Y', 'N'. A traves de las propiedades Value y DBValue, respectivamente.

De esta manera contamos con un tipo de dato que te permitira centralizar el manejo de tipos de datos booleanos, que se obtiene de la database Oracle.

Por otro lado, el PrimitiveParameter cuenta con una propiedad adicional: Position, la cual indica el orden que obstenta dentro de alguna collection de PrimitiveParameters.

Debido a que SQL Server, no es estricto en el orden en el que se envian los parametros para la ejecucion de un store procedure, pues no era necesario contra con esta propiedad en el DataLayer.Primitives orientado a dicho motor de Base de Datos.

Sin embargo, en Oracle, si lo es. De esta manera, cada vez que agregamos un elemento a la colleccion, salvamos el orden en el que se esta agregando dicho elemento. Para que posteriormente sea entregado en dicho orden al store procedure, que se vaya a ejecutar.

En este objetivo, PrimitiveParameterPositionComparer implementa la interfaz IComparer, validando la propiedad Position entre elementos contiguos de una colleccion.

PrimitiveParameterCollection, define una propiedad llamada Sortered la cual ordena la lista de elementos de la colleccion de PrimitiveParameters aplicando el criterio de orden entre los elementos, establecido en PrimitiveParameterPositionComparer.

Finalmente, PrimitiveSize permite encapsular la longitud para los tipos de datos CHAR, VARCHAR2, etc. cuando se crea un PrimitiveParameter