La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Desarrollo de aplicaciones para la sociedad de la información Máster Universitario Oficial en Sistemas Telemáticos e Informáticos César Cáceres,

Presentaciones similares


Presentación del tema: "Desarrollo de aplicaciones para la sociedad de la información Máster Universitario Oficial en Sistemas Telemáticos e Informáticos César Cáceres,"— Transcripción de la presentación:

1 Desarrollo de aplicaciones para la sociedad de la información Máster Universitario Oficial en Sistemas Telemáticos e Informáticos César Cáceres, Despacho 206 – Departamental II (Móstoles) Juan Manuel Serrano, Vivero de empresas de Móstoles (Despacho 9)

2 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 2 Objetivos de la sesión ¿Qué es la sociedad de la información y a qué tipo de aplicaciones nos referimos? ¿Cuáles son los objetivos, el programa y la política de evaluación de la asignatura? ¿Cómo se relaciona la asignatura con el resto de asignaturas del máster?

3 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 3 ¿Qué es la sociedad de la información? Sociedades agrarias, sociedad industrial... sociedad de la información Relevancia de los procesos de generación, distribución y consumo de la información en la economía, cultura, política,... Otras caracterizaciones: sociedad del conocimiento, sociedad post- industrial,...

4 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 4 ¿Qué es la sociedad de la información? Motor de la sociedad de la información: tecnologías de la información y de las comunicaciones (TIC) Ordenadores PDAs, Mainframes, PCs,... Redes Telefonía (SMS, 3G, UMTS,...) Internet (Usenet, , IRC, WWW,...) WWW (Blogs, Wikis, redes sociales,...)

5 Aplicaciones para la sociedad de la información Aplicaciones diseñadas para dar soporte a los procesos de generación, difusión y consumo de información en un contexto social determinado Utilizaremos la expresión Aplicación Social para enfatizar la relevancia de: los aspectos pragmáticos vs. semánticos la interacción social vs. información MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 5 SISTEMAS DE INFORMACIÓN Technology-enabled business development [ACM Curriculum Guidelines] SOCIAL SOFTWARE Software systems that allow users to interact and share data... The terms Web used to describeWeb 2.0 this style of software. [Wikipedia]

6 Aplicaciones sociales Contextos sociales Dominios de aplicaciones sociales MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 6 Empresa Redes sociales Juegos Política Economía Salud Business process Management Systems Social networking Tools Game servers E-democracy E-commerce E-Health …..

7 Dominios de aplicaciones sociales Redes sociales ( LinkedIn, MySpace, Facebook, last.fm, Google+...) Juegos ( Casinos, Portales online, MMORPG,...) Economía ( Empresas, Agencia Tributaria,...) Organismos legales y de administración de justicia ( Congreso, Senado, Juzgado, Cuerpos de seguridad,...) Mercado de trabajo ( Seguridad Social, ETTs,...) Redes de transporte (movilidad) ( Metro, EMT,...) Educación y cultura ( Universidades, Institutos, Colegios, Academias, Bibliotecas,... ) Deporte ( Federaciones, clubes, polideportivos, competiciones,...) Espectáculos artísticos (teatro, cine, música, etc.) ( Conciertos, exposiciones, representaciones,...) Otros ( Organismos de estandarización (W3C, OMG, JCP,...), Convocatorias de proyectos, ONGs, Trabajos de fin de máster, Proyectos de desarrollo de software,...) MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 7

8 ¿Qué se persigue con una aplicación social? Dar soporte al proceso social Facilitar las interacciones entre los participantes del proceso Mejorar su rendimiento Mejorar la eficiencia (uso de recursos) Mejorar la escalabilidad Mejorar el coste,... etc. MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 8

9 Aspectos funcionales en todo proceso social Las actividades de toma de decisiones de los usuarios que deben ser automatizadas (total o parcialmente) Las estructura y las reglas que gobiernan las interacciones entre los usuarios La presentación de información y los mecanismos de actuación que la aplicación pone a disposición del usuario (interfaz) MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 9

10 Asociaciones deportivas 10 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 10

11 Normas sociales D. SINGLES ENTRY AND WITHDRAWAL 1. Entry …. A player may apply for entry into one but not more than six Futures Tournaments for a specific tournament week, in which case he must indicate a priority. … I. DRAWS The Singles Main Draw shall consist of 32 players. The Singles Qualifying Draw shall be a minimum of a 32 Draw and a maximum of a 64 Draw MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1

12 Tecnologías para el desarrollo de aplicaciones sociales Las aplicaciones sociales son aplicaciones distribuidas Los usuarios de la aplicación se encuentran representados y acceden a la aplicación a través de componentes software que se encuentran conectados a una infraestructura de middleware que gestiona las interacciones entre ellos Componentes software Varían en complejidad: simples interfaces de usuario o componentes inteligentes que reemplazan al usuario (al menos en determinadas funciones) Middleware Infraestructura que gestiona las interacciones entre componentes software distribuidos Estilos arquitectónicos Las distintas tecnologías de middleware pueden clasificarse en función de los mecanismos de interacción que ponen a disposición de los componentes software 12 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 12

13 Tecnologías para el desarrollo de aplicaciones sociales Las AS son sistemas abiertos Heterogeneidad de componentes Hardware (smartPhones, PCs, …) Software Windows, Mac, Linux,.. Navegadores (Firefox, iExplorer,…), interfaces ad-hoc, … Android, iPhone Sistemas dinámicos La población de componentes varía con frecuencia Componentes autónomos Cierto tipo de componentes tienen control absoluto sobre su estado interno 13 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 13

14 Tecnologías para el desarrollo de aplicaciones sociales ¿Cómo encajan los distintos requisitos funcionales con el hecho de que las aplicaciones sociales sean sistemas distribuidos? Componentes Toma de decisiones y presentación Middleware Interacciones Los lenguajes de programación utilizados se pueden clasificar también en función de los distintos aspectos funcionales Lenguajes de programación de componentes Lenguajes de presentación ¡Lenguajes de programación de interacciones! 14 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 14

15 Aplicaciones sociales 15 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 15

16 Software Aplicaciones sociales Clasificación de tecnologías MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 16 Lenguajes de modelado: UML Lenguajes de program.: C++, Java,... JavaScript,... Middleware: CORBA, AMQP,... Lenguajes de modelado: Islander, MOISE,... Lenguajes de programación: Speech,... Middleware: AMELI, S-MOISE+,... Business apps DSLs: worlflow/rule/doc languages Middleware: workflow/rules engines:... Social Software APIs: OpenSocial, Facebook Connect,... Middleware: Social networking engines,... ……….

17 Tecnologías genéricas Lenguajes e infraestructuras de middleware de propósito general, no particularizadas ni adaptadas al dominio concreto de la aplicación a desarrollar Lenguajes de programación genéricos Java, PHP, Python, … Middleware Orientados a objetos: Java RMI, CORBA Orientado a servicios: Web Services Orientado a mensajes: AMQP, JMS, … MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 17

18 Middleware ¿Qué tecnología de middleware es más apropiada para el desarrollo de aplicaciones sociales? Podemos comparar los distintos tipos de middleware en base al paradigma de interacción (o estilo arquitectónico) soportado, gestión del ciclo de vida de los componentes, etc. Middlewares Orientados a objetos (CORBA, Java RMI, …) Orientados a mensajes (AMQP, JMS, …) Orientados a la Web (REST-based WS, W3C WS…) Peer-to-peer (BitTorrent, e2dk, …) 18 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 18

19 : Middleware : Component … attached : Interaction :Host COMPONENTES Gestión del ciclo de vida (activación, …) Gestión de concurrencia (colas, hilos, …) Replicación/Persistencia/Migración (fiabilidad/Escalabilidad) Heterogeneidad (interoperabilidad) INTERACCIONES Modalidad (síncrona, asíncrona, …) Cardinalidad: 1-1, 1-many, … Servicios de directorio (páginas blancas, amarillas) Transparencia de acceso/localización (escalabilidad) QualityOfService (QoS): best effort, … transaccionalidad (fiabilidad) 19 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 Middleware

20 Middleware CORBA : ORB Network : Component Java COBOL Lisp Python … C++ Ada C … attached : Object op 1 …op n op i (…): SynchRequest op i (mode,…): AsynchRequest :Server :Client :Server IDL specification Naming service :Client one-way, deffered 20 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 : Object

21 Middleware orientado a mensajes : MOM : Component … … : Producer : Consumer queue 1 queue 2 queue n PUBLISH SUBSCRIBE NOTIFY …. ADVERTISE UNSUBSCRIBE PUBLISH-SUBSCRIBE 21 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1

22 Tecnologías específicas de dominio Las tecnologías de propósito general tienen varios inconvenientes: Violan la autonomía de los componentes Conectores software de bajo nivel de abstracción Bajo nivel de programabilidad: aspectos de la interacción programados a través de componentes En desacuerdo con el principio de separación de aspectos entre interacción y computación 22 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 22

23 Tecnologías específicas de dominio Tecnologías específicas para dominios concretos Lenguajes específicos de dominio (DSLs), APIs para lenguajes de propósito general, middleware para dominios concretos, etc. Redes sociales APIs: OpenSocial API, Facebook connect, … Motores (middleware): Elgg, Pinax, … Gestión de procesos de negocios DSLs: BPMN, BPEL, WS-CDL, … Motores (middleware): reglas, workflow, … Otros dominios: Content Management Systems (CMS) especializados en dominios concretos (e-learning, conference management, etc.), herramientas para subastas, etc. MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 23 Tema 3 Tema 2 Tema 4

24 Sociedades computacionales Una sociedad computacional (SC) es un sistema distribuido en el que los mecanismos de interacción proporcionados por el middleware tienen un carácter social Origen en el campo de los sistemas multiagente AMELI, INGENIAS toolkit, MadKit, S-Moise+, etc. Otras denominaciones: instituciones electrónicas, organizaciones virtuales, etc. Programar una SC requiere programar el middleware social y los componentes que participan en la sociedad Tecnología específica de dominio, pero al mismo tiempo genérica: cubre todo el espectro de aplicaciones sociales Se basan en distintos estilos arquitectónicos propios para las aplicaciones sociales Organizaciones, instituciones, grupos, equipos, actos de habla, conversaciones, etc. Protocolos basados en conceptos normativos permisos, obligaciones, compromisos, políticas, sanciones, etc. Middleware social definido acorde con los conectores característicos del estilo arquitectónico MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 24

25 25 El lenguaje Speech Un lenguaje para la programación de aplicaciones sociales en términos de sociedades computacionales Lenguaje específico de dominio Vs. Lenguaje de propósito general Un lenguaje para la programación de procesos sociales Lenguaje orientado a interacciones Lenguajes de programación de normativas en dominios de aplicación social arbitrarios Vs. Lenguaje para la programación de componentes Un lenguaje de programación Vs. Lenguaje de modelado Middleware social como máquina abstracta programable 25 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1

26 26 El lenguaje Speech Lenguaje de procesos sociales ESPECIFICACIÓN Máquina abstracta (middleware social) Sistema de tipos (cómo programar el middleware) Sintaxis (visual, XML, texto) IMPLEMENTACIÓN Máquina virtual (distribuida) (VM) WEB SERVICES VM (REST, SOAP) Messaging (AMQP, JMS, …) HERRAMIENTAS USUARIO VM sniffer VM debugger type editor event manager... LIBRERÍA ESTÁNDAR (built-in) meta-aplicaciones Tipos de conectores reutilizables 26 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1

27 27 El lenguaje Speech ESPECIFICACIÓN MIDDLEWARE SOCIAL Estructura Dinámica SISTEMA DE TIPOS Meta-tipos especialización SINTAXIS Notación UML Notación XML Notación RDF Notación BNF Tema 5 Tema 6 Temas 5/6 27 MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1

28 Objetivos de la asignatura Comprender la categoría de aplicación social, su relación con el desarrollo de la sociedad de la información y la necesidad de lenguajes orientados a la programación de procesos sociales Ser capaz de analizar el dominio de una aplicación social en base a un estilo arquitectónico orientado a la programación de procesos sociales Conocer las tecnologías para el desarrollo de aplicaciones sociales de algunos de los dominios más relevantes y ser capaz de evaluar críticamente dicha tecnología MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 28

29 Temario Tema 1. Introducción MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 29 BLOQUE I: Introducción Tema 5. Middleware social Tema 6. Lenguajes de procesos sociales BLOQUE III: Estilo arquitectónico para el desarrollo de aplicaciones sociales Tema 2. Redes sociales Tema 3. Gestión de procesos de negocio Tema 4. Aplicaciones sociales en otros dominios BLOQUE II: Dominios de aplicaciones sociales

30 Evaluación Test: 30% (Nota mínima 5 puntos) Práctica 1: Descripción y evaluación de una tecnología para el desarrollo de aplicaciones sociales (35%) Nota mínima 5 puntos Memoria (30%) Presentación y debate en clase (5%) Práctica 2: Análisis de un dominio de aplicación (35%) Nota mínima 5 puntos Memoria (30%) Presentación y debate en clase (5%) MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 30

31 Planificación (tentativa …) MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 31 FechaClasesPrácticas Semana 1 (10/9)Tema 1: Introducción Semana 2 (17/9)Tema 2: Redes Sociales Semana 3 (24/9)Tema 2: Redes Sociales Semana 4 (1/10)Tema 3: Procesos de negocio Semana 5 (8/10)Práctica 1 Semana 6 (15/10)Práctica 1 Semana 7 (22/10)Tema 4: Otros dominios Semana 8 (29/10)Tema 5: Middleware social Semana 9 (5/11)Tema 5: Middleware social Semana 10 (12/11)Tema 6: Lenguajes sociales Semana 11 (19/11)Tema 6: Lenguajes sociales Semana 12 (26/11)Práctica 2 Semana 13 (3/12) Práctica 2 Semana 14 (10/12) Práctica 2 Semana 15…Test Entrega P1 (12/11) Entrega P2 (12/01)

32 Relación con otras asignaturas del máster MOSTI/Desarrollo de aplicaciones para sociedad de la información/Tema 1 32 Desarrollo de aplicaciones para la sociedad de la información Middleware (orientados a objetos, servicios, p2p, grid,...) Redes, Aplicaciones y Servicios de Internet (programación de dispositivos móviles) Arquitecturas Orientadas a Servicios (Servicios Web, familias de productos) Redes Inalámbricas e Internet Infraestructura y Gestión de Redes Móviles e Internet Redes Ad-hoc Inalámbricas...


Descargar ppt "Desarrollo de aplicaciones para la sociedad de la información Máster Universitario Oficial en Sistemas Telemáticos e Informáticos César Cáceres,"

Presentaciones similares


Anuncios Google