Professional Documents
Culture Documents
En primer lugar, debemos definir cuántas capas va a tener nuestro proyecto. Por
lo general, todo proyecto consta de 3 capas: Presentación, Reglas de Negocio y
Acceso a Datos. Sin embargo, es posible que se añada una capa de Servicios
que exponga los métodos construidos en la capa de Reglas de Negocio para que
puedan ser consumidos por otros sistemas, y no sólo por nuestra capa de
Presentación.
Para la capa de Acceso a Datos, vamos a definir cuáles serán los métodos que
nos permitan interactuar con la BD, y poder implementar las operaciones CRUD.
Para lograr esto VS2008 con .NET Framework 3.5 provee distintos mecanismos,
desde el uso de objetos DataReader, DataAdapter, DataSets, pasando por LINQ,
hasta llegar al novedoso, pero cuestionado, Entity Framework, todos parte del
equipo de ADO.NET. Evidentemente, por su utilidad y complejidad, cada una de
estas tecnologías merece un post propio, por lo que quedarán para próximas
discusiones. En el presente ejemplo, sólo agregaremos un proyecto de tipo Class
Library, en el que se podrán implementar las clases pertinentes.
Por último, y para poder integrar los proyectos de nuestra solución, es necesario
asignar ciertas referencias. Por ejemplo, todas las capas deberán conocer los
objetos de negocio ya creados para poder trabajar con ellos. Para lograr esto es
necesario realizar lo siguiente: click derecho sobre nuestro proyecto de capa de
Presentación -> Add Reference… -> Projects -> Seleccionamos el proyecto de
Objetos de Negocio -> OK. De igual modo, recordemos que las clases que
formarán nuestros objetos deberán ser públicas (por default, son privadas), y
debemos agregar la sentencia “using ObjetosNegocio; ” en cada una de las clases
donde vayamos a hacer uso de los mismos. Repetir este procedimiento en cada
uno de los proyectos que hagan uso de los objetos de negocio. Asimismo,
debemos añadir las referencias del proyecto de métodos de negocio al proyecto
de presentación, así como el de acceso a datos al de métodos de negocio.
Para lograr esto, empezaremos por definir la base de datos, la cual sólo tendrá la
tabla “persona” con los campos: nombre, apellido y fechaNac.
¿Comohaceruna aplicaciónenCapas?(ParteI)
Definición: Una capa representa un elemento del sistema que procesa o trata la
información.
Características: Una capa puede residir (se ejecuta) en una maquina diferente o
en diferentes espacios o entornos de procesos dentro de la misma maquina.
Puede ser útil identificar los tipos de procesamiento que podemos esperar que una
aplicación realice. Muchas aplicaciones pueden, al menos, hacer lo siguiente:
Capas o niveles
2 Capa de negocio:
Los objetos de negocios son diseñados para reflejar o representar sus negocios.
Ellos se convierten en un modelo de sus entidades de negocios e interrelaciones.
Esto incluye tanto objetos físicos como conceptos abstractos. Estos son algunos
ejemplos de objetos del mundo real: un empleado, un cliente, un producto, una
orden de compra.
3 Capa de datos:
Es donde residen los datos. Está formada por uno o más gestor de bases de datos
que realiza todo el almacenamiento de datos, reciben solicitudes de
almacenamiento o recuperación de información desde la capa de negocio. Capa
que sirve entre como puente entre la capa lógica de negocio y el proveedor de
datos. Este capa pretende encapsular las especificidades del proveedor de datos
tales como (SQL, Oracle, Sybase, archivos XML, texto, hojas electrónicas), a la
siguiente capa. Hoy en día contamos con Enterprise Library, con la cual se
nos facilita mas la Capa de Datos, para traer datos, modificar o borrar, etc
(Mas adelante les hablare sobre esto).
Esta capa queda encargada de tomar la información de la base de datos dada una
petición de la capa de Reglas del Negocio, que a su vez es generada por la capa
de presentación.
• Inserción
• Eliminación
• Actualizaciones
• Búsquedas
• Almacenar Datos
• Recibir datos
• Mantenimientos de los datos
• Integridad de los datos
o Reutilización de capas;
o Facilita la estandarización
o Dependencias se limitan a intra-capa
o Contención de cambios a una o pocas capas
o darle seguridad y versatilidad al sistema
o porque con objetos es mas fácil hacer crecer la aplicación
o es mas ordenado
o Clara distribución de las responsabilidades.
o Es más fácil trabajar en equipo con otros desarrolladores y
hasta armar equipos de desarrolladores para cada capa.
o Podemos cambiar de repositorio de datos sin impacto en el
resto de la aplicación.
¿Por qué esto es mejor que programar todo de una sola vez y qué diferencia
hay entre una arquitectura y otra?
MODELO TRADICIONAL
MODELO THREE-TIER
Como podemos apreciar en las gráficas, resulta mucho más práctico programar
las capas por separado, sobretodo en situaciones que tenemos un equipo de
trabajo de diferentes programadores o el proyecto es para una empresa con varias
sucursales con políticas independientes.
State Management
p> HTTP es un protocolo stateless (sin estado), es decir, cada petición de una
nueva página web es procesada sin ningún conocimiento de peticiones de páginas
previas.
Existen varias Técnicas de Administración de Estados del Lado del Cliente (Client-
Side State Management Techniques) disponibles en ASP.NET, las cuales
involucran almacenamiento de información en la máquina-cliente, un usuario
puede manipular la información la cual puede resultar en un estado incorrecto y
crear un compromiso potencial de seguridad, por ello que la administración de
estados de lado del cliente debería ser limitado a aplicaciones no criticas o
seguras y soluciones intranet:
View State
Query String
http://informatique.com.mx?login?usuario=gangeles
Un Query String puede ser utilizado para intercambiar datos entre el cliente y el
servidor, de una página a otra. Un Query String no es seguro porque la
información es visible en el navegador, además que la mayoria de los
navegadores tienen una longitud máxima de 255 caracteres para el URL, lo cual
limita la información que puede ser enviada utilizando un Query String.
Cookies
Application State
Session State
Database Support
Sistemas Inteligentes
Las heurísticas pueden ser utilizadas por los Sistemas Inteligentes para guíar el
proceso de descubrimiento y a través de heurísticas-guía el comportamiento no es
garantizado para ser optimo. Las heurísticas quizá sean de propósito general o
dominio específico. Las heurísticas de propósito general a menudo suenan como
el sentido común, es decir, en base a la experiencia que es la sabiduría. Las
heurísticas de dominio específico suenan como reglas o estrategias que son
problemas especificos, tipicamente es un comportamiento experto que incorpora
conocimiento.
Un sistema informático puede ser construido para que mejore a través del
aprendizaje de prueba y error basado en el refuerzo positivo o negativo.