Manual del estudiante de Ingeniería en Sistemas de UTN/Modelos de e-negocios/Niveles de integración de los sistemas de información

Niveles de Integración de Sistemas de Información editar

Para dar soporte a un modelo de e-colaboración, cada empresa debe definir una interfaz para extraer la información de negocio requerida por los DNE[1] y el envío de los mismos. Esta interfaz tiene como objetivo alcanzar la interoperabilidad entre los sistemas de información de las empresas, a nivel de procesos, de contenido y de transporte.

Arquitectura básica en capas que debería tener una interfaz de integración de procesos de negocio.

Nivel de procesos

Los procesos de negocio son un conjunto de actividades que una organización debe llevar adelante para alcanzar sus objetivos. Cuando los procesos se realizan en forma conjunta, cada empresa ejecuta un subconjunto de las actividades del proceso de colaboración. A este nivel, se debe dar el soporte necesario para la articulación de estas actividades. El objetivo de esta capa es que esta articulación sea transparente para los socios.

Nivel de contenido

Debe lograrse interoperabilidad a nivel de estructura de datos y a nivel semántica, para realizar el intercambio de información.

Nivel de transporte

Esta capa es la responsable por la validación y la seguridad de los datos y de alcanzar la interoperabilidad a nivel de sistemas.

Tecnologías de integración a nivel de procesos editar

Procesos públicos y privados editar

Los procesos privados son procesos propios de las empresas y son ejecutados por cada una en forma autónoma. Los procesos públicos deben ser acordados y ejecutados en forma conjunta por las empresas involucradas. Para facilitar la interoperabilidad de los procesos, se han desarrollado soluciones tales como aquellas basadas en DNE, que son especificaciones de un conjunto de DNE que deben ser intercambiados de acuerdo a un protocolo, y definen los procesos y los mensajes que deben ser intercambiados para dar soporte a los mismos (tales como los estándares definidos por RosettaNet, ebXML y OAGIS).

Tecnologías de integración a nivel de transporte editar

La interoperabilidad a nivel de sistema hace referencia a la integración de sistemas de información que se ejecutan sobre sistemas operativos y hardware incompatibles. Para poder resolver este tipo de interoperabilidad han surgido varias tecnologías. La aceptación de Internet como un estándar para la interconexión entre sistemas y la evolución de infraestructuras y middleware que dan soporte a la computación distribuida han tenido un impacto positivo en alcanzar este tipo de interoperatibilidad.

Tecnologías de integración a nivel de contenido editar

La interoperabilidad sintáctica significa integrar datos que están presentes en los sistemas de información en diferentes lenguajes y modelos de representación. Los avances tecnológicos que han ayudado a alcanzar la interoperabilidad a nivel de estructura de datos son: la estandarización en el modelado de datos con la aparición de ANSI SQL, los estándares de modelado de objetos y las metodologías asociadas, el estándar XML.

La interoperabilidad semántica hace referencia al significado de los términos usados en el intercambio de información. Para alcanzar este tipo de interoperabilidad se han hecho varias propuestas tratando de crear estructuras de representación del significado de los términos utilizados.

Semántica: significado y estructuras de representación editar

En el dominio de los sistemas de información, la semántica define el significado de los objetos, términos o conceptos complejos que componen a todo sistema de información. Un concepto es una idea que concibe el entendimiento y que puede ser representada por un término o palabra. Al hecho de que un término pueda representar distintos conceptos, o que un concepto pueda ser representado por distintos términos, se lo denomina heterogeneidad semántica, y cuya naturaleza suele radicar en el contexto, ya que un término puede referenciar a un concepto en un contexto, y a otro en un contexto distinto.

Existen diferentes estructuras para organizar y representar la información semántica. Cada una enfocada sobre aspectos distintos de búsqueda, recuperación y procesamiento del conocimiento. Las taxonomías y los tesauros se enfocan en la eficiencia de la búsqueda y recuperación de la información, en tanto que las redes semánticas y las ontologías intentan hacer más eficiente la comunicación.

Taxonomía editar

Desde el punto de vista de la información de negocios, se define taxonomía como: jerarquía de términos que se utiliza para clasificar elementos; en ella se representa la relación es-un entre términos de determinado dominio. Las categorías, en una taxonomía, deberían ser mutuamente excluyentes. Un concepto individual debería ser encontrado en una única rama de la jerarquía. Una taxonomía debería ser exhaustiva, es decir, que todas las posibilidades deberían estar incluidas.

Tesauro editar

Existen dos normas ISO para el establecimiento y desarrollo de tesauros monolinguales (ISO 2788, 1986), y multilinguales (ISO 5964, 1985). Según la definición que da la norma ISO 2788, se define un tesauro como:

Un tesauro es un vocabulario de un lenguaje de indexación dinámico, formalmente organizado de modo tal que a priori las relaciones semánticas entre conceptos se hacen explícitas. Un tesauro se aplica a un dominio particular del conocimiento.

Las relaciones en un tesauro pueden ser de tres tipos:

  • Relación de equivalencia: es una relación entre términos referentes a un mismo concepto. Las relaciones de equivalencia se representan con la etiqueta USE.
  • Relación de jerarquía: es una relación que expresa los distintos niveles, más genéricos o más específicos. Estas relaciones se expresan con las etiquetas BT (Broad Term o Término más amplio) y NT (Narrow Term o Término más específico).
  • Relaciones asociativas: estas relaciones se establecen entre términos que no son equivalentes y que no pueden relacionarse tampoco jerárquicamente; suelen expresarse mediante la etiqueta RT (Related Term o Término relacionado).

Además, se puede especificar una cadena de caracteres asociada a un término para explicar su significado; esto puede hacerse usando la etiqueta SN (Scope Note o Nota de alcance).

Red semántica editar

Las redes semánticas pueden ser utilizadas como una forma de representación gráfica de las estructuras presentadas anteriormente. Una red semántica puede definirse como: una estructura compuesta por nodos, que representan objetos, enlaces, que representan relaciones entre objetos y etiquetas de enlace que denotan relaciones particulares. Desde el punto de vista estructural, una red semántica puede verse como un grafo dirigido etiquetado. Los nodos de las redes semánticas aplicadas al área de representación de conocimiento, simbolizan conceptos y las relaciones representan las relaciones semánticas entre dichos conceptos.

Ontologías editar

Una ontología puede entenderse como una especificación explícita de una conceptualización. En la comunidad de Inteligencia Artificial, las ontologías suelen clasificarse en dos categorías: "lightweight" y "heavyweight". Las ontologías "lightweight" definen conceptos, taxonomía de conceptos, relaciones entre los conceptos y algunas propiedades que describen dichos conceptos. Las ontologías denominadas "heavyweight" agregan axiomas y restricciones a las ontologías descriptas anteriormente. Desde esta perspectiva, se pueden caracterizar a las taxonomías y a los tesauros como ontologías "lightweight". Una ontología "heavyweight" puede ser definida como:

Una ontología es un conjunto de términos y alguna especificación de su significado a través de relaciones, axiomas y propiedades utilizando algún lenguaje de representación que permita inferir conocimiento. Existen dos tipos principales de ontologías, las ontologías generales o de alto nivel y las ontologías definidas para un dominio en particular, las cuales se denominan ontologías de dominio.

Formas de representar la semántica editar

Desde una perspectiva de intercambio de información entre socios de negocio, la mejor estructura para representar la semántica de la información es una ontología contextual. Una ontología contextual, al igual que cualquier estructura semántica, puede estar presente en alguna de las siguientes formas:

  • implícita,
  • explícita e informal,
  • explícita y formal, procesable por los humanos
  • explícita y formal, procesable por la máquina.

La semántica siempre se encuentra implícita en los datos que manipula un sistema de información. Siempre que la semántica se mantenga en forma implícita sólo existirá en la mente de quienes hayan definido los datos y la aplicación. Existen tres formas distintas de explicitar la semántica dependiendo del objetivo que se tenga en mente. Si simplemente se quiere comunicar la semántica a un grupo reducido de personas pertenecientes a un grupo de trabajo, quizás sólo baste con definir informalmente la semántica en lenguaje natural. Si se desea lograr la comunicación automática entre dos máquinas será necesario explicitar la semántica en un lenguaje que sea procesable por una computadora. Este último objetivo, es un objetivo deseable en tiempo de ejecución de una aplicación. Para llegar a una semántica procesable por la máquina primeramente la misma debe ser modelada formalmente por las personas involucradas en el proceso de creación de la semántica.

Semántica implícita editar

La semántica implícita está presente cuando el significado de un objeto o elemento se encuentra implícito en el objeto mismo y en la mente de las personas que lo definieron. Ejemplo de semántica implícita:

<xs:complexType name="ShipmentPlanningScheduleException">
 <xs:sequence>
  <xs:element name="LineNumber" type="LineNumber" minOccurs="0"/>
  <xs:element name="EffectivePeriod" type="TimePeriodAny" minOccurs="0"/>
  <xs:element name="Description" type="Description" minOccurs="0" maxOccurs="unbounded"/>
  <xs:element name="ActionCode" type="Code" minOccurs="0"/>
  <xs:element name="ExceptionCode" type="Code" minOccurs="0"/>
  </xs:sequence>
</xs:complexType>

Documentos con semántica implícita podrían llegar a ser procesados por un usuario humano. Por otro lado, el procesamiento de la información definida en un documento de negocio, con esta estructura, quedará implícitamente contenido en el programa mismo. Una forma de resolver los problemas que acarrea la semántica implícita es hacerla explícita.

Semántica explícita e informal editar

Con el objetivo de salvar los problemas que surgen de trabajar con documentos basados en XML, en los cuales la semántica se encuentra implícita, algunos estándares han definido explícitamente el significado de los elementos que componen al documento. Una forma de explicitar la semántica en los documentos basados en XML es a través del elemento annotation. Ejemplo:

<xs:complexType name="ShipmentPlanningScheduleException">
 <xs:annotation>
  <xs:documentation source="openapplications.org"> Line item exceptions based on predefined business rules or contract agreements.
  </xs:documentation>
 </xs:annotation>
 <xs:sequence>
  <xs:element name="LineNumber" type="LineNumber" minOccurs="0"/>
   <xs:annotation>
    <xs:documentation source="openapplications.org"> Indicates the exception line number within a schedule. This is used for communicating exception errors
    </xs:documentation>
   </xs:annotation>
  ...

Semántica formal procesable por el humano editar

Para formalizar la semántica de la información, se pueden utilizar cualquiera de las estructuras definidas en el apartado anterior. Un ejemplo de semántica explícita y formal es la ontología Enterprise Ontology (EO). Se ve a continuación una porción de esta ontología, en la cual se define el término entidad:

Entidad: una cosa fundamental en el dominio modelado.
 Ejemplos:
  * Un ser humano es una Entidad.
  * Un plan es una Entidad.
 Notas:
  1. Una Entidad puede participar en Relaciones con otras Entidades.
  2. Para coincidir con el uso común del idioma inglés, y para evitar complicar el texto de las definiciones, intencionalmente evitamos diferenciar entre un tipo de Entidad (frecuentemente llamado clase) y una Entidad particular de cierto tipo (frecuentemente llamada instancia). Utilizamos la palabra Entidad para ambos conceptos, delegando al contexto la resolución de potenciales ambigüedades.

Semántica formal procesable por la máquina editar

A comienzos de la década de los 90, fue definido un conjunto de lenguajes para representar semántica asociada a la información. Estos lenguajes tradicionales estaban basados en lógica de primer orden, como Ontolingua, OKBC y Flogic y sobre lógica descriptiva, como LOOM. Con el surgimiento de Internet aparece un nuevo conjunto de lenguajes cuyo objetivo es poder explotar al máximo las características de la Web. Dentro de este conjunto podemos citar: RDF, RDFS, OWL y C-OWL. Todos estos lenguajes derivan de XML..

RDF y RDF Schema editar

El RDF (Resource Description Framework) es un lenguaje de propósito general para representar información en la Web y forma parte del conjunto de lenguajes definidos por el W3C Consortium. Una descripción en RDF es una lista de tres elementos: un objeto (un recurso), un atributo (una propiedad), y un valor (un recurso o un texto libre). El RDF Schema es una extensión del RDF. Con RDF Schema, se pueden definir clases que podrían tener múltiples subclases y super clases, y se pueden definir propiedades, las cuales podrían tener sub-propiedades, dominios y rangos. RDF Schema es un lenguaje simple para definir las denominadas ontologías lightweight. Los lenguajes RDF y RDF Schema son útiles para representar los objetos que componen una ontología pero requieren de otro lenguaje para representar la semántica con el objetivo de inferir conocimiento. SCHEMAS

schemas aplication + schemas+json-dl+json-Rdes editar

El lenguaje de marcado de semántica Ontology Web Language (schemas) es una recomendación del W3C Consortium. El schemas es un lenguaje diseñado para ser usado por aplicaciones que necesitan procesar el contenido de la información. Schemas fue desarrollado como una extensión del vocabulario de RDES.jsondljson-id Schemas provee tres extentions"C.F. nguajes con una expresividad creciente para ser usados por comunidades específicas de usuarios e implementadores:

  • schemas software aplication: Este sublenguaje da soporte para representar una jerarquía de clasificación y restricciones simples.
  • schema-json-w3: Este sublenguaje se corresponde con la Lógica Descriptiva.
  • schema-json- w3Full: Este sublenguaje es una herramienta para aquellos usuarios que quieren una máxima expresividad y la libertad sintáctica de RDES sin una garantía computacional.
C-OWL editar

El lenguaje C-OWL es un lenguaje que extiende la sintaxis y semántica del lenguaje OWL para representar información del contexto en el cual son válidos los conceptos definidos en una ontología. Además, este lenguaje, permite explicitar reglas de mapeo entre conceptos que pertenecen a dos contextos distintos. C-OWL es un lenguaje que está actualmente en desarrollo y por lo tanto son muy pocas las aplicaciones.


^  Documentos de Negocios Electrónicos.