Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Por:
Sorey Bibiana García Zapata
Sobre mi…
Una frase para empezar…
“El conocimiento esta condicionado por la experiencia”
Wikipedia
Se entendió?
Veamos que tanto…
Cuales son los componentes que se distribuyen?
Que es un componente?
Que debería saberse y/o tenerse en
cuenta para desarrollar una aplicación
distribuida?
Protocolos
Cliente/Servidor
Comunicación
Webservices Despliegue
Servicios Objetos
UML
Interfaces
Niveles
Algunos Conceptos…
Comunicación
Interoperabilidad
Arquitectura Lógica de Negocio
Qué es un componente?
Veamos una definición formal...
Aplicación
Niveles
Capas
Componentes
Clases
Otros
Recursos
Hablar de clases en este punto, nos hace
recordar que debemos hacer un recuento de
nuestros conocimientos sobre programación
orientada a objetos, ya que la construcción
de componentes esta basada en los mismos
principios y/o características con las que
cumple este conocido paradigma
Recordemos lo más básico…
Los principios que dirigen la orientación a objetos son…
… la modularidad y la reusabilidad
Qué son?
En términos simples la modularidad
significa trabajar por partes…
(de hecho, tal cual como lo plantea el desarrollo por componentes)
Y la reusabilidad significa
No se invente la rueda!
Que es un mensaje?
La Presentación
La Lógica de Negocio
El Acceso y Almacenamiento de Datos
Veamos entonces que significan
cada una de estas partes…
La Presentación o interfaz de usuario se
refiere al mecanismo de interacción del
usuario con el sistema
Aplicaciones Monolíticas
Aplicaciones Cliente/Servidor
Aplicaciones de 3 Capas
Aplicaciones de N Capas
…veamos unas definiciones sobre estas
Una aplicación monolítica o de una capa es
aquella cuya interfaz, lógica de negocio y acceso a
datos se encuentran mezclados o altamente
acoplados, esto dificulta que pueda hacerse una
separación lógica y física donde alguna de las partes
pueda ser reutilizable.
Una aplicación Cliente/Servidor o aplicación
de dos capas es aquella donde los datos y la
lógica de negocio se encuentran separados de
la interfaz, este tipo de aplicación también es
denominada, cliente liviano.
Otro escenario válido para una aplicación
Cliente/Servidor, se da separando los datos de
la interfaz y la lógica de negocio, este tipo de
aplicación también es denominado, cliente
pesado.
Una aplicación 3 capas es aquella donde
la interfaz, la lógica de negocio, el acceso
a datos y los datos se encuentran
separados.
Es muy importante entender, que la
separación de la que se habla no es
necesariamente física, como ya se había
dicho antes, la primera separación que se da
es lógica y debemos reiterar que la
separación lógica es programática.
Pero es bastante común encontrar en la literatura que no se separan
explícitamente los conceptos de niveles y capas…
Es mucho más que una cuestión de gusto, hay que pensar en los
costos, la productividad, portabilidad e interoperabilidad entre
muchos otros factores…
Y las consideraciones de la
Capa de Acceso a Datos?
Nuevamente solo por mencionar los
más usados…
Bueno y si ya están separadas las 3
capas principales, que es entonces una
de aplicación de N capas?
Pues bien, la evolución de la tecnología y las redes
de comunicaciones, hacen que cada día se generen
nuevos escenarios de intercambio de información
entre empresas, y entre sistemas existentes dentro
de las empresas, de forma que se satisfagan las
necesidades constantes y cambiantes de clientes y
usuarios, para quienes debería resultar
transparente el obtener información de un sistema
u otro.
Otra de las razones importantes por las que surge
este concepto, es debido a que en la evolución del
desarrollo de software, se ha identificado la
necesidad de crear nuevas capas, especializadas en
funciones especificas, diferentes a las 3
identificadas previamente.
Esta es la visión
simplificada de la
misma propuesta
Ya que hemos hecho énfasis en el significado del
desarrollo o distribución de la lógica de
programación y recursos del sistema por capas,
continuemos hablando de los componentes.
… ahora bien…
http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb
Tratemos de simplificar lo que acabamos de leer…