View
756
Download
5
Category
Preview:
DESCRIPTION
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.
Citation preview
Presentación de
Desarrollo de Aplicaciones Web 3.0Linked Data + BPM + Cloud
Agenda
¿Quién es INFOTEC?1
Linked Data3
La Web Semántica2
Demo5
Desarrollo Dirigido por Ontologías4
Preguntas6
Evolución de la Web2
¿Quién es INFOTEC?
¿Quién es INFOTEC?
Administración Integral de Infraestructura
Sistemas de Información Estratégica
Consultoría Estratégica
Oferta
Investigación Aplicada y Bajo Demanda
Formación de Capital Humano
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 iEstrategia 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 compartir.
• Web Semántica - Aplicaciones Web conectándose a aplicaciones Web, a fin de enriquecer la experiencia de las personas.
La Web Semántica
La Web Semántica
Cómo Representar el mundo en una máquina (IA)
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.
Qué es Semántica
Cómo percibimos y describimos el mundo
hecha de
tiene
hecha de
usada para
es una
tiene
tienepertenece a
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.
?
El problema…
Web Semántica
El objetivo detrás de darle significado a la información es crecer al Internet a un plano de conocimiento.
Visión 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.
Componentes de la Web Semántica
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.
Triple:
Sujeto – Propiedad – Objeto
¿Qué es Resource Definition Framework?
<casa><hecha de><piedra><casa><hecha de><madera><casa><usada para><vivir><casa><tiene><habitación><casa><es una><construcción><casa><pertenece a><Homero Simpson>< habitación><tiene><puerta>< habitación><tiene><ventana>
TRIPLAS
SPARQL es lenguaje de consulta sobre RDF, que permite hacer búsquedas sobre los recursos de la Web Semántica utilizando distintas 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 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.
¿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ántica.
Linked Data describe la forma de exponer, compartir y conectar piezas de datos, información y conocimiento a través de la web
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).
Reglas para construir datos enlazados (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.
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. http://lod-cloud.net/
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/
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/
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/
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/
Desarrollo Dirigido por Ontologías
Necesidades deNavegación y Búsqueda
Necesidades deAdministración y Publicación
WB 1.0 WB 1.5WB 2.0 ●
WB 2.1 ●WB 2.5 ●
WB 3.0 ●
WB 3.1 ●WB 3.2 Open Source ●
SWB ●
+ Semántica
●●2000 2001
2002
2004
2003
2005
2007
2006
2009
Linea de Tiempo del Desarrollo de la Familia SemanticWebBuilder
SWB Platform ●2010
SWProcess ●2011
2012SWB 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 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
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)
Niv
el d
e ab
stra
cció
n
Niv
el d
e co
mpl
ejid
ad
Generar Código
Transformación de Modelo Ontológico a Código
Generar Código
Transformación de Modelo Ontológico a Código
SemanticWebBuilder es una
suite de herramientas para el
desarrollo de aplicaciones y
portales semánticos.
¿Qué es SemanticWebBuilder?
Las herramientas que integran la suite del SemanticWebBuilder son:
SemanticWebBuilder 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á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 Platform
• Persistencia de Datos (RDF)SWB Triple Store
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.
SemanticWebBuilder como Código Abierto
Ontología VisitMexico
Demo
Ontología SWB Portal
Ontología SWB Process
Estándares• RDF, RDFS• OWL• SPARQL• HTML• XHTML• XML• JSR 168: Portlet Specification• JSR 170: Content Repository for JavaTM
technology API• JSR 286: Portlet Specification 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ántica• Memoria• Sistema de archivos• Base de Datos Relacional (HSQLDB, MySQL,
PostgreSQL, Derby, Oracle, Microsoft SQL Server)
• Base de Datos RDF Nativas (Virtuoso, Oracle 11g RDF, Allegro Graph)
• Bigdata
Soporte a Cloud• Sincronizacion automatica 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ísticas 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 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
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.
Preguntas
http://www.infotec.com.mxhttp://www.semanticwebbuilder.org.mx
javier.solis@infotec.com.mx@softjei
gdnps@infotec.com.mx
Gracias
Recommended