Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Unidad 2. Arquitectura de aplicaciones en dispositivos móvil

No description
by

Diana Flores

on 3 March 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Unidad 2. Arquitectura de aplicaciones en dispositivos móvil

Unidad 2. Arquitectura de aplicaciones en dispositivos móviles
2.1 Clases de Arquitectura
Cliente-Servidor

¿Que es la arquitectura Cliente-Servidor?
2.1.1 Cliente Delgado
Un cliente liviano o cliente delgado (thin client o slim client en inglés) es una computadora cliente o un software de cliente en una arquitectura de red cliente-servidor que depende del servidor central para las tareas de procesamiento, y se enfoca principalmente en transportar la entrada y la salida entre el usuario y el servidor remoto.
2.2.2 Sistemas Operativos Actuales
Android
2.1.3 Cliente Robusto
Se denomina cliente robusto o pesado al programa "cliente" de una arquitectura cliente-servidor cuando la mayor carga de cómputo está desplazada hacia la computadora que ejecuta dicho programa. También se conoce como cliente grueso.
2.2 Sistemas Operativos Móviles
Un sistema operativo móvil o SO móvil es un sistema operativo que controla un dispositivo
móvil al igual que las Computadoras más grandes utilizan Windows, Linux o Mac OS entre otros.

Los sistemas operativos móviles son mucho más simples y están más orientados a la conectividad inalámbrica, los formatos multimedia para móviles y las diferentes maneras de introducir información en ellos.

Integrantes del Equipo

Elida Gómez Torres
Reynaldo Dávila Flores
Alan Helí Labastida Briones
Gabriela Alexandra Flores Morales
Muchos dispositivos de cliente liviano ejecutaban solamente navegadores web o programas de escritorio remoto, todo el procesamiento significativo ocurría en el servidor.

Algunos clientes livianos también son llamados "terminales de acceso".
Los dispositivos más recientes vendidos como clientes livianos pueden correr sistemas operativos completos tales como GNU/Linux Debian, calificándolos como nodos sin disco o clientes híbridos.
2.1.2 Cliente Inteligente
Cliente Liviano
Cliente inteligente
Cliente Pesado
Es el modelo de desarrollo que se ha utilizado con
éxito en las denominadas “aplicaciones web” (web applications), y ha sido re-tomado con algunas
adaptaciones en los ambientes móviles inalámbricos.
Servicios informativos (noticias, pronostico del tiempo, deportes, etc).
Aplicaciones de entretenimiento.
m-commerce (mobile).
Aplicaciones de un Cliente Delgado
En el modelo cliente inteligente, los datos son almacenados localmente y por lo tanto se pueden realizar las consultas y operaciones de la BD en el dispositivo móvil.

Sin embargo, los datos deben ser actualizados (sincronizados) con los del servidor de BD (Data Server).
Las actualizaciones se hacen en los dos sentidos:
cliente-servidor: los datos capturados en el cliente son enviados al servidor de datos.
servidor-cliente: los cambios realizados en el servidor son enviados al cliente para actualizar los datos locales.
El tipo de conexión afecta la sincronización de los datos entre el cliente y el servidor(es).

Su Sincronización es posible de dos maneras:

1)Continua.
2)Store-and-forward.

Ventajas:

Reduce la transferencia de datos a través de la red (datos distribuidos) reduce costos.
Reduce la carga de trabajo de los servidores (aplicaciones y datos).
Acceso permanente a los datos.
GUI sofisticada.
Smart client: Ventajas/Desventajas
Desventajas:

Desarrollo complejo en los clientes debido a la heterogeneidad de dispositivos móviles.
Diversidad de aplicaciones comerciales para sincronización ligadas al DBMS propietarios.
Aplicaciones Cliente inteligente

Automatización de fuerza de ventas y operarios móviles.
Aplicaciones en el área de servicios médicos.
Recolección de datos en campo.
Aplicaciones de diversión (p.ej: juegos).
Las compañías móviles han desarrollado
una competencia bastante reñida en
cuanto al desarrollo de SO se refiere, desde los inicios en los años 90 con las versiones de EPOC32 para PDA’s hasta los más avanzados y sofisticados como Android, IOS, BlackBerry que además de ser eficientes y estables son multiplataforma, lo que hace que cualquier persona tenga acceso a ellos desde un celular básico hasta un Smartphone.

Componentes de los SO móviles


Un sistema operativo móvil también se encuentra
compuesto por varias capas.
Capas:
Kernel:
El núcleo o Kernel, es la capa de software que permite el acceso a los diferentes elementos de hardware que conforman el dispositivomóvil. Encargado de brindar diferentes servicios a las capas superiores como los controladores de hardware, gestión de procesos, sistemas de archivos, además del acceso y administración de la memoria del sistema.


Los sistema operativos para móviles pueden basarse en núcleos Linux, tal como lo hace
Android, o hasta inclusive IOS, el SO del iPhone que utiliza un kernel heredado de Unix.

También en una gran cuota del mercado se encuentra presente Windows Mobile y RIM que
utilizan kernels propios.

En el caso de Android y el de RIM, ambos sistemas operativos presentan la particularidad de
contar con un motor Java en el desarrollo de sus núcleos.
Middleware:
Conjunto de módulos que permite que las aplicaciones diseñadas y escritas para tales plataformas puedan ser ejecutadas. Su funcionamiento es totalmente trasparente para el usuario, no debiendo realizar ninguna acción ni configurar alguna para su correcto desenvolvimiento.

Entre los servicios que presta esta capa podemos citar los motores de comunicaciones y mensajería, funciones de seguridad, servicios para la gestión de diferentes aspectos del móvil, ofrece servicios claves como el motor de mensajera y comunicaciones, codecs multimedia, intérpretes de páginas Web y servicios WAP, además de soporte para una gran variedad de servicios concernientes al apartado multimedia que es capaz de ejecutar el móvil.

Entorno de ejecución de aplicaciones

Provee todos los elementos necesarios para la creación y desarrollo de software a los programadores, para que en el momento de escribir aplicaciones sean compatibles con ese sistema operativo.


Elemento del teléfono que se utiliza para interactuar con el aparato. Sin esta no sería posible utilizar el dispositivo, además incluye todos los elementos gráficos que harán posible el uso cómodo y sencillo del móvil: botones, menús, pantallas y listas, entre otros.

Interfaz de usuario

2.2.1 Sistemas Precursores
En 1998 se unieron las compañías Psion, Nokia, Ericsson y Motorola y crearon Symbian Ltd (Una empresa dedicada a desarrollo de Software).

Ésta empresa creo el Symbian OS (Un sistema operativo diseñado especialmente para operar en dispositivos móviles). El primer teléfono que se creó que utilizaba este sistema operativo fue el Ericsson R380:

Este teléfono contaba sólo con 2 MB de memoria RAM.
Poco a poco las compañías de teléfonos celulares fueron adquiriendo este sistema operativo

Symbian OS
Palm OS
Es un sistema operativo móvil desarrollado inicialmente por Palm Inc. para PDAs en 1996. Fue diseñado para la facilidad de uso con una interfaz gráfica de usuario basada en plantillas táctiles.
Windows Mobile
Windows Mobile lanzado en el año 2000, es un sistema operativo móvil compacto desarrollado por Microsoft, y diseñado para su uso en teléfonos inteligentes (Smartphones) y otros dispositivos móviles.
Se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones básicas utilizando las API de Microsoft Windows. Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente.
Es líder del mercado móvil en S.O, está basado en Linux diseñado originalmente para dispositivos móviles como los smartphones pero después tuvo modificación para ser usado en tablets como es el caso del Galaxy Tab de Samsung, actualmente se encuentra en desarrollo para usarse en netbooks y PCs, el desarrollador de este S.O. es Google, fue anunciado en el 2007 y liberado en el 2008; además de la creación de la Open Handset Alliance, compuesto por 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para celulares, esto le ha ayudado mucho a Google a masificar el S.O, hasta el punto de ser usado por empresas
como HTC, LG, Samsung, Motorola entre otros.
iOS
iOS es el sistema operativo que da vida a dispositivos como el iPhone, el iPad, el iPod Touch o el Apple TV. Su simplicidad y optimización son sus pilares para que millones de usuarios se decanten por iOS en lugar de escoger otras plataformas que necesitan más hardware para mover con fluidez el sistema.

Anteriormente denominado iPhone OS creado por Apple originalmente para el iPhone, siendo después usado en el iPod Touch e iPad. Es un derivado de Mac OS X, se lanzó en el año 2007, aumento el interés con el iPod Touch e iPad. Su principal revolución es una combinación casi perfecta entre hardware y software. Es un software cerrado, con propietario a Apple.
2.3 Elementos
para el desarrollo de aplicaciones
Ventajas Cliente Robusto
Aprovecha la capacidad de cómputo de las computadoras que lo ejecutan, generalmente infrautilizadas, en favor de la computadora servidor. Dicha computadora asume menos funciones y, por tanto, puede atender a un número mayor de programas cliente con los mismos recursos.

Su riqueza en la interfaz de usuario. La interfaz no esta limitado por las características de un cliente universal, por ejemplo, un navegador web. Por tanto, pueden diseñarse interfaces complejas, ricas y más fáciles de usar.
Desventaja
El cliente pesado necesita ser instalado en cada una de las computadoras cliente, y posteriormente actualizado en todas ellas cuando sea necesario.

Las consecuencias de ello son:

Pueden surgir incompatibilidades. Dado que no todas las computadoras son idénticas y pueden disponer de distinto software de base, es posible que la aplicación no funcione correctamente en algunos lugares.

Es necesaria una infraestructura para la instalación y actualización de la aplicación de manera desatendida. Es inviable realizar dichas tareas utilizando medios humanos cuando se trata de cientos de ordenadores.

Cuando se renueva el parque de ordenadores, o se modifica su software de base, es necesario realizar pruebas exhaustivas de regresión, para asegurar que la aplicación sigue funcionando.
La mayoría de los clientes pesados asumen todas las funcionalidades de la aplicación, dejando al programa servidor la gestión de transacciones contra una base de datos, es decir, el almacenamiento de información.

Algunos ejemplos son:

Terminales de punto de venta.
Aplicaciones de diseño asistido por ordenador (CAD).
Sistemas embebidos o empotrados. Por ejemplo, cajeros automáticos.
Aplicaciones de escritorio remoto.

Anteriormente llamado Windows Mobile es un S.O. móvil compacto desarrollado por Microsoft, se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones básicas, actualmente va por la versión 8. Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente y existe una gran oferta de software de terceros disponible para Windows Mobile, la cual se puede adquirir a través de la tienda en línea Windows Marketplace for Mobile.

Windows Phone

BlackBerry 6 es un sistema desarrollado por Research In Motion en 2010. RIM apuesta que su BlackBerry 6 esta enfocado en el mercado corporativo y no-corporativo. La mejor experiencia de este sistema se encuentra en los equipos touchscreen (Pantalla Táctil), aunque RIM aseguro que en los equipos que cuenten con un TouchPad o TrackPad podrán ejecutarlo ya que ejerce casi la misma función. Así mismo todavía RIM no ha aclarado cúales son los equipos que se podrán actualizar a esta versión. RIM en el desarrollo de este OS se enfocó en la parte multimedia hacia el usuario, sin dejar a un lado la parte profesional, también se muestra la integración de las redes sociales y la mensajería instantánea en este.

BlackBerry 6

BlackBerry 7.1 es la última versión estable hasta el momento, esta nueva versión es muy parecida a la versión 7.0 aunque con algunas nuevas funciones que harán más fácil el manejo del Smartphone.

BlackBerry 7.1

Fue producto de la alianza de varias empresas de telefonía móvil, entre las que se encuentran Nokia como la más importante, Sony Ericsson, Samsung, Siemens, BenQ, Fujitsu, Lenovo, LG, Motorola, esta alianza le permitió en un momento dado ser unos de los pioneros y más usados.

Técnicamente, el sistema operativo Symbian es una colección compacta de código ejecutable y varios archivos, la mayoría de ellos son bibliotecas vinculadas dinámicamente (DLL por sus siglas en inglés) y otros datos requeridos, incluyendo archivos de configuración, de imágenes y de tipografía, entre otros recursos residentes. Symbian se almacena, generalmente, en un circuito flash dentro del dispositivo móvil. Gracias a este tipo de tecnología, se puede conservar información aun si el sistema no posee carga eléctrica en la batería, además de que le es factible reprogramarse, sin necesidad de separarla de los demás circuitos.
Symbian

Firefox OS es un sistema operativo móvil, basado en HTML5 con núcleo Linux, de código abierto, para smartphones y tabletas. Es desarrollado por Mozilla Corporation bajo el apoyo de otras empresas como Telefónica y una gran comunidad de voluntarios de todo el mundo.

Este sistema operativo está enfocado especialmente en los dispositivos móviles incluidos los de gama baja. Está diseñado para permitir a las aplicaciones HTML5 comunicarse directamente con el hardware del dispositivo usando JavaScript y Open Web APIs.

Ha sido mostrado en smartphones y Raspberry Pi, compatibles con Android. En febrero de 2013 Mozilla anunció planes para el lanzamiento mundial de Firefox OS. Mozilla ha comunicado en rueda de prensa antes del inicio del Mobile World Congress en Barcelona,
que la primera ola de dispositivos con Firefox OS
estará disponible Brasil, Colombia, Hungría, México,
Montenegro, Polonia, Serbia, España y Venezuela.
Firefox también ha anunciado que
LG Electronics, ZTE, Huawei y TCL
Corporation se han comprometido a la
fabricación de dispositivos con Firefox OS.

Firefox O.S:
Ubuntu Touch

Ubuntu Touch es un sistema operativo móvil basado en Linux. Es desarrollado por Canonical Ltd.. Presentado el 2 de enero de 2013 al público mediante un anuncio en la web de Ubuntu, culmina el proceso de Canonical de desarrollar una interfaz que pueda utilizarse en ordenadores de sobre mesa, portátiles, netbooks, tablets y teléfonos inteligentes.

Ubuntu Touch se caracteriza por ser un sistema diseñado para plataformas móviles. Algunas de sus características más destacadas son:

• Pantalla de inicio sin sistema de bloqueo/desbloqueo (que funciona con un nuevo sistema de gestos, y que se aprovecha para mostrar notificaciones).
• Aplicaciones en segundo plano.
• Integración con Ubuntu One.



Es el proceso por el cual el software de aplicación se ha desarrollado para los dispositivos portátiles de baja potencia, tales como asistentes personales digitales, asistentes digitales para empresas o teléfonos móviles. Estas aplicaciones pueden ser pre-instalado en los teléfonos durante la fabricación, descargado por los clientes de diversas plataformas de distribución de software para móviles, o entregadas como aplicaciones web usando el lado del servidor o procesamiento del lado del cliente (por ejemplo, JavaScript) para proporcionar una experiencia "tipo-aplicación" en un navegador Web.

El desarrollo de aplicaciones móviles ha estado en constante crecimiento, tanto en términos de ingresos y puestos de trabajo creados. Un informe de los analistas en 2013 estima que hay 529.000 puestos de trabajo directos adentro de los 28 miembros de la UE, el 60% de los cuales son los desarrolladores de aplicaciones móviles.
Desarrollo de aplicaciones móviles
Las aplicaciones móviles se prueban por primera vez en el entorno de desarrollo utilizando emuladores y posteriormente sometidos a pruebas de campo.

Los emuladores proporcionan una manera barata de probar las aplicaciones en los teléfonos móviles para que los desarrolladores puedan no tener acceso físico. Los siguientes ejemplos de herramientas utilizadas para la aplicación de las pruebas a través de los sistemas operativos móviles más populares son:
Google Android Emulador:
Android con un patch para ejecutarse en un PC con Windows como una aplicación independiente, sin tener que descargar e instalar el SDK de Android completo y complejo .
Android SDK Emulador Oficial:
Incluye un emulador de dispositivo móvil que imita todas las características de hardware y softwarede un dispositivo móvil normal.
MobiOne Developer:
es un IDE Web móvil para Windows que ayuda a los desarrolladores de código, probar, depurar , empaquetar e implementar aplicaciones web móviles para dispositivos como iPhone , BlackBerry , Android y Palm Pre.

TestiPhone:
Es un simulador basado en el navegador web para probar rápidamente aplicaciones web para el iPhone . Esta herramienta ha sido probado y funciona con Internet Explorer 7 , Firefox 2 y Safari 3 .
iPhoney:
Da un entorno de navegación web - pixel exacto y que es alimentado por Safari. Puede ser utilizado en el desarrollo de sitios web para el iPhone . No es un simulador de iPhone, sino que está diseñado para los desarrolladores web que quieran crear 320 por 480 (o 480 por 320 ) de sitios web para su uso con iPhone. iPhoney sólo se pueden ejecutar en Mac OS X 10.4.7 o posterior.
BlackBerry Simulador:
Hay una gran variedad de simuladores oficiales BlackBerry disponibles para emular la funcionalidad de los productos de BlackBerry reales y probar cómo el software de dispositivo BlackBerry, la pantalla , el teclado y rueda de desplazamiento funcionan con la aplicación.
Ventanas UI Automation:
Para probar las aplicaciones que utilizan la tecnología de Microsoft UI Automation, se requiere Windows Automation API 3.0. Es pre - instalado en Windows 7 , Windows Server 2008 R2 y versiones posteriores de Windows. En otros sistemas operativos , puede instalar mediante Windows Update o descargarlo desde el sitio Web de Microsoft .


AppgyverToolbelt:
Herramientas para desarrollar y repetir las aplicaciones para PhoneGap a través de las dos principales plataformas de teléfonos inteligentes - Android y iOS - sin necesidad de Xcode.
Berenjena:
Una herramienta de prueba automatizada basada en GUI para aplicaciones móviles a través de todos los sistemas operativos y dispositivos.
Sikuli
: Se trata de una tecnología visual para automatizar y probar las interfaces gráficas de usuario (GUI) utilizando imágenes.
Ranorex:
herramientas de automatización de pruebas para móviles, web y aplicaciones de escritorio.

Herramientas:

Hay muchas aplicaciones de patentes pendientes para las nuevas aplicaciones de telefonía móvil. La mayoría de ellos se encuentran en los campos tecnológicos de los métodos de negocios, gestión de base de datos, transferencia de datos y la interfaz del operador .

El 31 de mayo de 2011, Lodsys afirmó que dos de sus cuatro patentes: Patente de EE.UU. No. 7.620.565 ("la patente '565") en un "módulo de diseño basada en el cliente" y en la Patente de EE.UU. No. 7.222.078 ("la patente '078") sobre "Métodos y Sistemas para Recabar Información de las Unidades de la mercancía a través de red." contra los siguientes desarrolladores de aplicaciones:

• Combay
• Iconfactory
• Illusion Labs
• Shovelmate
• Quickoffice
• Richard Shinderman de Brooklyn, Nueva York
• Wulven Game Studios de Hanoi, Vietnam

Patentes:
Full transcript