Arquitecturas DistribuidasEduardo Ostertag Jenkins, Ph.D.OBCOM INGENIERIA S.A.Eduardo.Ostertag@obcom.cl
Temario Arquitectura Cliente/Servidor File Arquitectura Cliente/Servidor SQL Arquitectura Cliente/Servidor RPC Arquite...
Cliente/Servidor File (1)• • • •ServidorArchivos con datosMicrosoft Access MDBComputadorInterfaz GráficaLógica SoluciónMot...
Cliente/Servidor File (2) Características Todo está en un solo programa (GUI+Lógica) Programas acceden a un Servidor de...
Cliente/Servidor SQL (1)• • • •ServidorBD RelacionalTablas SQLSQLDATAComputadorInterfaz GráficaLógica ClienteLógica Negoci...
Cliente/Servidor SQL (2) Características Manejo de datos centralizados en RDBMS Clientes leen/cambian datos utilizando ...
Cliente/Servidor RPC (1)• • • •ServidorBD RelacionalTablas SQLRPCDATAComputadorInterfaz GráficaLógica ClienteLógica Negoci...
Procedimientos Almacenados Ventajas Modelo de datos se puede modificar/optimizar (desacoplamiento) Único mecanismo de a...
Cliente/Servidor RPC (2) Características Clientes hacen llamados remotos (RPC) Fácil cambiar y optimizar el Modelo de D...
IntranetArquitectura de Tres Niveles (1)• • • •RDBMSComputadorProgramaComputadorProgramaServidor Middleware (MOM, MT, AS)P...
Arquitectura de Tres Niveles (2) Características Clientes se comunican con Servidor Middleware Servidor Middleware se c...
Arquitectura Web Estándar (1)Intranet• • • •RDBMSComputadorBrowserComputadorBrowserServidor Web (HTTP)HTML, JSP, ASP, Serv...
Arquitectura Web Estándar (2) Características El programa cliente es un “Browser” (HTTP) Solución programada con HTML+J...
Arquitectura RIA con AJAX (1)Intranet• • • •RDBMSServidor WebInternetFirewallComputadorBrowserAJAXComputadorBrowserAJAXSer...
Arquitectura RIA con AJAX (2) AJAX (Asynchonous JavaScript and XML) Se programa con lenguaje JavaScript XHTML (HTML) + ...
Arquitectura RIA con AJAX (3) Ventajas Permite crear interfaz tipo “desktop” (rich) Se programa con un Framework (Backb...
Arquitectura RIA con VM (1)Intranet• • • •RDBMSServidor WebInternetFirewallComputadorBrowserRIA VMComputadorBrowserRIA VMS...
Arquitectura RIA con VM (2) Ventajas Se programa una VM (Flash, Java, .NET) Se pueden utilizar Servicios SOAP y REST P...
RIA Virtual Machines (VM)RIA Virtual Machine Multi OS Tamaño Disponibilidad IDEAdobe Flex Si 1,4MB Alta EclipseAdobe AIR S...
Aplicación RIA Applet Java (1)
Aplicación RIA Applet Java (2)
Aplicación RIA .NET
Aplicación RIA Adobe Flex (1)
Aplicación RIA Adobe Flex (2)
Muchas gracias
Próxima SlideShare
Cargando en…5
×

Arquitecturas Distribuidas. (Edo Ostertag)

651 visualizaciones

Publicado el

Publicado en: Tecnología
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
651
En SlideShare
0
De insertados
0
Número de insertados
5
Acciones
Compartido
0
Descargas
9
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Arquitecturas Distribuidas. (Edo Ostertag)

  1. 1. Arquitecturas DistribuidasEduardo Ostertag Jenkins, Ph.D.OBCOM INGENIERIA S.A.Eduardo.Ostertag@obcom.cl
  2. 2. Temario Arquitectura Cliente/Servidor File Arquitectura Cliente/Servidor SQL Arquitectura Cliente/Servidor RPC Arquitectura de Tres Niveles Arquitectura Web Estándar Arquitectura RIA con AJAX Arquitectura RIA con VM Demos de aplicaciones RIA-VM
  3. 3. Cliente/Servidor File (1)• • • •ServidorArchivos con datosMicrosoft Access MDBComputadorInterfaz GráficaLógica SoluciónMotor SQLComputadorInterfaz GráficaLógica SoluciónMotor SQLREADBYTESIntranet
  4. 4. Cliente/Servidor File (2) Características Todo está en un solo programa (GUI+Lógica) Programas acceden a un Servidor de Archivos Fácil y rápido de construir con un IDE Se requiere “know-how” de un solo ambiente Soluciones pequeñas (10 a 15 computadores) Desventajas Toda la data debe viajar a los clientes para queel Motor SQL pueda ejecutar sentencias SQL La red se transforma en cuello de botella
  5. 5. Cliente/Servidor SQL (1)• • • •ServidorBD RelacionalTablas SQLSQLDATAComputadorInterfaz GráficaLógica ClienteLógica NegocioComputadorInterfaz GráficaLógica ClienteLógica NegocioSQL = Structured Query LanguageIntranet
  6. 6. Cliente/Servidor SQL (2) Características Manejo de datos centralizados en RDBMS Clientes leen/cambian datos utilizando SQL Disminuye el flujo por red de comunicaciones Se requiere “know-how” de dos ambientes Soluciones medianas (≈100 computadores) Desventajas Modelo de Datos y Lógica están acoplados Difícil cambiar y optimizar Modelo de Datos
  7. 7. Cliente/Servidor RPC (1)• • • •ServidorBD RelacionalTablas SQLRPCDATAComputadorInterfaz GráficaLógica ClienteLógica NegocioComputadorInterfaz GráficaLógica ClienteRPC = Remote Procedure CallIntranet
  8. 8. Procedimientos Almacenados Ventajas Modelo de datos se puede modificar/optimizar (desacoplamiento) Único mecanismo de acceso al modelo de datos (seguridad) Todos (Java, .NET, Batch, etc.) usan misma reglas (reusabilidad) Uso eficiente de red de comunicaciones (marshalling, round-trips) Están precompilados (eficientes) y permiten programación modular Mucho “know-how” disponible en el mercado (programadores) Desventajas No son fácilmente migrables de un motor RDBMS a otro ...y esas serían todas las desventajas 
  9. 9. Cliente/Servidor RPC (2) Características Clientes hacen llamados remotos (RPC) Fácil cambiar y optimizar el Modelo de Datos Se requiere “know-how” de tres ambientes Soluciones grandes (≈1000 computadores) Desventajas Mala escalabilidad por contención BD (locks) RDBMS demasiado visible (seguridad) Arquitectura no adecuada para Internet
  10. 10. IntranetArquitectura de Tres Niveles (1)• • • •RDBMSComputadorProgramaComputadorProgramaServidor Middleware (MOM, MT, AS)Pocas conexionesExtranet Muchas conexiones
  11. 11. Arquitectura de Tres Niveles (2) Características Clientes se comunican con Servidor Middleware Servidor Middleware se comunica con RDBMS Se utilizan “Connection Pools” (pocas, reuso) Alto rendimiento del RDBMS (Markov Queues) Aísla el RDBMS de los programas clientes Desventaja Hay que instalar/actualizar programas clientes Arquitectura no adecuada para Internet
  12. 12. Arquitectura Web Estándar (1)Intranet• • • •RDBMSComputadorBrowserComputadorBrowserServidor Web (HTTP)HTML, JSP, ASP, Servlet, PHP, CGI, etc.InternetFirewall
  13. 13. Arquitectura Web Estándar (2) Características El programa cliente es un “Browser” (HTTP) Solución programada con HTML+JavaScript Se instala y actualiza automáticamente Permite comunicaciones encriptadas (SSL) Desventajas Modo de uso tipo “navegación por páginas” Servidor mantiene estado del cliente Servidor ejecuta lógica GUI del cliente
  14. 14. Arquitectura RIA con AJAX (1)Intranet• • • •RDBMSServidor WebInternetFirewallComputadorBrowserAJAXComputadorBrowserAJAXServicios REST
  15. 15. Arquitectura RIA con AJAX (2) AJAX (Asynchonous JavaScript and XML) Se programa con lenguaje JavaScript XHTML (HTML) + CSS para la interfaz Estructura DOM (Document Object Model) XMLHttpRequest comunicación asíncrona (XML) REST (Representation State Transfer) SOAP “light” – sin WSDL, Envelops, etc. HTTP GET/POST más data XML/XHTML
  16. 16. Arquitectura RIA con AJAX (3) Ventajas Permite crear interfaz tipo “desktop” (rich) Se programa con un Framework (Backbase) Sólo requiere la tecnología ya disponible Servidor Web no genera interfaz gráfica (HTML) Servidor Web no guarda estado (stateless) Desventajas Difícil programar y depurar los programas No permite crear clientes semi-conectados Limitado por seguridad del browser (sandbox)
  17. 17. Arquitectura RIA con VM (1)Intranet• • • •RDBMSServidor WebInternetFirewallComputadorBrowserRIA VMComputadorBrowserRIA VMServicios SOAP y RESTVM = Virtual Machine
  18. 18. Arquitectura RIA con VM (2) Ventajas Se programa una VM (Flash, Java, .NET) Se pueden utilizar Servicios SOAP y REST Permite crear clientes semi-conectados Fácil de programar y depurar los programas Desventajas Limitado por seguridad del browser (sandbox) Es necesario instalar una VM en el cliente
  19. 19. RIA Virtual Machines (VM)RIA Virtual Machine Multi OS Tamaño Disponibilidad IDEAdobe Flex Si 1,4MB Alta EclipseAdobe AIR Si 12MB Baja EclipseSun Java (JRE) Si 14MB BajaNetBeansEclipseSun JavaFX Si ? BetaNetBeansEclipseMicrosoft .NET No 23MB Baja Visual StudioMicrosoft Silverlight ¿Si? 1,4MB Baja Visual StudioAJAX Si N/A N/A Editor XML
  20. 20. Aplicación RIA Applet Java (1)
  21. 21. Aplicación RIA Applet Java (2)
  22. 22. Aplicación RIA .NET
  23. 23. Aplicación RIA Adobe Flex (1)
  24. 24. Aplicación RIA Adobe Flex (2)
  25. 25. Muchas gracias

×