Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud)
-
Upload
software-guru -
Category
Technology
-
view
3.008 -
download
5
description
Transcript of Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud)
#SGWeb3.0
Presentación de Desarrollo de Aplicaciones Web 3.0
Linked Data + BPM + Cloud
Agenda
¿Quién es INFOTEC? 1
Linked Data 3
La Web SemánMca 2
Demo 5
Desarrollo Dirigido por Ontologías 4
Preguntas 6
Evolución de la Web 2
¿Quién es INFOTEC?
¿Quién es INFOTEC?
Administración Integral de Infraestructura
Sistemas de Información Estratégica
Consultoría Estratégica
Oferta
InvesBgación Aplicada y Bajo Demanda
Formación de Capital Humano
Somos un Centro Público de Inves2gacion y Desarrollo Tecnológico que contribuye a la compe22vidad del Gobierno y de las PyMEs, a través del uso estratégico de Tecnologías de Información y Comunicaciones.
INFOTEC = I + D + DT x i Estrategia basada en
Arquitecturas Empresariales
Evolución de la Web
La evolución de la Web podría dividirse en tres niveles principalmente:
Evolución de la Web
• Web 1.0 -‐ Personas conectándose a la Web
• Web 2.0 -‐ Personas conectándose a personas -‐ redes sociales, wikis, colaboración, posibilidad de comparMr.
• Web SemánBca -‐ Aplicaciones Web conectándose a aplicaciones Web, a fin de enriquecer la experiencia de las personas.
La Web SemánMca
La Web SemánBca
Cómo Representar el mundo en una máquina (IA)
La Web SemánBca
Cómo percibimos y describimos el mundo
Es una construcción de piedra y madera que sirve para vivir. Está dividida en habitaciones con puertas y ventanas para el acceso de los habitantes.
Qué es SemánBca
Cómo percibimos y describimos el mundo
hecha de
Mene
hecha de
usada para
es una
Mene
Mene pertenece a
La Web SemánBca según Tim Berners Lee
Una web semánMca es una red de datos que pueden ser procesados directa o indirectamente por
máquinas.
Es una web extendida que permiMrá a humanos y máquinas trabajar en
cooperación mutua.
?
El problema…
Web SemánBca
• En 2012 el 80% de los siMos web públicos usarán algún nivel de hipertexto semánMco para crear documentos de la Web SemánMca […] el 15% de los siMos web públicos usarán ontologías basadas en Web SemánMca más amplias para crear bases de datos semánMcas
• En el 2017 esperamos la visión de la Web SemánMca […] la mayoría de las páginas web están decoradas con alguna forma de hipertexto semánMco
• Fuente: “Finding and exploiMng value in semanMc web technologies on the web”, Informe de InvesMgación de Gartner, Mayo de 2007
Predicción de Gartner
El objeMvo detrás de darle significado a la información es crecer al Internet a un plano de conocimiento.
Visión de la Web SemánBca
No se trata de una inteligencia arMficial mágica que permita a las máquinas entender
las palabras de los usuarios, es sólo la habilidad de una máquina para resolver
problemas bien definidos, a través de operaciones bien definidas que se llevarán
a cabo sobre datos existentes bien definidos.
Para obtener esa adecuada definición de los datos, la Web SemánBca uMliza
esencialmente RDF, SPARQL, y OWL, mecanismos que ayudan a converMr la Web en
una infraestructura global en la que es posible comparMr, y reuMlizar datos y
documentos entre diferentes aplicaciones y usuarios.
Componentes de la Web SemánBca
RDF es un modelo de datos para los recursos y las relaciones que se puedan establecer entre ellos. Aporta una semánMca básica para este modelo de datos que puede representarse mediante XML. RDF proporciona información descripMva simple sobre los recursos que se encuentran en la Web y que se uMliza, por ejemplo, en catálogos de libros, directorios, colecciones personales de música, fotos, eventos, etc.
Triple:
Sujeto – Propiedad – Objeto
¿Qué es Resource DefiniBon Framework?
<casa><hecha de><piedra> <casa><hecha de><madera> <casa><usada para><vivir> <casa><Mene><habitación> <casa><es una><construcción> <casa><pertenece a><Homero Simpson> < habitación><Mene><puerta> < habitación><Mene><ventana>
TRIPLAS
SPARQL es lenguaje de consulta sobre RDF, que permite hacer búsquedas sobre los recursos de la Web SemánBca uMlizando disMntas fuentes datos.
¿Qué es SPARQL?
DBPedia.org
OWL es un mecanismo para desarrollar temas o vocabularios específicos en los cuales asociar los recursos. Lo que hace OWL es proporcionar un lenguaje para definir ontologías estructuradas que pueden ser uMlizadas a través de diferentes sistemas. Las ontologías incluyen definiciones de conceptos básicos en un campo determinado y la relación entre ellos.
Específicamente OWL es un vocabulario para describir las propiedades y las clases de los recursos RDF, ya que permite establecer jerarquías de generalización entre dichas propiedades y clases, además de describir relaciones entre clases como disyunción, cardinalidad (por ejemplo "únicamente uno"), igualdad, Mpologías de propiedades más complejas, caracterización de propiedades (por ejemplo simetría) o clases enumeradas.
¿Qué es Ontology Web Language?
Visión de la Infraestructura de la Web
Linked Data
¿Linked Data?
Linked Data es una propuesta para ayudar a construir la Web SemánMca. Linked Data describe la forma de exponer, comparMr y conectar piezas de datos, información y conocimiento a través de la web
1. UMliza URIs como nombres para objetos
2. UMliza URIs HTTP para que las personas pueda buscar esos nombres.
3. Cuando alguien busque un URI, proporcionar información úMl, uMlizando las normas (RDF, SPARQL)
4. Incluir enlaces a otros URIs para que puedan descubrir más cosas (Datos enlazados).
Reglas para construir datos enlazados (Linked Data)
Open Data es una forma de publicar datos de organizaciones públicas y privadas, en formatos que sean reuMlizables por personas e insMtuciones. En su planteamiento, Open Data se asemeja al movimiento Open Source, pero a diferencia de éste no apunta a desarrollar sotware sino a posibilitar el acceso y reuMlización de datos. Wikipedia: Open Data es una filosoua y prácMca que persigue que determinados datos estén disponibles de forma libre a todo el mundo, sin restricciones de copyright, patentes u otros mecanismos de control. Tiene una éMca similar a otros movimientos y comunidades abiertos como el código abierto (open source en inglés) y el acceso libre (open access en inglés).
¿Open Data?
• Una estrella: ofrecer los datos en cualquier formato, aunque sean diuciles de manipular, como un pdf por ejemplo o una imagen escaneada..
• Dos estrellas: entregar los datos de manera estructurada, como en un archivo excel con extension xls.
• Tres estrellas: entregar los datos en un formato que no sea propietario, como csv en vez de excel, xml, rdf, etc.
• Cuatro estrellas: usar URI (que es una dirección web de un dato que sirve para enlazarlo con otros datos) para idenMficar cosas y propiedades, de manera que se pueda apuntar a los datos. De preferencia usar el estándar de RDF
• Cinco estrellas: vincular sus datos con los de otras personas, dotándolos de contexto. En la prácMca, a que la información entregada también apunte a otras fuentes de datos. Por ejemplo, si coloco un país dentro de mis datos, puedo agregar una URI de referencia que apunte a los datos de ese país en Dbpedia o a Geonames.
Las cinco estrellas del Open Linked Data
Crecimiento de la nube de Linked Data
Mayo 2007 (12 Datasets) Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. hwp://lod-‐cloud.net/
Crecimiento de la nube de Linked Data
SepMembre 2008 (45 Datasets) Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. hwp://lod-‐cloud.net/
Crecimiento de la nube de Linked Data
Julio 2009 (95 Datasets) Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. hwp://lod-‐cloud.net/
Crecimiento de la nube de Linked Data
SepMembre 2010 (203 Datasets) Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. hwp://lod-‐cloud.net/
Crecimiento de la nube de Linked Data
SepMembre 2011 (295 Datasets, 31 billions de triples) Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. hwp://lod-‐cloud.net/
Desarrollo Dirigido por Ontologías
Necesidades de!Navegación y Búsqueda!
Necesidades de!Administración y Publicación!
WB 1.0 WB 1.5 WB 2.0 ●
WB 2.1 ● WB 2.5 ●
WB 3.0 ● WB 3.1 ●
WB 3.2 Open Source ● SWB ●
+ SemánMca
● ● 2000 2001
2002
2004 2003
2005
2007
2006
2009
Linea de Tiempo del Desarrollo de la Familia SemanBcWebBuilder
SWB Pla{orm ● 2010
SWProcess ● 2011
2012 SWB Search ●
SWB Cloud ● SWB Social ●
SWB Social Process ●
Desarrollo Dirigido por Ontologías
El Desarrollo Dirigido por Ontologías es un nuevo paradigma de desarrollo que toma como punto de parMda el conocimiento de un dominio capturado en una ontología para generar de manera automáMca la arquitectura y funcionalidad básica de un sistema de sodware cuyos objetos son persistentes de manera naMva en RDF
Evolución de los paradigmas de desarrollo
Desarrollo Dirigido por Ontologías
Modelos Ontológicos (conocimiento)
Desarrollo Dirigido por Modelos
Modelos orientados a objetos (relaciones)
Programación Orientada a Objetos
Lenguajes de Programación (objetos)
Nivel de ab
stracción
Nivel de complejidad
Generar Código
Transformación de Modelo Ontológico a Código
Generar Código
Transformación de Modelo Ontológico a Código
SemanBcWebBuilder es una
suite de herramientas para el
desarrollo de aplicaciones y
portales semánMcos.
¿Qué es SemanBcWebBuilder?
Las herramientas que integran la suite del SemanMcWebBuilder son:
SemanBcWebBuilder Suite
• Modelador de Procesos (BPMN 2.0) • Motor de procesos
SW Process
• Servidor de Portales • Administración de contenidos • Administración de contextos de información • Administración de Usuarios
SWB Portal
• Modelado de Información (Definir significado) • Editor de Ontologías (OWL)
SWB Ontology Editor (En desarrollo)
• Plataforma SemánMca • Punto de acceso para consultas semánMcas (SPARQL) • Integración de Información (Fuentes externas) • Generación de código basado en ontologías • Soporte a Cloud
SWB Plaeorm
• Persistencia de Datos (RDF) SWB Triple Store
En INFOTEC por su naturaleza como Centro de InvesMgación y Desarrollo Tecnológico del CONACYT y buscando como principal objeMvo el apoyo a la comunidad más que el beneficio económico, se tomo la decisión de liberar el producto bajo un esquema de código abierto con la finalidad de:
– Apoyar al crecimiento de la industria de TI en el país
– Abrir una oportunidad de negocia a la inicia:va privada
– Buscar el apoyo de la comunidad para crecer y evolucionar la herramienta
– Incrementar el potencial de penetración en el mercado
Esta decisión esta encaminada a brindar a la sociedad en general la oportunidad de contar con herramientas que le permitan el desarrollo de nuevas oportunidades de negocio en disMntos ámbitos.
SemanBcWebBuilder como Código Abierto
Ontología VisitMexico
Demo
Ontología SWB Portal
Ontología SWB Process
SemanBcWebBuilder Suite
Arquitectura de capas
Niveles
(Core Model)
Ontología
SemWB Platform
SemWB TripleStore
RDF Library
SemWB Base
Código Autogenerado Código Personalizado
Cache, Sincronización
Arquitectura de capas
Componentes
SWBPortal
SWBForms
SWBModel
SWBPlatform
SWBTripleStore
RDF Library
SWBBase
Estándares • RDF, RDFS • OWL • SPARQL • HTML • XHTML • XML • JSR 168: Portlet SpecificaMon • JSR 170: Content Repository for JavaTM
technology API • JSR 286: Portlet SpecificaMon 2.0 • JSR-‐223: Script engines for many languages • WSRP (Web Services for Remote Portlets) • JAAS • LDAP v3 (cliente) • XMLRPC • BPMN 2.0 • XPDL 2.1 Lenguajes de desarrollo • Java JEE (servidor) • .Net Framework 3.5 (cliente office)
Persistencia SemánMca • Memoria • Sistema de archivos • Base de Datos Relacional (HSQLDB, MySQL,
PostgreSQL, Derby, Oracle, Microsot SQL Server)
• Base de Datos RDF NaMvas (Virtuoso, Oracle 11g RDF, Allegro Graph)
• Bigdata Soporte a Cloud • Sincronizacion automaMca de cache de
Instancias • Soporte a Cloud-‐Front • Full Page Cache en base a alertas Otras tecnologías • Dojo • Jena, ARQ • Java script • Ajax
CaracterísBcas tecnológicas
Ventajas del Desarrollo Dirigido por Ontologías
• Se enfocan los esfuerzos del equipo de desarrollo en el correcto modelado del dominio más que en la definición y programación del sistema
• El modelo del sistema es comprensible por todas las partes involucradas en el desarrollo, pues se usan conceptos en un alto nivel de abstracción
• Un cambio en el modelo afecta al código base del sistema, pero un cambio en el código extendido no afecta al modelo, lo que permite mantener y reuMlizar la funcionalidad existente
• El API se programación semánMca permite a los programadores trabajar con ontologías, RDF y TripleStores sin requerir conocimientos profundos en esos tópicos
• Los recursos humanos y el Bempo necesarios para el desarrollo se reducen considerablemente
• Los datos de la aplicación se almacenan de manera semánMca, por lo que es posible realizar consultas complejas y muy específicas
Conclusiones
La Web SemanMca y el Desarrollo de aplicaciones Web 3.0 es ya una realidad y nos abre las puertas a un nuevo mundo de posibilidades, en donde la integracion de datos de diferentes fuentes es el puento principal. Actualmente existen muchas fuentes de datos accesibles por medio de APIs de la Web 2.0 como eBay, Amazon, Yahoo, Google. La tecnología SemánMca Mene la ventaja de proveer un solo mecanismo estandar para el intercambio de datos, permiMendo a las fuentes de datos sea: • Más facil para indexar por los buscadores • Es accesible por los navegadores genericos • Permite ligar datos de diferenctes fuentes.
El uMlizar los conceptos de la Web SemanMca para el desarrollo de aplicaciones abre la posibilidad de construir una nueva generación de aplicaciones a una fraccion del Mempo y cuya caracterisMca principal se centra en la posibilidad de administrar información compleja y distribuida.
Preguntas