DESARROLLO DE APLICACIONES PARA CLOUD COMPUTING



Documentos relacionados
MOBILE CLOUD COMPUTING. Maria A. Murazzo, Nelson R. Rodríguez

Capítulo 5. Cliente-Servidor.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

System Center. la plataforma para una gestión ágil de los entornos de TI IDG COMMUNICATIONS, S.A.

Cómo saber qué modelo de ERP es el más adecuado para su empresa? On-Premise vs. SaaS

Cloud Computing. Rodrigo Moreno Rosales DN-11

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Introducción a las redes de computadores

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Resumen de la solución SAP SAP Technology SAP Afaria. Gestión de la movilidad empresarial para mayor ventaja competitiva

UNIVERSIDAD PONTIFICIA DE SALAMANCA. Faculta de Informática

Bechtle Solutions Servicios Profesionales

MODERNIZANDO PCN Y RECUPERACION DE DESASTRES UTILIZANDO VIRTUALIZACION Y LA NUBE

Service Oriented Architecture: Con Biztalk?

E-learning: E-learning:

App para realizar consultas al Sistema de Información Estadística de Castilla y León

5 formas de mejorar su negocio con COMPUTACIÓN EN LA NUBE

PROYECTO REALIZADO POR: ENTIDAD GESTORA: COFINANCIADO POR:

Medellín, martes 27 de octubre del 2015

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Informática en la nube. Susi Rodríguez

PLATAFORMAS EDUCATIVAS IMPLEMENTADAS CON CLOUD COMPUTING

Ahorrar costes de TI. Actualizar la infraestructura del hardware y software de la compañía. Disponer de una solución escalable, que aporte mayor

WHITE PAPER MIGRACIÓN DE UNA APLICACIÓN ON-PREMISE A WINDOWS AZURE. OSSESoluciones - Cartera de Soluciones en Tecnologías de Información

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

CAPÍTULO 1 Instrumentación Virtual

Cloud Computing: Definición, generalidades, beneficios y controversias. Marianella Granados Saavedra Ministerio de Justicia y Paz Costa Rica

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA

Sistema de SaaS (Software as a Service) para centros educativos

Una puerta abierta al futuro

SISTEMAS DE INFORMACIÓN II TEORÍA

CONCLUISIONES Y RECOMENDACIONES

Workflows? Sí, cuántos quiere?

Escritorios virtuales

CARACTERISTICAS DEL SISTEMA

NEGOCIO. Industria de TI

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

Ventajas del software del SIGOB para las instituciones

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Preguntas Frec uentes Ia a S

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

Elementos requeridos para crearlos (ejemplo: el compilador)

ADMINISTRE CON EFICIENCIA SUS RECURSOS José Flavio Guerra Colorado MBA,PMP,ITIL.

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Cuándo y qué virtualizar? Cuándo y qué virtualizar? 1

Sistema informatizado de Trazabilidad alimentaria

Cloud Computing: Cloud híbrida y la solución de AWS

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

ING. YURI RODRIGUEZ ALVA

QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES?

computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente.

Windows Server 2012: Infraestructura de Escritorio Virtual

Visión General de GXportal. Última actualización: 2009

SISTEMAS DE INFORMACIÓN III TEORÍA

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

pymegnu v2.0 PRESENTACIÓN DE PRODUCTOS

Alumno: Jorge Sordo Balbín Profesor: Luis Joyanes Aguilar Nº Expediente: Correo Electrónico:

Figura 1. Fuente: elaborada en el MSLab

Elaborado por Víctor Cuchillac (papá)

Información de Producto:

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

IDeP. Service Oriented Network Architecture SONA. IDeP SA La Punta, San Luis, Agosto 2008

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Cloud Security Alliance. Recomendaciones de Seguridad para Usuarios

Manual de Referencia. Apertura

Symantec Backup Exec System Recovery 7.0 Server Edition. Recuperación de sistemas en cuestión de minutos, en lugar de en horas o días

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

Qué es.net? Por César Villarreal, Global Project Manager

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

E-Government con Web Services

Maquinas virtuales Conceptos Básicos

Bajo Costo de Implementación y Soporte: Ofrecer un bajo costo de implementación y mantenimiento.

10 razones para cambiarse a un conmutador IP

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Nuevas tendencias: Virtualización de computadores / servidores

SEDA. Servicio Ejecución Distribuida de Aplicaciones. Dossier de Presentación. Versión 1.0

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

OLIMPO Servidor Universal

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

Organización. Elaboró: Ing. Ma. Eugenia Macías Ríos

REGISTRO DE PEDIDOS DE CLIENTES MÓDULO DE TOMA DE PEDIDOS E INTEGRACIÓN CON ERP

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

Windows Server 2012: Infraestructura de Escritorio Virtual

Estrategia de Cómputo en la Nube. Servicios en la Nube

ESCUELA NORMAL PROFESOR CARLOS A. CARRILLO

GENERALIDADES DE BASES DE DATOS

Sistema de marketing de proximidad

FACULTAD DE INFORMATICA MATERIA: GESTION DE CONTENIDO ELECTRONICO PROFESOR: JONATHAN VEGA ALUMNOS: LUISA ROSERO JAIME CAMACHO DATOS INFORMATIVOS:

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS

Cloud Computing: Soluciones y Seguridad

Las 10 razones principales por las cuales debe de elegir unipaas

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

Jesús Piñeiro, director de Tecnología de Tuticket.com WINDOWS AZURE, UNA SOLUCIÓN SEGURA, FLEXIBLE Y AUTOGESTIONABLE

Transcripción:

DESARROLLO DE APLICACIONES PARA CLOUD COMPUTING María Murazzo 1, Flavia Millán, Nelson Rodríguez 1, Daniela Segura 2, Daniela Villafañe 2 maritemurazzo@gmail.com, flavia.millan@gmail.com, nelson@iinfo.unsj.edu.ar, danycec_16@hotmail.com, jacky1552@hotmail.com Universidad Nacional de San Juan, Facultad de Ciencias Exactas, Físicas y Naturales RESUMEN: La cloud computing es vista por algunos autores como la Cuarta Generación de aplicaciones y se espera que sea la forma en que en estos próximos años se consumirán los recursos informáticos. Lograr un Cloud abierto, que soporte la diversidad de equipos y que funciones adecuadamente además para plataformas heterogéneas es el desafío más importante que se presenta para los diseñadores de sistemas. El objetivo que se pretende alcanzar con este trabajo de investigación es la construcción de una plataforma para construir Cloud Públicas y Abiertas, que sean accedidas desde cualquier tipo de dispositivo y se comporte conforme a las características del cliente. Palabras Claves: Cloud Computing, Web Service, Windows Azure. 1 Miembros del Proyecto de investigación Arquitectura de acceso a servicios Web desde dispositivos móviles heterogéneos (21 E 830) 2 Alumnos tesistas de la Carrera de Licenciatura en Ciencias de la Información. CACIC 2010 - XVI CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACIÓN 941

1 Introducción En los últimos años se ha visto evolucionar tecnologías vitales para el mundo empresarial en lo que a TIC (Tecnologias de Informacion y Comunicaciones) se refiere, tales como los servicios de telefonía, las telecomunicaciones, los datacenter, etc. Así que la pregunta es, por qué no conectarme a Internet y que alguien suministre todos los servicios de computación que la empresa necesita de manera simple y se facture mensualmente por ello?, de esta forma todo lo que sea computación se convierta en una utility más. Esa idea no es nueva, se viene trabajando en este concepto desde hace algunos años, conceptos precursores son utility computing, computación bajo demanda, computación elástica o grid computing [1]. Internet usualmente se visualiza y conceptualiza como una gran nube donde todo está conectado y donde al conectarse se suministran todos los servicios requeridos. A este esquema de trabajo se lo denomina Cloud Computing o Computación en Nube, la cual es similar a todos los esquemas antes nombrados, pero potenciada con las tecnologías de virtualización [2]. 2 Qué es el Cloud Computing? El concepto de Cloud Computing tiene como principal característica, la transformación de los modos tradicionales, de cómo las empresas utilizan y adquieren los recursos de TI (Tecnología de la Información). Cloud Computing, representa un nuevo tipo del valor de la computación en red. Entrega mayor eficiencia, escalabilidad masiva y más rápido y fácil desarrollo de software. Los nuevos modelos de programación y la nueva infraestructura de TI permitirán que surjan nuevos modelos de negocios. La Cloud Computing es un modelo de aprovisionamiento de recursos TI que potencia la prestación de servicios TI y servicios de negocio, facilitando la operativa del usuario final y del prestador del servicio. Una de las principales ventajas para las empresas que deciden incorporar a sus actividades servicios prestados a través de Internet es la posibilidad de reducir sus gastos de personal técnico, instalaciones, software y, sobre todo, de tareas de mantenimiento; de esta manera el retorno de la inversión es inmediato, ya que no es necesaria preinstalación ni configuración alguna. CACIC 2010 - XVI CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACIÓN 942

Todo ello se realiza de manera fiable y segura, con una escalabilidad elástica, que es capaz de atender fuertes cambios en la demanda no previsibles a priori, sin que esto suponga un incremento en los costos de gestión. La característica básica de este modelo es que los recursos y servicios informáticos, tales como infraestructura, plataforma y aplicaciones, son ofrecidos y consumidos como servicios a través de Internet sin que los usuarios tengan que tener ningún conocimiento de lo que sucede detrás. La Cloud Computing es un esquema del tipo aas o as a Service y que a veces se expresa como XaaS o EaaS para significar Everything as a Service. En general cualquier cosa como un servicio. Se puede dividir al Cloud Computing en tres capas: Software como Servicio (SaaS), Plataforma como Servicio (PaaS) e Infraestructura como Servicio (IaaS) [3] [4]. Cualquier organización que desee servicios de TICs podrá implementar un esquema XaaS y eliminar todos sus requerimientos internos y contratar sus necesidades en estas áreas externamente a cambio de un pago mensual, sin inversiones de capital. 2.1 Características del Could Computing Una de las principales características del Could Computing es que no hay necesidad de conocer la infraestructura detrás de esta, pasa a ser una nube donde las aplicaciones y servicios pueden fácilmente crecer (escalar), funcionar rápido y casi nunca fallan, sin conocer los detalles del funcionamiento de esta nube. Este tipo de servicio se paga según alguna métrica de consumo, no por el equipo usado en sí, sino por ejemplo en el consumo de electricidad o por uso de CPU/hora. Entre otras características podemos mencionar: auto reparable, escalable, regido por un acuerdo de nivel de servicio (SLA), virtualizado y multiproposito. La consultora IDC estima que en los próximos cinco años el gasto en Cloud Computing se triplicará alcanzando la cifra de 42 mil millones de dólares, contabilizando el 9% de los ingresos en cinco segmentos del mercado claves. Pero lo más importante es que el gasto en el período se acelerará hasta capturar el 25% del gasto en IT en el 2012 y casi un tercio en el 2013. Frank Gens, Senior VP y Analista jefe en IDC dice: Un reciente estudio entre Ejecutivos de IT, CIOs y los colegas en las líneas de negocio muestra que el Cloud Computing está cruzando el abismo y entrando en un período de amplía adopción. Más aún, la crisis económica amplificará la adopción del cloud. Este modelo ofrece una manera más barata para que el negocio use y adquiera tecnología. Esta ventaja es CACIC 2010 - XVI CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACIÓN 943

verdaderamente importante para los pequeños y medianos negocios, un sector que será clave en cualquier plan de recuperación [5]. 3 Planteo del problema Las exigencias y requerimientos de los usuarios tanto a nivel profesional como social han cambiado y se han ampliado. Las principales características que se requieren de las aplicaciones actualmente son tres: ubicuidad, disponibilidad y seguridad. Sin embargo, las necesidades de los usuarios cambian al ritmo de la tecnología y se esta imponiendo las necesidades de localización, inmediatez y personalización [6]. Debido a estas exigencias, se hace necesario depender de la cloud para la distribución de los servicios. Las aplicaciones comenzarán a almacenar los datos en la cloud en lugar de en la PC y serán más poderosas debido a que el poder de procesamiento también es descargado de la cloud. Los entornos cloud simplifican el trabajo de desarrollo de aplicaciones y también su utilización. Se trabaja sobre una plataforma agnóstica en cuanto a sistema operativo y donde una misma aplicación corre sobre diferentes plataformas de usuarios finales. Las aplicaciones cloud sacan a la computación y al almacenamiento de datos fuera del escritorio para ubicarlos en el cloud. Así, esas aplicaciones se pueden usar en una variedad de plataformas de hardware, que incluye: PC y dispositivos móviles [7]. En función de lo mencionado anteriormente, este trabajo tiene como objetivo principal el estudio de una arquitectura de desarrollo de aplicaciones ubicuas basadas en servicios en el cloud. El principal objetivo de las aplicaciones ubicuas es el establecimiento de entornos, donde cualquier dispositivo de acceso, puedan comunicarse en forma consistente y transparente al usuario. El concepto de ubicuidad que se pretende en este trabajo, es lograr que el diseñador de una aplicación que estará almacenada en la cloud, pueda ser accedida por múltiples usuarios, independientemente del dispositivo de acceso que se este usando. 4 Arquitectura Propuesta Para lograr el desarrollo de aplicaciones ubicuas, es necesario independendizar la interface de las aplicaciones del código. Esto se puede lograr mediante el uso de la Arquitectura MVC (Modelo Vista Controlador). MVC es un patrón de arquitectura de aplicación que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. CACIC 2010 - XVI CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACIÓN 944

La arquitectura MVC fue introducida como parte de la versión Smalltalk-80 del lenguaje de programación Smalltalk. Fue diseñada para reducir el esfuerzo de programación necesario en la implementación de sistemas múltiples y sincronizados de los mismos datos. Sus características principales son que el Modelo, las Vistas y los Controladores se tratan como entidades separadas; esto hace que cualquier cambio producido en el Modelo se refleje automáticamente en cada una de las Vistas Este modelo de arquitectura presenta varias ventajas: Hay una clara separación entre los componentes de un programa; lo cual permite implementarlos por separado Hay una API muy bien definida; cualquiera que use la API, podrá reemplazar el Modelo, la Vista o el Controlador, sin aparente dificultad. La conexión entre el Modelo y sus Vistas es dinámica; se produce en tiempo de ejecución, no en tiempo de compilación El Modelo es el objeto que representa los datos del programa. Maneja los datos y controla todas sus transformaciones. El Modelo no tiene conocimiento específico de los Controladores o de las Vistas, ni siquiera contiene referencias a ellos. Es el propio sistema el que tiene encomendada la responsabilidad de mantener enlaces entre el Modelo y sus Vistas, y notificar a las Vistas cuando cambia el Modelo. La Vista es el objeto que maneja la presentación visual de los datos representados por el Modelo. Genera una representación visual del Modelo y muestra los datos al usuario. Interactúa con el Modelo a través de una referencia al propio Modelo. El Controlador es el objeto que proporciona significado a las órdenes del usuario, actuando sobre los datos representados por el Modelo. Cuando se realiza algún cambio, entra en acción, bien sea por cambios en la información del Modelo o por alteraciones de la Vista. Interactúa con el Modelo a través de una referencia al propio Modelo. El lenguaje de programación Java proporciona soporte para la arquitectura MVC mediante dos clases: Observer y Observable. El Modelo es un subtipo de Observable y la Vista es un subtipo de Observer. Por otro lado, el Framework Microsoft s ASP.NET MVC, ofrece un nivel de separación de la capa presentación que permite soportar múltiples dispositivos sin modificar ni duplicar la mayoría del código del sitio. Por todo lo mencionado, haciendo uso de la Arquitectura MVC, se podrá desarrollar una única lógica de aplicación y será la interface de usuario la que se deberá adaptar al dispositivo de acceso que se este usando. CACIC 2010 - XVI CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACIÓN 945

En función de lo analizado, se pretende la migración del concepto de Aplicaciones basadas en Web a Aplicaciones basadas en Cloud donde la virtualización es un aspecto fundamental junto con la plataforma de desarrollo usada. Teniendo en cuenta la Arquitectura MVC que se sugiere usar, se propone una implementación basada en Web Service. Esta elección se debe a que los Web Service son la evolución de las tradicionales aplicaciones cooperativas. En términos simples, los Web Service proponen convertir a los recursos de software en servicios disponibles para quien los requiera. Conceptualmente, la idea es crear componentes reutilizables, fáciles de emplear y de mantener, en lugar de aplicaciones complejas. El consorcio W3C define los Servicios Web como sistemas software diseñados para soportar una interacción interoperable maquina a maquina sobre una red. Los Servicios Web, suelen ser APIs Web que pueden ser accedidas dentro de una red (principalmente Internet) y son ejecutados en el sistema que los aloja. La definición de Servicios Web propuesta se refiere a clientes y servidores que se comunican mediante mensajes XML (Extensible Markup Language) que siguen el estándar SOAP (Simple Object Access Protocol). Los Servicios Web han evolucionado desde una primera generación que no explotaba todos sus beneficios, al no integrarse con otros servicios Web, hasta una nueva generación de servicios Web en la cual todos los servicios son típicamente compuestos, es decir construidos a partir de otros servicios más primitivos Web. Lo servicios Web presentan grandes ventajas como: Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen. Fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento. Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados. Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estándar y abiertos. En los últimos años, se ha popularizado un estilo de arquitectura Software REST (Representational State Transfer). Los Servicios Web que funcionan bajo REST (servicios Web RESTful) se presentan como una alternativa prometedora distinta a los servicios basados en SOAP por su simplicidad y naturaleza liviana, además de la capacidad de transmitir datos directamente sobre HTTP. Por qué surge el debate entre los Servicios Web basados en REST y SOAP? Muchos diseñadores de Servicios Web han llegado a la conclusión que SOAP es demasiado CACIC 2010 - XVI CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACIÓN 946

complicado. Por tanto, están comenzando a utilizar Servicios Web basados en REST para mostrar cantidades de datos masivos. Este es el caso de grandes empresas como ebay y Google. Las ventajas de REST recaen en la potencial escalabilidad de este tipo de sistemas, así como el acceso con escaso consumo de recursos a sus operaciones debido al limitado número de operaciones y el esquema de direccionamiento unificado [8] [9]. Para lograr implementar esto, los desarrolladores deben usar un PaaS capaz de soportar el desarrollo de aplicaciones para cloud y que sea accedido desde dispositivos heterogéneos. 4.1 Propuesta de Implementación Un PaaS, ofrecen la posibilidad de desplegar aplicaciones sin tener que ocuparte del mantenimiento de la infraestructura. Las distintas plataformas suelen especializarse en un determinado lenguaje de programación, servidor de aplicaciones y base de datos, como por ejemplo, Google App Engine que ofrece la posibilidad de desplegar aplicaciones Phyton o Windows Azure que permite implementaciones basadas en.net, Java o Phyton. Un PaaS, debe ser capaz de contener todos los componentes necesarios (servidor de aplicaciones, base de datos, frameworks, etc.) para poder desplegar y ejecutar las aplicaciones. Debe tener un rendimiento óptimo, deber ser escalable y ofrecer seguridad y privacidad de la información que almacena. El propietario de la aplicación solo se debe preocupar del buen funcionamiento de la aplicación, pues la escalabilidad, el balanceo de carga, y todo aquello que suponga el mantenimiento de la plataforma corre a cargo del proveedor PaaS. Para este trabajo se opto por usar como PaaS a Windows Azure [10]. Este PaaS, es un sistema operativo de servicios de la cloud que sirve como entorno de desarrollo, servicio de hosting y administración de servicios para la plataforma de servicios Azure. Ofrece a los desarrolladores con necesidades de computación y almacenamiento bajo demanda, a desplegar, escalar y administrar sus aplicaciones Web en Internet a través de los datacenter de Microsoft. Estos datacenter estan, distribuidos por todo el mundo, garantizando la disponibilidad del servicio, seguridad de acceso e integridad de los datos. Ese alojamiento, tendrá un costo, pero las empresas no tendrán que montar y, sobre todo, mantener su propio centro de datos ni preocuparse por aspectos como la seguridad del hardware y el software. En función de esto se puede decir que Windows Azure es un PaaS y un IaaS. Azure es una plataforma flexible e interoperable, que permite múltiples protocolos de Internet como HTTP, REST, SOAP y XML. Los entornos de desarrollo soportados pueden ser Microsoft Visual Studio,.NET Framework y Eclipse. Los lenguajes con los que se pueden escribir las aplicaciones son.net (C# y Visual Basic), C++; PHP, Ruby, Python y Java. CACIC 2010 - XVI CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACIÓN 947

Los tres componentes principales de esta plataforma son: Windows Azure: es el sistema operativo utilizado por la plataforma. SQL Azure (anteriormente conocido como Microsoft SQL Services): es el motor de base de datos en la plataforma Windows Azure. AppFabric (anteriormente conocido como.net Services): es el componente de middleware que consiste en servicios como ServiceBus y Access Control. 4.2 Un Caso Práctico La aplicación desarrollada esta destinada a niños de edad escolar (véase la figura 1). La cual incluye juegos interactivos, posibilitando el desarrollo biológico, psicológico y social del niño. Los juegos que se destacan son de Agilidad (juegos que permiten cambiar de posición en el espacio y hacer recorridos con varias posiciones corporales), Auditivos (juegos que ayudan a perfeccionar la función sensorial auditiva), e Intelectuales (hacen intervenir la comparación de fijar la atención de dos o más cosas para descubrir sus relaciones, como el dominio, el razonamiento la reflexión y la imaginación creadora). Además la aplicación está orientada a permitir la interacción entre el docente y el alumno, reafirmando de esta manera los conocimientos adquiridos en clase. Figura 1: Capturas de pantallas de la Aplicación corriendo en el Cloud CACIC 2010 - XVI CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACIÓN 948

5 Conclusiones Como ya se ha mencionado en el documento, las empresas están haciendo una importante inversión en Cloud Computing y cada vez se esta popularizando mas los dispositivos móviles y las aplicaciones capaces de hacer uso de todo su potencial. De esta manera será necesario el desarrollo de aplicaciones, almacenadas en el cloud y accedidas en forma transparente por los usuarios sin importan el tipo de dispositivo que estén usando. En función de todo lo analizado, el objetivo de este trabajo es sentar las bases para la construcción de un Cloud Publico con capacidad de brindar servicios ubicuos, que cumplan con los estándares de usabilidad, a dispositivos heterogéneos. 6 Bibliografía [1] Jinzy Zhu, Xing Fang, Zhe Guo, Meng Hua Niu, Fan Cao, Shuang Yue and Qin Yu Liu, IBM Cloud Computing Powering a Smarter Planet, Libro Cloud Computing, Volumen 5931/2009, Páginas 621-625. [2] Gansen Zhao, Jiale Liu, Yong Tang, Wei Sun, Feng Zhang, Xiaoping Ye and Na Tang, Cloud Computing: A Statistics Aspect of Users, Libro Cloud Computing, Volumen 5931/2009, Páginas 347-358. [3] Andrew Weiss, Computing in the clouds. networker 11, 4 (Dec. 2007), 16-25. DOI= http://doi.acm.org/10.1145/1327512.1327513 [4] Srinivasa Rao, Nageswara Rao, Kusuma Kumari, Cloud Computing: An Overview. Queue 7, 5 (Jun. 2009), 3-4. DOI= http:// doi.acm.org/10.1145/1538947.1554608. [5] IDC, IDC Finds Cloud Computing Entering Period of Accelerating Adoption and Poised to Capture IT Spending Growth Over the Next Five Years, http://www.idc.com/getdoc.jsp?containerid=prus21480708 6] Canaleta y Vernet, TIC versus mtic, Actas de las V Jornadas de Informática y Sociedad (JIS'2004). Marzo 2004, pagina 61-67 [7] Herman Mehling, Cloud-based Mobile Applications On the Rise, http://www.devx.com/wireless/article/44394?trk=dxrss. [8] William Brogden, REST versus SOAP the REST story, http://searchwebservices.techtarget.com/tip/0,289483,sid26_gci1227190,00.html. [9] William Brogden, REST versus SOAP the SOAP story, http://searchwebservices.techtarget.com/tip/0,289483,sid26_gci1231889,00.html. [10] Microsoft. Azure Academic Pilot. www.azurepilot.com CACIC 2010 - XVI CONGRESO ARGENTINO DE CIENCIAS DE LA COMPUTACIÓN 949