jueves, 1 de marzo de 2007

- Esqueleto de una aplicación Web en ASP.NET

En esta oportunidad quiero compartir con ustedes una de las formas básicas de crear una aplicación web que utilice componentes reutilizables, que tenga módulos independientes y que pueda integrar algún framework de persistencia como NHibernate o Ibatis.
Esta tarea la llevaremos a cabo utilizando el IDE de desarrollo Visual Studio 2005. Vamos a suponer que estamos desarrollando una aplicación orientada a e-learning. Lo primero que debemos tener presente es que todos estos módulos los tendremos en una misma carpeta. En mi caso la carpeta en cuestión es D:\NETProjects\E-Learning.

* Módulos de nuestra aplicación:
- Sitio Web: En éste módulo tendremos nuestras páginas .aspx con sus correspondientes archivos de code behind (.aspx.cs), las cuales utilizarán las clases y objetos (no se trata de otra cosa) del resto de los módulos involucrados en la aplicación.

- Módulo de Model: En éste módulo almacenaremos todas las clases de objetos que nuestra aplicación requiera. En nuestro caso, al tratarse de una aplicación de e-learning, ejemplos de clases que pondremos en este módulo son: curso, asignatura, profesor, etc.

- Módulo de Persistencia: En éste módulo crearemos dos carpetas. La primera será nuestra carpeta de Interfaces en la cual tendremos las interfaces de las clases que necesitamos persistir. El uso de interfaces nos permite además migrar de un framework a otro teniendo que modificar solo las implementaciones del mismo. Entonces necesitaremos una segunda carpeta que puede llamarse Implementaciones. En ella almacenaremos los archivos necesarios que dependerán del framework de persistencia que elijamos.

- Módulo de Servicio: En éste módulo se almacenarán las clases necesarias para ejecutar llamadas a las clases en el módulo de persistencia y eventualmente procesar reglas de negocio antes de realizar la persistencia.

- Módulo de Utilidades: En éste módulo se almacenarán aquellas clases que pueden ser reutilizables en más de un proyecto como pueden ser utilidades de conversion para listas, arrays, etc.-

Veamos como es el proceso en Visual Studio 2005 para lograr este esqueleto:

1- Sitio Web:
Creamos el sitio Web a través de la opción File... New Web Site... elegimos el lenguaje (C# en nuestro caso) , elegimos la ruta y el nombre de nuestro sitio o aplicación Web, para nuestro ejemplo será D:\NETProjects\E-Learning\virtualEducation donde E-Learning es la carpeta del proyecto conteniendo todos los módulos y virtualEducation es nuestro sitio web.

2- Módulos: Agregamos los móulos que vamos a necesitar. Abrimos la opción File... New Project y aquí tenemos varias opciones a tener en cuenta. Lo primero es elegir el tipo de proyecto. Elegimos Visual C# - Windows en Project types. Elegimos Class Library como template. Especificamos el nombre del poyecto, en nuestro caso Model, especificamos la ubicación: D:\NETProjects\E-Learning y por último seleccionamos el drop down list a Add to Solution.



Realizamos el mismo procedimiento para nuestros otros módulos teniendo en cuenta la creación de las dos carpetas en el módulo de Persistencia (Interfaces e Implementaciones)



3- Referencias: Ahora necesitamos agregar a nuestro sitio web las referencias a estos módulos para que al realizar la compilación nos genere dlls para estos proyectos. Para ello hacemos click derecho en nuestro sitio web y seleccionamos Add Reference... vamos al tab de Projects y seleccionamos los proyectos creados en el paso anterior.

4- Construir Solución: Por último, hacemos click derecho a nuestra solución Solution \virtualEducation (5 projects) y elegimos la opción Rebuild Solution. Vemos como se generan las dlls de nuestros proyectos en la carpeta Bin de nuestro sitio web.-



Con estos sencillos 4 pasos, tenemos listo nuestro esqueleto para una aplicación Web modularizada, escalable, lista para utilizar un framework de persistencia y componentes reutilizables.-

7 comentarios:

Anónimo dijo...

[url=http://www.microgiving.com/profile/ciprofloxacin]cipro 500 mg iv
[/url]
ciprofloxacin retinal detachment
ciprodex effectiveness
baycip sobre

[url=http://www.freewebs.com/ciprofloxacin500mg]cipro 500 mg kad?nlar kulubu
[/url]

Anónimo dijo...

Place or douse the dog with cold water to lower body temperature -not complete-Analytical Thinker!Sometimes we are so occupied with our daily routine in life that we forget that ;we; are the most important element of our existenceA simple rule to remember (and one people have great difficulty keeping in mind) is that you are the leader[url=http://fans-chicago.com/]Kids Brian Urlacher Jersey[/url]
not your dog
Because there will be a profound change in you and your lifestyle you will lose people along the way[url=http://texansfootballstore.com/]J.J. Watt Youth Jersey[/url]
including friends and family Today[url=http://fans-chicago.com/]Julius Peppers Orange Jersey[/url]
pooches have more celebrity following than their famous ownersPeople Noodle Notes (about your brain)As a human[url=http://redskinsfootballstore.com/]Robert Griffin III Youth Jersey[/url]
you have the same primal brain stem and it works exactly the same as Tip's

Anónimo dijo...

top [url=http://www.001casino.com/]001casino.com[/url] brake the latest [url=http://www.realcazinoz.com/]casino bonus[/url] free no store bonus at the leading [url=http://www.baywatchcasino.com/]baywatchcasino.com
[/url].

Anónimo dijo...

[url=http://www.freewebs.com/lipit0r]lipitor buy no prescription
[/url]retail price lipitor
Atorvastatin buy prescription
buy atorvastatin india
lipitor price malaysia
lipitor 40 mg retail price

Anónimo dijo...


[url=http://shenenmaoyii.yolasite.com/][b]sac longchamp[/b][/url]
[url=http://shenenmaoyiss.freeblog.hu/][b]sac longchamp[/b][/url]
[url=http://www.shenenmaoyii.sitew.us/#Page_1.A][b]sac longchamp[/b][/url]
[url=http://shensacen.bloghi.com/][b]sac longchamp[/b][/url]
[url=http://shenenmaoyie.shutterfly.com/][b]sac longchamp[/b][/url]

Anónimo dijo...

Did you [url=http://www.onlinecasinos.gd]baccarat[/url] classify that you can on Strategy Comfortable allot leisure at speedily from your mobile? We purchase a storey transportable casino within easy reach in the post of iPhone, iPad, Android, Blackberry, Windows 7 and Smartphone users. Distil up on goods of your gaming with you and be a champ [url=http://www.avi.vg]buy anal toys online[/url] wherever you go.

Anónimo dijo...


Проблема может быть том, чтобы увидеть человека - такого, как он есть. А вот так догадываться по одним словам и смайликам, не видя эмоций, чувств, состояния вообще - очень сложно...
[url=http://eyesvision.ru/laser-correction][color=#E4F4FE]лазерная коррекция зрения[/color][/url]