Actualizado el 21 de Marzo del 2018 (Publicado el 8 de Enero del 2018)
1.213 visualizaciones desde el 8 de Enero del 2018
3,9 MB
38 paginas
Creado hace 11a (21/09/2013)
Retos
en
el
Desarrollo
de
Interfaces
para
Aplicaciones
Modernas
Arturo
Durán
Etask
Technologies
Cámara de Comercio de Bogotá – Centro Empresarial Chapinero
XXXIII Salón de Informática ACIS
Agenda
• Evolución de la tecnología web
• Motivaciones para un cambio
• Arquitectura de presentación basada en servicios
• Uso de la tecnología web hoy en día
• Caso de estudio
• Aplicabilidad en la industria colombiana
XXXIII Salón de Informática ACIS
Evolución de la Tecnología Web
Cronología
XXXIII Salón de Informática ACIS
Evolución de la Tecnología Web
Motores de templates
• Código embebido en elementos
HTML estáticos
• Mezcla de HTML dinámico y
estático
Las páginas HTML se generan
en el servidor
•
• Páginas completas son enviadas
al cliente en cada petición
• Ejemplos:
• Java Server Pages (JSP)
• PHP
• Active Server Pages (ASP)
XXXIII Salón de Informática ACIS
Evolución de la Tecnología Web
Frameworks MVX
•
• Separación de responsabilidades en la
Inician con estilo MVC
presentación
• Procesamiento de las páginas sigue
estado del lado del servidor
La vista evoluciona
•
• Ejemplos:
• ASP.NET MVC
• Struts, Spring MVC
• Ruby on Rails
• Django (Python)
• Grails (Groovy)
XXXIII Salón de Informática ACIS
Evolución de la Tecnología Web
AJAX
• Asynchronous Javascript and XML
• El contenido dinámico cambia sin
recargar la página
• Aplicaciones interactivas adquieren
capacidades de clientes enriquecidos
• XmlHTTPRequest + Javascript +
JSON / XML
XXXIII Salón de Informática ACIS
Evolución de la Tecnología Web
Procesos de las aplicaciones Web
1. Descarga de la aplicación o recursos
Código portátil es descargado al navegador (Javascript, HTML,
Applets, Flash, etc.)
2. Flujo de Presentación
Renderizado de los componentes de presentación en respuesta a
las entradas del usuario y cambios de estado de los datos.
3.
Intercambio de datos
Petición y recepción de información entre entidades de software
(búsquedas, actualizaciones, etc. )
XXXIII Salón de Informática ACIS
Evolución de la Tecnología Web
Procesos de las aplicaciones Web
XXXIII Salón de Informática ACIS
Evolución de la Tecnología Web
Características de los enfoques tradicionales
1. Fuerte acoplamiento entre flujo de presentación e intercambio de
datos
•
Iniciar un flujo de presentación siempre desencadena intercambio de
datos.
• Cualquier operación de intercambio de datos deviene en una
operación de flujo de presentación que la compensa.
• Ambas operaciones deben realizarse pasando por el servidor
2. El flujo de presentación y el intercambio de datos son dos
aspectos que deberían estar desacoplados
• Separación de responsabilidades
XXXIII Salón de Informática ACIS
Agenda
• Evolución de la tecnología web
• Motivaciones para un cambio
• Arquitectura de presentación basada en servicios
• Uso de la tecnología web hoy en día
• Caso de estudio
• Aplicabilidad en la industria colombiana
XXXIII Salón de Informática ACIS
Motivaciones para un Cambio
Ventas mundiales de dispositivos por tipo
Fuente: Business Insider
XXXIII Salón de Informática ACIS
Motivaciones para un Cambio
Las ventas de desktops estancadas
Fuente: Business Insider
XXXIII Salón de Informática ACIS
Motivaciones para un Cambio
Estimados de venta de tabletas
Fuente: Business Insider
XXXIII Salón de Informática ACIS
Motivaciones para un Cambio
El grueso del uso de dispositivos serán los móviles
Fuente: Business Insider
XXXIII Salón de Informática ACIS
Motivaciones para un Cambio
SOA y el enfoque Cloud han llegado para quedarse
XXXIII Salón de Informática ACIS
Motivaciones para un Cambio
La percepción comparativa
XXXIII Salón de Informática ACIS
Motivaciones para un Cambio
Posible
Necesario
JavaScript ha llegado a una fase de
estandarización impulsada por grandes
jugadores de tecnología como Google.
Paralelamente los frameworks basados en
AJAX han crecido y evolucionado
constantemente año tras año
La diversidad de plataformas cliente es
inminente. Se hace necesario diseñar
arquitecturas que fomenten el reuso de
servicios para varios tipos de plataforma.
Después de años de especulación e
incertidumbre, SOA finalmente se ha
consolidado como un paradigma maduro en
la teoría y en la práctica
SOA se ha convertido en el arquetipo por
defecto para desarrollar aplicaciones
basadas en cloud y para integrar
aplicaciones existentes.
XXXIII Salón de Informática ACIS
Agenda
• Evolución de la tecnología web
• Motivaciones para un cambio
• Arquitectura de presentación basada en servicios
• Uso de la tecnología web hoy en día
• Caso de estudio
• Aplicabilidad en la industria colombiana
XXXIII Salón de Informática ACIS
SOFEA
Arquitectura de presentación basada en servicios
• En Octubre del 2007 es publicado el paper Life beyond the
Service Tier, el cual ilustra un estilo arquitectónico para
aplicaciones modernas.
Publicado por Ganesh Prasad, Rajat Taneja, Vikrant Todankar
• Service Oriented Front-End Architecture.
• Se declara como un estilo arquitectónico y no como una
implementación de arquitectura tradicional.
• Orientado a servicios y enfocado a sacar el máximo provecho de
las tecnologías actuales a nivel de cliente.
XXXIII Salón de Informática ACIS
Estado de la Tecnología Web
Cronología
XXXIII Salón de Informática ACIS
SOFEA
Procesos Web
XXXIII Salón de Informática ACIS
SOFEA
Principios
La descarga de la aplicación, el
flujo de presentación y el
intercambio de datos deben estar
desacoplados. (Contrario a
aplicaciones tradicionales Web
1.0)
El flujo de presentación es una
responsabilidad del cliente
únicamente.
Explorar varios mecanismos para
la fase de descarga de aplicación
teniendo en cuenta el tamaño de
la aplicación, seguridad, etc.
(Enriquecido versus ligero)
Toda comunicación para obtener
datos del servidor debe ser
haciendo uso de servicios (REST,
SOAP, RPC, etc.)
El patrón MVX a implementar
debe estar en el cliente, nunca en
el servidor.
XXXIII Salón de Informática ACIS
SOFEA
Comparando
XXXIII Salón de Informática ACIS
SOFEA
Ciclo de vida con el servidor y MVX
Descarga
inicial de la
aplicación
Intercambio de
datos haciendo uso
de servicios
XXXIII Salón de Informática ACIS
SOFEA
Beneficios
Escalabilidad
• El servidor tiene menos que hacer y no requiere datos de sesión.
Retorno de inversión por funcionalidad
• El uso de servicios por parte de múltiples clientes hace que su costo se reduzca
Mejor experiencia de usuario
• Menor latencia se traduce en mayor percepción de desempeño para el usuario.
• Después de que la aplicación es descargada, sólo se transportan datos.
Encaja naturalmente en entornos Soa y Cloud
Posibilidad para desarrollar modo offline en aplicaciones
• Si ocurre un fallo de red es posible hacer que el usuario pueda seguir trabajando en el sistema
Interoperabilidad
• Integración con nuevos clientes más fácil con menos sobrecosto
XXXIII Salón de Informática ACIS
SOFEA
Necesidades
• Necesita de un recurso humano especializado para trabajar con la
• Requiere una metodología de desarrollo que orientada al
tecnología seleccionada
cumplimiento que permita ver avances en corto tiempo para tomar
decisiones sobre la marcha
• El diseño funcional debe ser flexible de modo que el equipo pueda
darle solución a los requerimientos de otros modos en caso de
encontrar un bloqueo técnico.
• Se apoya en un equipo de trabajo altamente motivado y
comprometido con el producto de software.
XXXIII Salón de Informática ACIS
Agenda
• Evolución de la tecnología web
• Motivaciones para un cambio
• Arquitectura de presentación basada en servicios
• Uso de la tecnología web hoy en día
• Caso de estudio
• Aplicabilidad en la industria colombiana
XXXIII Salón de Informática ACIS
Uso de la Tecnología Web
Colombia (Estimado)
XXXIII Salón de Informática ACIS
Agenda
• Evolución de la tecnología web
• Motivaciones para un cambio
• Arquitectura de presentación basada en servicios
• Uso de la tecnología web hoy en día
• Caso de estudio
• Aplicabilidad en la industria colombiana
XXXIII Salón de Informática ACIS
Caso de Estudio - Trello
Trello es una aplicación multiplataforma para la gestión de
proyectos unipersonales o ejecutados en equipo.
Fue creada por Fog Creek y se liberó en septiembre de 2011.
Trello
•
•
• Uno de sus objetivos a largo plazo es llegar a los 100 millones de
usuarios, esto implica eliminar cualquier elemento que impida la
adopción del sistema
• En octubre de 2012 llegó al millón de usuarios.
• Desarrollada con una metodología ágil, la aplicación está
disponible via web, o mediante uso de smartphones iOS y Android.
“Get Big Fast product”. Esperan obtener pequeños ingresos de un
número muy elevado de usuarios, contrario a tratar de generar
ingresos altos de pocos usuarios.
•
XXXIII Salón de Informática ACIS
Caso de Estudio - Trello
Trello
XXXIII Salón de Informática ACIS
Caso de Estudio - Trello
Trello
• Usa tecnologías de punta (realmente de punta).
• Ya cuentan con una versión paga que tiene funcionalidades
adicionales.
• Basada su arquitectura en APIs y plugins
•
Integración continua
XXXIII Salón de Informática ACIS
Caso de Estudio - Trello
Arquitectura
XXXIII Salón de Informática ACIS
Agenda
• Evolución de la tecnología web
• Motivaciones para un cambio
• Arquitectura de presentación basada en servicios
• Uso de la tecnología web hoy en día
• Caso de estudio
• Aplicabilidad
Comentarios de: Retos en el Desarrollo de Interfaces para Aplicaciones Modernas (0)
No hay comentarios