Smart Client cliene superinteligente
-
Upload
jose-de-jesus -
Category
Documents
-
view
220 -
download
0
description
Transcript of Smart Client cliene superinteligente
El termino sincronizar denota que un “evento ocurre al mismo tiempo que otro”. En
ambientes de Computación, la sincronización de datos representa el proceso de hacer
que dos conjuntos de datos sean aparentemente idénticos.
Los objetivos a cumplir para realizar la sincronización de datos en sistema de dispositivos
móviles son los siguientes:
Mantener cada sistema con los datos actualizados: Si se piensa en una red donde
sus datos están distribuidos, es indispensable que cada sistema cuente con datos
actualizados.
Reducir la carga sobre la red: El flujo de datos de la red puede ser reducido
considerablemente si en lugar de consultar un servidor central, se accede a datos
locales sincronizados.
Datos consistentes: A pesar de que los clientes móviles contienen sus propios
datos locales sincronizados, no siempre están conectados a la red. En esos
momentos que no se posee conexión, el cliente móvil debe ser capaz de seguir
operando sus sistemas con los datos locales obtenidos en la última sincronización.
Resolver los conflictos surgidos: Cuando en una red existen varios clientes que
utilizan los mismos sistemas sobre el mismo conjunto de datos, es posible que
existan conflictos al querer sincronizar sus datos con los demás.
Entregar Servicio de Calidad: Aplicaciones como voz y video, necesitan ir al mismo
tiempo con cada entrega de información. Si las aplicaciones no pueden entregar el
mínimo servicio de calidad requerido, las aplicaciones no podrán operar en forma
óptima.
Continuando, basados en cómo será la sincronización, se puede clasificar en dos
categorías : Sincronización Lenta (Slow sync) y Sincronización Rápida (Fast sync).
Sincronización Lenta: Durante la sincronización lenta, también conocida como
sincronización completa, todas las entradas de un dispositivo son enviadas hacia
el otro dispositivo. Una vez enviadas todas las entradas, se descartan todas las
entradas duplicadas y se detectan las nuevas o modificadas para finalmente
actualizar los restantes dispositivos. Este es un proceso largo y costoso en
recursos, pero a veces necesario según el dispositivo.
Sincronización Rápida: La sincronización rápida involucra el envío de los datos
que sólo han sido modificados. Las entradas modificadas sobre el servidor pueden
ser rastreadas en intervalos de tiempo. Similarmente en el cliente, se puede utilizar
un indicador para saber si la entrada ha sido modificada. Mientras se realiza la
sincronización, todas las entradas en el cliente son enviadas y una vez terminada
la sincronización exitosa, se eliminan esos indicadores de las entradas. Este
mecanismo puede provocar la existencia de conflictos durante la sincronización.
Algunos conflictos pueden ser resueltos automáticamente combinando ambas
entradas y otros requieren que sus conflictos sean resueltos manualmente.
La sincronización de datos sobre dispositivos móviles no es tarea sencilla. Al encontrarse
sus datos dispersos sobre los dispositivos móviles y la pérdida de conexión que sufren los
mismos, es probable que se produzcan colisiones y conflictos entre los datos a
sincronizar. Esto último y otros temas más, los integra la herramienta que se propone en
este informe la cual se detalla a continuación.
ARQUITECTURA PARA APLICACIONES MÓVILES
La arquitectura que proponemos para las aplicaciones móviles consiste en incorporar un
administrador de la sincronización de datos, que denominamos Motor de Sincronización,
cuya función es permitir trabajar a las aplicaciones locales sin conexión y administrar las
tareas de la actualización de los datos
Este componente, motor de sincronización, está formado a su vez de subcomponentes o
módulos que pueden trabajar independientemente: uno que trabaja con la aplicación local
del dispositivo móvil y el otro que centraliza los datos de las aplicaciones. La componente
del motor de sincronización que reside en el dispositivo móvil, trabaja directamente con la
aplicación local del mismo y cuenta con lógica que le permite operar independientemente
al estado de la conexión del dispositivo. La otra componente del motor de sincronización,
es la encargada de centralizar los datos de las aplicaciones de los dispositivos móviles,
denominada componente central. Como se puede apreciar , tanto en la componente
central, como en la componente del dispositivo móvil, se cuenta con un motor de
sincronización. Con el fin de lograr diferenciarlos entre ellos, denominaremos Motor de
Sincronización Cliente al módulo que reside en el dispositivo móvil; y Motor de
Sincronización Servidor al módulo que está en la componente central.
Arquitectura Smart Client
Por ahora usted probablemente sabe que las aplicaciones cliente inteligentes difieren
significativamente de cliente ligero, soluciones inalámbricas basadas en el navegador.
Como regla general, las aplicaciones cliente inteligentes permiten al usuario acceder a los
datos cuando se desconecta de la red. Hay muchas maneras en que esto se puede
lograr, pero para los propósitos de esta sección, vamos a centrarse en la creación de
aplicaciones que incorporan un almacén de datos persistente, y no sólo el uso de
mecanismos de caché simples.
La arquitectura de cliente inteligente se ilustra en la Figura 7.1. En el cliente, usted tiene la
interfaz de usuario, la lógica de negocio, así como un almacén de datos persistente. Esta
aplicación se comunica con una fuente de datos back-end, a menudo a través de un
servidor de sincronización intermedia. El propio flujo de la comunicación puede funcionar
ya sea inalámbrica oa través de una conexión alámbrica. Dependiendo de la tecnología
que se utilice, la conexión puede requerir una red basada en IP o una capa adicional de
comunicación para el proceso de sincronización.
Cuando este tipo de solución se implementa, rápidamente se hace evidente por qué se
llama una solución de cliente inteligente. Mediante la implementación de una aplicación
para el dispositivo en sí, usted tiene la capacidad de dar a la aplicación cliente de algún
"inteligencia", o la lógica. Esta lógica dicta muchos aspectos de la aplicación. Se
determina que la aplicación obtiene que los datos de (ya sea a nivel local o de una ida y
vuelta al servidor), ¿cómo se presenta y se almacenan los datos, así como el conjunto de
datos que necesita ser comunicada de nuevo a los sistemas de la empresa a través de un
proceso de sincronización. En el espacio inalámbrico, el impacto de tener la lógica de
negocio en el dispositivo a menudo se pasa por alto como muchos vendedores y
desarrolladores se centran en las características técnicas de bajo nivel de una solución en
lugar de satisfacer las necesidades del usuario móvil.
El Cliente
Aplicaciones cliente inteligentes proporcionan muchas características atractivas para los
usuarios finales. Muchas de estas características residen en la aplicación cliente sí
mismo. Al proporcionar una interfaz de usuario con el almacenamiento de datos
persistente, las aplicaciones cliente inteligentes son adecuados para una gran variedad de
aplicaciones corporativas. Vamos a echar un vistazo más de cerca a cada uno de los
componentes que conforman el cliente de aplicaciones de cliente inteligente.
Interfaz de usuario
Inicialmente, la interfaz de usuario puede no parecer importante en el desarrollo de
aplicaciones móviles, como la mayoría de la gente siente que no siempre va a ser un
compromiso entre tamaño y facilidad de uso. Pero esta compensación no siempre tiene
que tener lugar. Aplicaciones cliente inteligentes pueden tener interfaces de usuario muy
sofisticadas. En la mayoría de los casos, que se programan utilizando herramientas de
desarrollo que cuentan con marcos amplios componentes. La incorporación de tablas,
listas desplegables, botones de opción y gráficos son operaciones sencillas. Esto
contrasta con las capacidades disponibles para la mayoría de las aplicaciones de Internet
inalámbricos, donde la interfaz de usuario es a menudo basado en texto con soporte
limitado para componentes gráficos.
Ya sea que usted está desarrollando para Palm OS, Windows CE, Symbian OS, o un
sistema basado en Java, se dará cuenta de que el desarrollo de la interfaz de usuario es
una parte muy importante de una aplicación exitosa. Cuando el tamaño de la pantalla es
limitado, como lo es para los dispositivos de mano, el desarrollador debe aprovechar al
máximo el espacio disponible. Además, poniendo especial énfasis en la navegación a
través de una aplicación es esencial. Los usuarios de aplicaciones móviles son a menudo
las mismas personas que han estado usando la aplicación basada en Windows avanzado
durante años; por lo tanto, tienen ciertas expectativas de usabilidad que se deben cumplir.
Una de las principales razones dadas por los consumidores por su lenta aceptación de
aplicaciones inalámbricas es la complejidad de las soluciones disponibles. Esta
complejidad se debe generalmente al diseño de aplicaciones pobres, en lugar de
limitaciones técnicas. La obtención de la retroalimentación del usuario final durante la fase
de desarrollo a través de un prototipo puede ayudarle a abordar las preocupaciones de
usabilidad en una etapa temprana en el proceso de desarrollo de aplicaciones. En la
sección de sistemas operativos móviles más adelante en este capítulo, vamos a echar un
vistazo a los sistemas operativos móviles más populares y revisar los tipos de
aplicaciones que cada sistema operativo puede soportar.
Sincronización de Datos
En la mayoría de las arquitecturas de cliente inteligente, la mayor parte del trabajo de
sincronización de datos se ejecuta, no en el cliente, pero en un servidor de sincronización.
Sin embargo, todavía se requiere la aplicación cliente para tener una cierta cantidad de
conocimientos de sincronización. Como mínimo, el cliente tiene que conocer la ubicación
del servidor de sincronización, los detalles sobre el flujo de comunicación con el servidor,
qué datos tiene que ser sincronizada, y cómo manejar los datos entrantes desde el
servidor.
Si está desarrollando capa la sincronización de usted mismo, usted tendrá que tener en
cuenta estas cuestiones en el diseño de la aplicación. Si usted va a utilizar el software
disponible en el mercado, la mayoría de los proveedores ofrecen un módulo de cliente de
sincronización que incorpora la funcionalidad requerida con varios niveles de sofisticación.
(Capítulo 10, "Integración de la empresa a través de sincronización" ofrece una mirada
más cercana a las opciones disponibles para la sincronización de datos, tanto para el
cliente y el servidor.)
Mensajería
Aplicaciones cliente inteligentes también pueden tomar ventaja de los sistemas
inteligentes de mensajería de aplicación a aplicación de comunicar los datos. Para ello, un
componente de cliente tiene que ser capaz de enviar y recibir estos mensajes. Al recibir
un mensaje, tiene que ser lo suficientemente inteligente como para transmitir la
información de manera adecuada. Esta comunicación puede implicar notificar al usuario
directamente o, posiblemente, la actualización de un conjunto de los datos en el almacén
de datos cliente. De aplicación a aplicación de mensajería puede ser importante para las
aplicaciones que requieren una comunicación frecuente con los sistemas empresariales.
Synchronization Fundamentals
In the previous chapter, we learned how persistent data storage enables users to access
enterprise data without being connected to a network. Without enterprise synchronization,
the data on the devices would quickly become stale, hence unsuitable for many corporate
applications. The synchronization process allows you to execute bidirectional updates on
the required data. Any changes that have been made on the client device can be
transmitted to the server database, and any changes on the server can be transmitted to
the client device. In this way, you can keep the data on the client and the server
synchronized.
Note
The term replication is often used in conjunction with synchronization, leading to some
confusion. Replication is the process of making a copy of something (a replica). In
database terminology, replication can be used to describe two processes: first, the
bidirectional transfer of data between systems, in which use it is a pseudonym for
synchronization; second, the one-way copying of data from one system to another,
wherein it is quite different from synchronization. To be consistent, we will use
synchronization, not replication, to describe the data transfer process.
Whether you are synchronizing over wireless networks or a wireline connection,
synchronization offers many important benefits over an always-connected solution,
namely:
Reduced data transfer over the network, often leading to reduced transmission costs.
Reduced loads on the enterprise server.
Faster data access, because the user does not have to constantly wait for data to
download.
Increased control over data availability.
In the following pages, we will take a look at how synchronization works and introduce
features you should consider as part of an enterprise synchronization solution.
http://etutorials.org/Mobile+devices/mobile+wireless+design/
Part+Two+Building+Smart+Client+Applications/Chapter+7+Smart+Client+Overview/
Smart+Client+Architecture/
http://sedici.unlp.edu.ar/bitstream/handle/10915/22443/Documento_completo.PDF?
sequence=1
https://prezi.com/581wd70p6szu/unidad-2-arquitectura-de-aplicaciones-en-dispositivos-
movil/