Title: Arquitectura de una aplicacin
1Arquitectura de una aplicación
- Arquitectura desarrolla un plan general del
sistema, asegurando que las necesidades de los
usuarios sean atendidas. - Ingeniería proyecta la estructura física
interna, dando forma a los objetivos definidos
por la arquitectura considerando la eficiencia y
la eficacia del proyecto. - Construcción elabora la estructura, con el uso
de herramientas y datos
2Arquitectura de la Aplicación
- Ofrece una estructura para pensar, proyectar,
elaborar y desarrollar aplicaciones que se
integren y funcionen bien. - Arquitectura Cliente/Servidor en dos capas
- Front/end
- Back/end
3Modelo de ArquitecturaCliente/Servidor
- Front/end
- Es la parte de la aplicación que interactúa con
el usuario. - Basados en una interfaz gráfica con el usuario
(GUI). El Cliente corre la aplicación que ofrece
la interfaz con el usuario. - Back/end
- Es la parte no-interactiva de la aplicación. La
mayor parte reside en las Bases de Datos
(relacionales o no).
4Modelo de ArquitecturaCliente/Servidor
- Aplicaciones Simples no requieren una gran Base
de Datos compartida, pueden ser elaboradas
solamente en el Cliente. - Aplicaciones Complejas exigen dos capas,
- una para la aplicación del usuario (Cliente) y
- otra para la base de datos (Servidor).
- Eventualmente, el Cliente y el Servidor podrán
estar en el mismo equipamiento.
5Procesos de Negocios
- Las organizaciones, independientemente de su
tamaño, utilizan sus recursos y su tiempo en
Procesos de Negocios complejos. - Un Proceso de Negocio consiste en reglas y en la
ejecución de un conjunto de pasos. - Quién mantiene funcionando a los procesos de
negocios? - Los Sistemas de Información Computarizados
- Pensar los procesos en términos de reglas permite
que la computadora pueda automatizar las parte
mecánicas.
6Conductor de los Procesos deNegocios
- La actividad principal de los Sistemas de
Información Computarizados, es la de - Conducir a los Procesos de Negocios.
- Mantener a la BD,Poner a disposición de toda la
empresa los datos que precisan los usuarios y
Coordinar el acceso a los datos. - Lo ideal es que los PN estén automatizados
7Reingeniería de los Procesos de Negocio (RPN)
- Uno de los más importante principios de RPN es la
eliminación de las filas. Las esperas cuestan
dinero y demoran el Negocio. - En la Reingeniería de un proceso, se analiza cada
paso, cada intervención y cada decisión . - Los pasos de Decisión e intervención pueden ser
automatizados? - Las reglas pueden ser transcriptas a un programa
para ser ejecutadas por una computadora, a fin de
evitar la intervención humana?
8Reingeniería de los Procesos de Negocio (RPN)
- El objetivo no es conseguir la automatización
total pero sí disminuir toda intervención humana
innecesaria. - Las computadoras y las personas harán su parte
correspondiente en el proceso de toma de
decisiones. - Esto destaca la diferencia entre las computadora
y las personas.
9Arquitectura Cliente / Servidor
10Arquitectura Cliente / Servidor
11Funciones de los Niveles en la Arquitectura
12Arquitectura de tres Niveles
- La Arquitectura de tres niveles es lógica y no
física. Se preocupa con las funciones y no con la
implantación. - La Arquitectura puede ser utilizada para
desarrollar sistemas Centralizados o
Distribuidos. - La Arquitectura facilitará la distribución de los
componentes del sistema.
13Beneficios
- Estructura para la elaboración de aplicativos
flexibles y fáciles de modificar, según las
necesidades del negocio(cambio). - Alto nivel de reutilización del software y datos.
- fácil y rápido desarrollo de aplicativos grandes
y complejos, para las transacciones y los SSD. - Fácil y rápido desarrollo de sistemas
distribuidos que dan soporte a la administración
central y a equipos autogestionados
14Niveles de abstracción
Aplicaciones del Usuario
Reglas del Negocio
Base de Datos
15Beneficios de la abstracción
- Esconde de cada nivel los detalles contenidos en
los niveles inferiores - Desarrollo simplificado del aplicativo
- al desarrollar un nivel no precisa preocuparse
por el otro - Mayor seguridad y protección
- el desarrollador de un nivel no puede controlar
físicamente otra camada en ningún nivel de detalle
16Interfaz entre las camadas
- Es la superficie entre los componentes adyacentes
de un aplicativo y el dispositivo por medio del
cual ellos interactúan a través de las siguientes
funciones - Informa lo que el otro componente debe hacer,
pregunta el estado actual del otro componente,
recibe el resultado de las operaciones
solicitadas.
17Tipos de interfaces
Aplicativo del Usuario
Interacción con el usuario
Interacción con los componentes de la
misma camada
Interacción con los componentes de otra camada
Reglas del Negocio
Pedido de proceso
Actualización de consultas
Base de Datos
18Proyecto de cada nivel
19Interfaz Base de Datos
- Funciones de las transacciones
- Ejecutar actualizaciones consistentes con los
datos. - Imponer reglas básicas del negocio.
- Evitar cambios no autorizados o inválidos
- Funciones de las consultas
- Facilitar consultas complejas
- Asegurar consistencia
- Garantizar seguridad
20Base de Datos independientes de las Reglas del
Negocio
- Proyecte la base de datos usando un modelo de
planeamiento. - Desarrolle consultas y transacciones que ofrezcan
un buen acceso a la base de datos. - Solo permita que las transacciones bien
elaboradas actualicen la base de datos. - Aisle a los usuarios de los detalles y de la
localización de las base de datos fundamentales.
21Interfaz de las reglas del proceso del negocio
- Inter operabilidad
- Capacidad de compartir trabajo, compartir
software y hacer cosas consistente para toda la
organización. - Reutilización
- Uno de los principales motivos que imposibilita
la reutilización de códigos es la falta de
separación entre la interfaz del usuario, las
reglas del negocio, y la administración de la
base de datos en un mismo programa.
22FlexibilidadInteroperabilidad reutilizabilidad
IU
RN
Base de Datos
Reglas del Negocio
BD
Interfaz Usuario
Independencia y mocularidad de los
procesos Reutilización del código
23Flexibilidad de las Reglas del Negocio
- Un único módulo de software trata de una tarea
específica. - Este módulo es independiente de la BD y de la
interfaz del Usuario. - Todas las aplicaciones de la organización
utilizan este módulo para realizar esa misma
tarea.
24Interfaz de la Aplicación del Usuario
- Libertad para los Usuarios
- Modelan el sistema según sus necesidades sin
afectar las reglas del negocio y la base de
datos. - Libertad para la Organización
- La aplicación del usuario envía solicitudes de
procesos formales para ejecutar las reglas del
negocio, transacciones y consultas en la Base de
Datos. - Las Reglas del Negocio y la Base de Datos quedan
aislados de los cambios en la interfaz de los
Usuarios.
25División del trabajo
- El desarrollo de un buen sistema Cliente /
Servidor exige especialización de - Interfaz gráfica
- Redes de computadora
- Programación de Negocios
- Base de Datos
- Programación de Base de Datos
- Distribución de sistemas
26Es posible desarrollar un Sistema Distribuido
- Distribución de Datos
- Distribución de Procesamiento
- Interfaz gráfica con el usuario
27Existen los Sistemas Distribuidos
28Cambios en la Naturaleza de los sistemas de
aplicación
- Históricamente el área de informática elabora los
sistemas de aplicación de forma completa, estando
los usuarios obligados a tomarlos o dejarlos. - En el futuro, el área informática elaborará la
infraestructura, o sea La base de Datos, los
módulos de los procesos de negocio, y kits de
herramientas para que el usuario pueda elaborar
sus propias aplicaciones.
29Función del área Informática
- Proveer los procesos de las reglas del negocio.
- Proveer las estructuras fundamentales de las
Bases de Datos - Proveer los elementos de la interfaz
- Proveer la infraestructura general de los
sistemas, sobre la cual los equipos de trabajo
puedan montar sus aplicaciones.
30Metodología actual de proyectos
Requisitos
Modelo de Datos
Modelo Funcional
Proyecto de la Aplicación
31Un modelo para el planeamiemto y desarrollo
32Del Modelo Conceptual a lo Físico
Modelo de Negocios
Flujo de Procesos
Flujo de Trabajo
Conceptual
Reglas
Modelo de Datos
Interacción de Procesos
Secuencia de Formulario
Lógico
Desempeño
Base de Datos
Programa
Formularios Pantalla
Físico
33Diagrama para un Proyecto de Sistemas
Requisitos
Base de Datos
Arquitectura
Proceso de Negocios
Interfaz, flujo de trabajo
Proyecto de la Aplicación
Reglas del Negocio
Estructura General
34Arquitectura
- Considera como los tres niveles de la aplicación
se relacionan - Focaliza sobre la estructura y la adaptación
- Determina que entra en cada nivel y como la
aplicación se relaciona con otras aplicaciones.