Vous êtes sur la page 1sur 9

[Seleccione la fecha]

[ESCRIBA
EL NOMBRE
DE LA
COMPAA]
[ESCRIBA EL TTULO DEL DOCUMENTO]

Definicin de proyecto multicapa
Este tipo de aplicaciones esta dividido en unidades lgicas, llamadas capas, las cuales
se ejecutan en distintas mquinas.
Una aplicacin multicapa queda particionada de la siguiente manera:

Aplicacin Cliente: se encarga de mostrar la interfaz de usuario.

Servidor de aplicaciones: reside en la red local central y es accesible por todos los
clientes donde reciben datos directamente de este servidor.

Servidor de bases de datos: en este servidor es donde est instalado el motor de bases
de datos (Interbase, Firebird, Oracle, etc.), aunque el servidor de aplicaciones y el
servidor de bases de datos pueden ser la misma mquina.

En este modelo a tres capas los clientes slo pueden comunicarse con el servidor de
aplicaciones y en ningn caso directamente con el motor de bases de datos, como
ocurre en las aplicaciones cliente/servidor habituales.

VENTAJAS DE CREAR UN MODELO MULTICAPA

En este modelo de bases de datos la aplicacin cliente slo se dedica a mostrar los
datos al usuario, no sabe nada sobre como los datos son actualizados y mantenidos.

El servidor de aplicaciones (capa media) coordina y procesa las peticiones y
actualizaciones de mltiples clientes. El servidor maneja todos los detalles, define el
conjunto de datos e interactua con el servidor de bases de datos.
Las ventajas de este modelo multicapa son las siguientes:

- Encapsulacin de lgica de negocio. Diferentes clientes de la aplicacin pueden
acceder al mismo servidor intermedio. Esto permite evitar la redundancia (y coste de
mantenimiento) de duplicar las reglas de negocio para cada aplicacin cliente separada.

- Aplicaciones clientes pequeas. Al delegar las tareas ms pesadas en la capa media
las aplicaciones clientes ocupan menos y consumen menos procesador y memoria,
permitiendo instalarse en mquinas de bajo rendimiento. Esto trae la ventaja de que por
muchos clientes que accedan a la aplicacin, el motor de bases de datos slo tiene una
conexin, que va directamente al servidor de aplicaciones, evitando as problemas de
concurrencia o latencia de datos entre distintas aplicaciones cliente. Estas aplicaciones
clientes tambin pueden funcionar a travs de Internet ya que su consumo de ancho de
banda es mnimo, al contrario de conectar directamente con el motor de bases de
datos.

- Procesar datos distribuidos. Distribuir el trabajo de una aplicacin entre varias
mquinas puede mejorar la ejecucin, ya que el balanceo de carga permite reducir la
carga de las mquinas que funcionan como servidor de aplicaciones. Por ejemplo, si
vemos que una aplicacin de gestin se relentiza podemos distribuir en una mquina
las compras, en otra las ventas y la gestin de recibos en otra.

- Incrementar la seguridad. Podemos aislar la funcionalidad en las capas dando
restricciones de seguridad. Esto proporciona unos niveles de seguridad configurables y
flexibles. Las capas intermedias pueden limitar los puntos de entrada a material
protegido, permitiendo controlar el control de acceso ms fcilmente. Si usamos HTTP
o COM+, podemos utilizar los modelos de seguridad que soportan.
Caractersticas
Es una plataforma estndar para el desarrollo y funcionamiento de aplicaciones
Se pueden desarrollar aplicaciones completamente portables
La plataforma establece mecanismos de seguridad
Las etapas de desarrollo de un proyecto multicapa
La capa de desarrollo
1. Diseo simple. Es importante entender, que cuando se desarrollan aplicaciones
multicapa no se puede exagerar en funcionalidades que harn lento el proceso,
despliegue de datos o la actualizacin de funcionalidades. Esta es la razn por la que
la utilizacin de procedimientos tipo Javascript corriendo en un servidor permite
que muchos usuarios al mismo tiempo ejecuten tareas sin recargar el sistema. En la
medida que los procesos se pueden hacer ms pequeos solo requiere vigilar la
cantidad y capacidad de procesadores para mantener el diseo simple aunque esto
ms que ser una especialidad de arquitectos de software parece ser ms una habilidad
de los dioses.
2. Aplicaciones para uso multidispositivo. Es necesario considerar que los usuarios
querrn acceder a la informacin desde dispositivos de escritorio o diversidad de
mviles va la web por lo que el desarrollo debe considerar este principio. Aunque no
es fcil predecir la evolucin de los conocidos gadgets, al menos se debe considerar la
especialidad del proyecto para fines de alimentacin y descarga de datos, como en el
caso de un proceso catastral el uso de quipos GPS y PDAs con aplicaciones
GIS/CAD con capacidades mnimas de alimentacin de datos tabulares, y uso de datos
raster/vector. A medida que la especialidad del negocio es de uso diversificado
requiere estar pendiente del avance de las tecnologas.
3. Va Base de datos. Para mantener un procesador libre de colapso es necesario
considerar que cualquier accin que el usuario ejecute sea una simple llamada a la
base de datos, as que si se usar transferencia de archivos es preferible crear web
services. Si se usarn mapas, lo ideal es crear servicios IMS para publicacin y si se
har descarga de documentos buscar el uso de web services.
La capa de Procesos
4. La web como plataforma. Sea Intranet o Internet, el concepto es el mismo, buscar
que el entorno de trabajo de los usuarios sea en lnea as que cualquier tipo de
procesos corren desde el servidor. Esto se complementa con el siguiente principio
pues la intencin es buscar que la operacin de procesos no requiera de equipos con
grandes recursos aunque sea necesario redisear aplicativos de escritiorio.
5. Uso de aplicaciones en lnea. Este es un gran reto para los desarrolladores, pues en
esta capa tambin entra un nivel de usuarios que hacen procesos que van ms all de
la consulta. Tal es el caso de mantenimiento catastral, en que se requiere uso de
archivos discretos y no solo manipulacin de datos tabulares. Para esto el software
elegido debe proveer un entorno de administracin controlada de archivos, versionado y
el proceso conocido como checkout-checkin; tambin se espera que la API provea
capacidades para particularizar las funcionalidades y evitar que los procesos de
escritorio compliquen la sincronizacin.
La Capa de Usuarios
6. Inteligencia Colectiva. Este principio viene del concepto de comunidad, muy popular
en estos das. Es importante crear interfases que faciliten la comunicacin entre
usuarios, sean estos foros, redes de soporte o canales de mensajera instantnea a fin
que los usuarios puedan compartir entre ellos sus dudas, soluciones y sacarle el
provecho a las habilidades colectivas.
7. Retroalimentacin. Los servicios creados deben tener las funcionalidades suficientes
para que los usuarios puedan reportar errores, agregar comentarios sean
automatizados o voluntarios lo importante es que los usuarios que administran las otras
dos capas sepan de los visitantes. Tambin se espera en este nivel que el acceso
restringido sea seguro, el registro funcional y la actualizacin de cambios automatizada.
Estos principios deberan influir al momento por decidirse por una marca de software,
sobre todo porque la vida de esto no est en los productos de salida sino en la
capacidad para meterle mano desarrollando.
Las etapas de desarrollo de un proyecto simple
Comenzar el proyecto: Esta etapa implica generar, evaluar y enmarcar la necesidad del
proyecto para el negocio y el modo general de llevarlo a cabo, comprometindose a
preparar un plan de proyecto detallado. El resultado de esta etapa puede incluir la
aprobacin para pasar a la siguiente etapa, documentacin de la necesidad del proyecto
y evaluaciones estimadas de tiempo y recursos para realizarlo, tambin una lista inicial
de personas que podran estar interesadas en l, que podran involucrase o que se
veran afectadas por el proyecto.
Organizar y preparar: Esta etapa implica el desarrollo de un plan que especifique los
resultados esperados; el trabajo que se ha de hacer; el tiempo, el costo y otros recursos
requeridos; as como tambin un plan de cmo responder a los riesgos principales del
proyecto.
Ejecutar el trabajo: Esta etapa implica formar al equipo del proyecto y los sistemas de
apoyo del proyecto, llevar a cabo el trabajo planeado, monitoreando y controlando el
desempeo para asegurar el apego al plan vigente. El resultado de esta etapa puede
incluir los resultados del proyecto, los informes de progreso y otros comunicados.
Cerrar el proyecto: Esta etapa supone evaluar los resultados del proyecto, obtener la
aprobacin de los clientes, delegar otras tareas al equipo del proyecto, cerrar las
cuentas financieras y realizar una evaluacin final. La consecuencia de esta etapa
puede incluir los resultados finales, aceptados y aprobados, as como tambin las
recomendaciones y sugerencias para aplicar las lecciones aprendidas de este proyecto
a esfuerzos similares en el futuro.

Utilidad en Patrones de Diseo en Proyectos Multicapa

Un patrn de diseo es:
un lenguaje de programacin de alto nivel
una manera ms prctica de describir ciertos aspectos de la organizacin de un
programa
Conexiones entre componentes de programas
La forma de un diagrama de objeto o de un modelo de objeto.

una solucin estndar para un problema comn de programacin
una tcnica para flexibilizar el cdigo hacindolo satisfacer ciertos criterios
un proyecto o estructura de implementacin que logra una finalidad determinada




Definicin de Socket
Un socket es un fichero existente en la mquina cliente y en la mquina servidora, que sirve
en ltima instancia para que el programa servidor y el cliente lean y escriban la i
nformacin. Esta informacin ser la transmitida por las diferentes capas de red.
Para que dos programas puedan comunicarse entre s es necesario que se cumplan ciertos req
uisitos:
Que un programa sea capaz de localizar al otro.
Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos,
es decir, datos relevantes a su finalidad.
Para ello son necesarios los tres recursos que originan el concepto de socket:
Un protocolo de comunicaciones, que permite el intercambio de octetos.
Una direccin del Protocolo de Red (Direccin IP, si se utiliza el Protocolo
TCP/IP), que identifica una computadora.
Un nmero de puerto, que identifica a un programa dentro de una comput
adora.
Los sockets permiten implementar una arquitectura cliente-servidor.
La comunicacin ha de ser iniciada por uno de los programas que se denomina programa client
e.
El segundo programa espera a que otro inicie la comunicacin, por este motivo se de
nomina programa servidor.
Las propiedades de un socket dependen de las caractersticas del protocolo en el que se im
plementan.
El protocolo ms utilizado es Transmission Control Protocol, aunque tambin es posibl
e utilizar UDP o IPX. Gracias al protocolo TCP, los sockets tienen las siguientes propiedades:
Orientado a conexin.
Se garantiza la transmisin de todos los octetos sin errores ni omisiones.






Efectos de la conexin Ha trabes del socket

La comunicacin entre procesos a travs de sockets se basa en la filosofa CLIENTE-
SERVIDOR: un proceso en esta comunicacin actuar de proceso servidor creando un
socket cuyo nombre conocer el proceso cliente, el cual podr "hablar" con el proceso
servidor a travs de la conexin con dicho socket nombrado.

El proceso crea un socket sin nombre cuyo valor de vuelta es un descriptor sobre el que
se leer o escribir, permitindose una comunicacin bidireccional, caracterstica propia
de los sockets y que los diferencie de los pipes, o canales de comunicacin
unidireccional entre procesos de una misma mquina. El mecanismo de comunicacin
va sockets
Tiene los siguientes pasos:

El proceso servidor crea un socket con nombre y espera la conexin.
El proceso cliente crea un socket sin nombre.
El proceso cliente realiza una peticin de conexin al socketbservidor.
El cliente realiza la conexin a travs de su socket mientras el proceso
servidor mantiene el socket servidor original con nombre.


Definicin de hilos componentes y estados
Un hilo en pocas palabras es un flujo de control secuencial simple dentro de un
programa, es decir, que cada hilo tiene un comienzo, una secuencia de ejecucin y un
final, sin embargo, los hilos no son programas como tal porque no pueden ser
ejecutados por ellos mismos, solo es posible hacerlo dentro de un programa, alguna de
cuyas tareas sea realizada por el hilo.
Conocidos tambin como procesos ligeros.
Un thread es un flujo de ejecucin secuencial dentro de un proceso.
Un mismo proceso java puede tener
a). Un nico thread (el thread principal) y por tanto se le llama mono tarea.
b). Varios threads (por ejemplo el thread principal y el de gestin de eventos). Y
por tanto se le llama monotarea



Caractersticas funcionamiento y uso de hilo
Creacin: Cuando se crea un proceso se crea un hilo para ese proceso. Luego, este
hilo puede crear otros hilos dentro del mismo proceso, proporcionando un puntero de
instruccin y los argumentos del nuevo hilo. El hilo tendr su propio contexto y su propio
espacio de la columna, y pasar al final de los Listos.
Bloqueo: Cuando un hilo necesita esperar por un suceso, se bloquea (salvando sus
registros de usuario, contador de programa y punteros de pila). Ahora el procesador
podr pasar a ejecutar otro hilo que est en la final de los Listos mientras el anterior
permanece bloqueado.
Desbloqueo: Cuando el suceso por el que el hilo se bloque se produce, el mismo pasa
a la final de los Listos.
Terminacin: Cuando un hilo finaliza se liberan tanto su contexto como sus columnas.

Definicin de objetos remotos
Los objetos remotos pueden registrarse mediante programacin o mediante su
especificacin en archivos de configuracin. El registro de objetos remotos en archivos
de configuracin permite a los administradores de aplicaciones que exponen o usan
objetos remotos cambiar la ubicacin de los objetos sin volver a compilar la aplicacin.
En esta seccin se describe la forma de registrar objetos remotos en archivos de
configuracin.
CARACTERSTICAS, VENTAJAS Y DESVENTAJAS DE LOS OBJETOS
REMOSTOS
Caractersticas:
Configuracin de objetos remotos
Describe los requisitos bsicos para utilizar un archivo de configuracin de aplicacin
con .NET Remoting, incluidos la duracin, las instancias y los elementos de plantilla.
Cmo configurar el perodo de duracin de un objeto remoto activado en el cliente o
activado en el servidor
Muestra cmo configurar la duracin de un objeto remoto.
Muestra cmo configurar un canal.
Describe los requisitos de configuracin de una aplicacin que publica tipos que se
utilizan de forma remota.
Cmo registrar un objeto activado en el servidor y un objeto activado en el cliente en un
dominio de aplicacin host
Muestra cmo registrar un objeto activado en el servidor y un objeto activado en el
cliente para un dominio de aplicacin host.
Describe los requisitos de configuracin de una aplicacin que publica tipos que se
usan de forma remota.
Muestra el procedimiento para configurar un cliente remoto en IIS.
Describe los requisitos de configuracin de proveedores de canales y de receptores de
canal.
Muestra cmo crear una plantilla de canal en un archivo de configuracin.

Ventajas:
Los programadores tienen la posibilidad de distribuir los componentes de una aplicacin
a los equipos que mejor se adapten a la tarea de cada objeto, sin tener que cambiar el
resto de la aplicacin que utiliza estos objetos.
Dado que los objetos parecen ser locales a sus clientes, el cliente no sabe lo que
hay en la mquina, o incluso qu tipo de mquina es, ni los objetos que residen
en ella.
La integracin de sistemas se puede realizar en un grado superior.
Desventajas:
No permite la fcil integracin con sistemas heredados
No es rpido
Tiene algunas limitaciones debido a su estrecha integracin con Java; La
principal de ellas es que esta tecnologa no permite la interaccin con
aplicaciones escritas en otro lenguaje

Vous aimerez peut-être aussi