Presentación de la conferencia del Ingeniero Javier Solís acerca del Desarrollo de aplicaciones para la Web 3.0 en el marco de SG Conference y Expo 2012 organizado por la revista Software Gurú. En ella habló acerca del desarrollo de aplicaciones como Linked Data, BPM y Cloud enfocadas al desarrollo de aplicaciones.
4. ¿Quién es INFOTEC?
Somos un Centro Público de Investigacion y Desarrollo Tecnológico que contribuye a la competitividad 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
Oferta Arquitecturas Empresariales
Investigación Aplicada y Bajo
Demanda
Formación de Capital Humano
Consultoría Estratégica
Sistemas de Información Estratégica
Administración Integral de
Infraestructura
6. Evolución de la Web
La evolución de la Web podría dividirse en tres niveles
principalmente:
• Web 1.0 - Personas conectándose a la
Web
• Web 2.0 - Personas conectándose a
personas - redes sociales, wikis,
colaboración, posibilidad de
compartir.
• Web Semántica - Aplicaciones Web
conectándose a aplicaciones Web, a
fin de enriquecer la experiencia de las
personas.
9. La Web Semántica
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.
10. Qué es Semántica
Cómo percibimos y describimos el mundo
hecha de usada para
hecha de
tiene tiene
es una
pertenece a
tiene
11. La Web Semántica según Tim Berners Lee
Una web semántica es una red de
datos que pueden ser procesados
directa o indirectamente por
máquinas.
Es una web extendida que permitirá a
humanos y máquinas trabajar en
cooperación mutua.
14. Visión de la Web Semántica
El objetivo detrás de darle significado a la información es crecer al Internet a un
plano de conocimiento.
15. Componentes de la Web Semántica
No se trata de una inteligencia artificial 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ántica utiliza
esencialmente RDF, SPARQL, y OWL, mecanismos que ayudan a convertir la Web en
una infraestructura global en la que es posible compartir, y reutilizar datos y
documentos entre diferentes aplicaciones y usuarios.
16. ¿Qué es Resource Definition Framework?
RDF es un modelo de datos para los recursos y las relaciones que se puedan
establecer entre ellos. Aporta una semántica básica para este modelo de datos que
puede representarse mediante XML.
RDF proporciona información descriptiva simple sobre los recursos que se encuentran
en la Web y que se utiliza, por ejemplo, en catálogos de libros, directorios, colecciones
personales de música, fotos, eventos, etc.
TRIPLAS
<casa><hecha de><piedra>
<casa><hecha de><madera>
<casa><usada para><vivir>
Triple: <casa><tiene><habitación>
<casa><es una><construcción>
Sujeto – Propiedad – Objeto <casa><pertenece a><Homero Simpson>
< habitación><tiene><puerta>
< habitación><tiene><ventana>
17. ¿Qué es SPARQL?
SPARQL es lenguaje de consulta sobre RDF, que permite hacer búsquedas sobre los
recursos de la Web Semántica utilizando distintas fuentes datos.
19. ¿Qué es Ontology Web Language?
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 utilizadas 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, tipologías de propiedades
más complejas, caracterización de propiedades (por ejemplo simetría) o clases
enumeradas.
22. ¿Linked Data?
Linked Data es una propuesta para ayudar a construir la
Web Semántica.
Linked Data describe la forma de exponer, compartir y
conectar piezas de datos, información y conocimiento a
través de la web
23. Reglas para construir datos enlazados
(Linked Data)
1. Utiliza URIs como nombres para objetos
2. Utiliza URIs HTTP para que las personas pueda buscar esos
nombres.
3. Cuando alguien busque un URI, proporcionar información útil,
utilizando las normas (RDF, SPARQL)
4. Incluir enlaces a otros URIs para que puedan descubrir más
cosas (Datos enlazados).
24. Las cinco estrellas del Open Linked Data
• Una estrella: ofrecer los datos en cualquier formato, aunque sean difíciles 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 identificar 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áctica, 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.
25. Crecimiento de la nube de Linked Data
Mayo 2007 (12 Datasets)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
26. Crecimiento de la nube de Linked Data
Septiembre 2008 (45 Datasets)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
27. Crecimiento de la nube de Linked Data
Julio 2009 (95 Datasets)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
28. Crecimiento de la nube de Linked Data
Septiembre 2010 (203 Datasets)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
29. Crecimiento de la nube de Linked Data
Septiembre 2011 (295 Datasets, 31 billions de triples)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
31. Linea de Tiempo del Desarrollo de la
Familia SemanticWebBuilder
+ Semántica
Necesidades de
Navegación y SWB Social Process ●
Búsqueda SWB Social ●
SWB Cloud ●
SWB Search ●
Necesidades de SWProcess ● 2012
Administración
y Publicación SWB Platform ● 2011
2010
SWB ● 2009
WB 3.2 Open Source ● 2007
WB 3.1 ● 2006
WB 3.0 ● 2005
WB 2.5 ● 2004
WB 2.1 ● 2003
WB 2.0
WB 1.0 WB 1.5 2002
● ●
2000 2001
32. Desarrollo Dirigido por Ontologías
El Desarrollo Dirigido por Ontologías es un nuevo
paradigma de desarrollo que toma como punto de
partida el conocimiento de un dominio capturado en
una ontología para generar de manera automática la
arquitectura y funcionalidad básica de un sistema de
software cuyos objetos son persistentes de manera
nativa en RDF
33. Evolución de los paradigmas de desarrollo
Desarrollo Dirigido por Ontologías
Modelos Ontológicos (conocimiento)
Nivel de complejidad
Nivel de abstracción
Desarrollo Dirigido por Modelos
Modelos orientados a objetos (relaciones)
Programación Orientada a Objetos
Lenguajes de Programación (objetos)
37. ¿Qué es SemanticWebBuilder?
SemanticWebBuilder es una
suite de herramientas para el
desarrollo de aplicaciones y
portales semánticos.
38. SemanticWebBuilder Suite
Las herramientas que integran la suite del SemanticWebBuilder son:
SW Process
• Modelador de Procesos (BPMN 2.0)
• Motor de procesos
SWB Portal
• Servidor de Portales
• Administración de contenidos
• Administración de contextos de información
• Administración de Usuarios
SWB Ontology Editor (En desarrollo)
• Modelado de Información (Definir significado)
• Editor de Ontologías (OWL)
SWB Platform
• Plataforma Semántica
• Punto de acceso para consultas semánticas (SPARQL)
• Integración de Información (Fuentes externas)
• Generación de código basado en ontologías
• Soporte a Cloud
SWB Triple Store
• Persistencia de Datos (RDF)
39. SemanticWebBuilder como Código Abierto
En INFOTEC por su naturaleza como Centro de Investigación y Desarrollo
Tecnológico del CONACYT y buscando como principal objetivo 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 iniciativa 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 distintos ámbitos.
44. Características tecnológicas
Estándares Persistencia Semántica
• RDF, RDFS • Memoria
• OWL • Sistema de archivos
• SPARQL • Base de Datos Relacional (HSQLDB, MySQL,
• HTML PostgreSQL, Derby, Oracle, Microsoft SQL
• XHTML Server)
• XML • Base de Datos RDF Nativas (Virtuoso, Oracle 11g
• JSR 168: Portlet Specification RDF, Allegro Graph)
• JSR 170: Content Repository for JavaTM • Bigdata
technology API
• JSR 286: Portlet Specification 2.0 Soporte a Cloud
• JSR-223: Script engines for many languages • Sincronizacion automatica de cache de
• WSRP (Web Services for Remote Portlets) Instancias
• JAAS • Soporte a Cloud-Front
• LDAP v3 (cliente) • Full Page Cache en base a alertas
• XMLRPC
• BPMN 2.0 Otras tecnologías
• XPDL 2.1 • Dojo
• Jena, ARQ
Lenguajes de desarrollo • Java script
• Java JEE (servidor) • Ajax
• .Net Framework 3.5 (cliente office)
45. 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 reutilizar la funcionalidad existente
• El API se programación semántica permite a los programadores trabajar con ontologías, RDF y
TripleStores sin requerir conocimientos profundos en esos tópicos
• Los recursos humanos y el tiempo necesarios para el desarrollo se reducen considerablemente
• Los datos de la aplicación se almacenan de manera semántica, por lo que es posible realizar
consultas complejas y muy específicas
46. Conclusiones
La Web Semantica 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ántica tiene la ventaja de
proveer un solo mecanismo estandar para el intercambio de datos, permitiendo 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 utilizar los conceptos de la Web Semantica para el desarrollo de aplicaciones abre la
posibilidad de construir una nueva generación de aplicaciones a una fraccion del
tiempo y cuya caracteristica principal se centra en la posibilidad de administrar
información compleja y distribuida.