El motor de filtrado para grandes esquemas conceptuales es una herramienta prototipo que ayuda a los usuarios a extraer fácilmente de estos esquemas el conocimiento más relevante para un propósito particular.
Nuestro motor tiene un núcleo que es responsable de mantener y acceder a las características de un gran esquema conceptual. Además, el núcleo está bajo el control de las solicitudes de filtrado que consultan el esquema para atender las necesidades de información del usuario. La conjunción de solicitudes de filtrado de información específica y el núcleo del motor se implementa como un servicio web. Esta decisión arquitectónica permite una fácil interacción con los clientes web y aumenta la independencia de la tecnología y, por lo tanto, la facilidad de uso del sistema global.
El prototipo del motor de filtrado para grandes esquemas conceptuales se puede ejecutar en Eclipse IDE con la plataforma de herramientas web de Eclipse (WTP). Para esto, para probar el servicio, necesitamos configurar WTP con Tomcat y Axis. Veamos los pasos que se requieren para usar este servicio localmente.
Descripción general de Eclipse ETP
Eclipse WTP proporciona herramientas para el desarrollo de aplicaciones web Java estándar y aplicaciones Java EE. Los artefactos web típicos en un entorno Java son páginas HTML, archivos XML, servicios web, servlets y JSP. WTP Eclipse simplifica la creación de estos dispositivos web y proporciona entornos de ejecución en los que pueden implementar, iniciar y depurar estos dispositivos.
Eclipse WTP admite todos los contenedores web más grandes, por ejemplo, Jetty y Apache Tomcat, así como el principal servidor de aplicaciones Java EE. Este tutorial utiliza Apache Tomcat como un contenedor web.
Proyectos Web Dinámicos
En Eclipse WTP creas "Proyectos Web Dinámicos". Estos proyectos nos proporcionan las funcionalidades necesarias para ejecutar, depurar y desplegar una aplicación web Java. Por lo tanto, para el desarrollo de aplicaciones web Java que crean "Proyectos Web Dinámicos"
Instalacion de Tomcat
Instalando el WTP
Use el administrador de actualizaciones de Eclipse (seleccione Ayuda -> Instalar nuevo software) para instalar Eclipse WTP. Instale todos los paquetes de "Web, XML y Java EE Development" excepto "PHP Development" y "Eclipse RAP". Siga las pautas del asistente y reinicie Eclipse.
Configuración WTP
Selecciona Windows -> Preferences -> Server -> Runtime Environments. Para configurar WTP para que useTomcat Press Add.
Selecciona tu version Tomcat.
Seleccione el directorio de instalación de Tomcat donde se encuentra su versión de Tomcat y presione continuar.
Presione Finalizar y luego Aceptar. Ya está listo para usar Tomcat con WTP.
Servidor
Durante el desarrollo usted creará su servidor. Puede administrar su servidor a través de la vista del servidor. Para ver si los datos han persistido, detenga y reinicie el servidor. Puede hacer esto a través de Windows -> Mostrar vista -> Servidores -> Servidores
Aquí es donde puede iniciar, detener y reiniciar el servidor.
¡Ahora está listo para ser usado!
Apache Axis2 es un marco popular para servicios web de código abierto. Axis2 usa el análisis XML basado en Stax y usa internamente el modelo de objetos Axiom para representar el mensaje XML. A partir de este objeto, el modelo Axis2 proporciona un adaptador que cumple con Jax-WS. Aquí se explica cómo instalarlo y cómo configurar el eje 2 en Eclipse.
Instalación de Axis 2
Este capítulo requiere un tiempo de ejecución de Axis2, el sitio de descarga general aquí.
Extraiga la cremallera del eje 2 y marque ETP con Eclipse, como se muestra a continuación.
Actualmente Axis 2 1.5 no es compatible. Asegúrate de descargar Axis 1.4.1 para que puedas encontrarlo como Axis 2 1.4.1. Download.
Extraiga la cremallera del eje 2 y marque ETP con Eclipse, como se muestra a continuación.
Haga clic en Aceptar. Seleccione Ventana -> Preferencia y ponga Axis2 como el motor predeterminado.
Descarga el proyecto de servicio de filtrado aquí (here).
Vaya a Archivo-> Importar-> General-> Proyectos existentes en el área de trabajo
Haga clic en Siguiente y seleccione el archivo de archivado. Seleccione la descarga zip y haga clic en finalizar.
Ahora tienes el proyecto con el servicio de filtrado dentro.
Ahora está listo para iniciar el servicio web para el proyecto importado. En Eclipse, haga clic con el botón derecho en "Filtering.java" (dentro del paquete src / edu.upc.gemece.filtering) y seleccione Servicios web -> Crear servicio web.
Asegúrese de que el tiempo de ejecución del servicio web seleccionado sea Apache Axis2. De lo contrario, haga clic en el enlace de Runtime del servicio web: Apache Axis2 y seleccione Axis2.
Clica Siguiente.
Haga clic en "Siguiente". Si su servidor no se está ejecutando, verá este cuadro de diálogo. Haga clic en "Iniciar el servidor", espere unos segundos y haga clic en "Siguiente".
Si no hay ningún error, haga clic en "Finalizar". ¡Felicidades! Has empezado a filtrar el servicio web. ¡Eso fue fácil!
Una vez que el servicio está listo para ser consumido, tenemos que descargarlo Filtering Client y descomprímalo en un servidor web que sea compatible con PHP (por ejemplo, un servidor Apache local con PHP). Luego, en la carpeta de filtros encontrarás el archivo start.php. Ejecútelo escribiendo "php start.php" en una consola o visitando el archivo start.php a través del navegador web. Si todo funciona bien, el servicio y el cliente están listos para ser utilizados. Abra el archivo index.html en el directorio del cliente que ya ha descomprimido y continúe con las instrucciones de uso que se pueden encontrar aquí para comenzar a filtrar un gran esquema.
Recordatorio: primero, siga las instrucciones here preparar el environment.
El prototipo del motor de filtrado para grandes esquemas conceptuales incluye la implementación de aplicaciones de filtrado del catálogo de filtros introducido en Ch. 6 de este link: this thesis
Siguiendo una arquitectura orientada a servicios web. Nuestro prototipo proporciona funcionalidad para extraer una parte del conocimiento del esquema conceptual de Magento.
Magento es una completa plataforma de comercio electrónico de código abierto dirigida a diseñadores de sitios web, desarrolladores y propietarios de negocios que buscan una solución completa de sitios web de comercio electrónico. El sistema Magento proporciona escalabilidad, flexibilidad y características para el crecimiento empresarial. El subsistema estructural Magento contiene 218 tipos de entidades y 983 atributos. Por otro lado, el subesquema de comportamiento contiene 187 tipos de eventos y 69 condiciones previas y posteriores que especifican el efecto de los eventos. Además, el esquema conceptual conecta sus elementos a través de un conjunto de 319 tipos de relaciones y 165 relaciones de generalización, incluidas 386 restricciones de integridad, 185 reglas de referencia, 15 tipos de datos y 46 tipos de datos, enumeración.
Este esquema se carga previamente en el servicio del administrador de esquemas prototipo. La siguiente captura de pantalla muestra el diseño conceptual de Magento:
F1 - Solicitud de filtrado de tipo de entidad y relaciones
F2 - Aplicación para filtrar las reglas del esquema.
F3 - Solicitud de filtrado de tipo de eventos.
F4 - Solicitud de filtrado de un esquema conceptual.
F5 - Solicitud de filtrado para el comportamiento del contexto de los tipos de entidad
F6 - Solicitud de filtrado contextualizado
La primera solicitud de filtrado se centra en un conjunto (uno o más) de tipos de entidades y relaciones de un esquema conceptual grande y devuelve el esquema de filtrado correspondiente con el conocimiento de interés para el usuario.
En nuestra implementación, ofrecemos a los usuarios una interfaz basada en web para facilitar la construcción del conjunto de enfoque. El usuario puede incluir los tipos de entidades y relaciones en el enfoque establecido a través de tres componentes diferentes.
En primer lugar, construimos una nube de palabras con los 25 tipos de entidades más relevantes en Magento, donde las más relevantes están representadas en un tamaño de fuente más grande. Este formato es útil para percibir rápidamente los tipos de entidades más prominentes para usuarios sin experiencia. Si selecciona un nombre de tipo de entidad único dentro de la nube de palabras, este tipo de entidad incluye el conjunto de enfoque.
Alternativamente, la interfaz contiene una barra de búsqueda, que proporciona una funcionalidad autocompletada que ayuda a descubrir los nombres de la entidad existente y los tipos de relación de Magento. Los nombres de la entidad seleccionada y los tipos de relación se muestran en la barra de búsqueda.
La primera solicitud de filtrado se centra en un conjunto (uno o más) de tipos de entidades y relaciones de un esquema conceptual grande y devuelve el esquema de filtrado correspondiente con el conocimiento de interés para el usuario.
En nuestra implementación, ofrecemos a los usuarios una interfaz basada en web para facilitar la construcción del conjunto de enfoque. El usuario puede incluir los tipos de entidades y relaciones en el enfoque establecido a través de tres componentes diferentes.
En primer lugar, construimos una nube de palabras con los 25 tipos de entidades más relevantes en Magento, donde las más relevantes están representadas en un tamaño de fuente más grande. Este formato es útil para percibir rápidamente los tipos de entidades más prominentes para usuarios sin experiencia. Si selecciona un nombre de tipo de entidad único dentro de la nube de palabras, este tipo de entidad incluye el conjunto de enfoque.
Alternativamente, la interfaz contiene una barra de búsqueda, que proporciona una funcionalidad autocompletada que ayuda a descubrir los nombres de la entidad existente y los tipos de relación de Magento. Los nombres de la entidad seleccionada y los tipos de relación se muestran en la barra de búsqueda.
La segunda solicitud de filtrado se centra en un conjunto de esquemas (uno o más) basados en un gran esquema conceptual y devuelve el esquema de filtrado correspondiente con el conocimiento de interés para el usuario.
En nuestra implementación, ofrecemos a los usuarios una interfaz basada en web para facilitar la construcción del conjunto de enfoque. El usuario puede incluir reglas de esquema en el enfoque establecido a través de tres componentes diferentes.
En primer lugar, construimos una nube de palabras con los 25 tipos de entidades más relevantes en Magento, donde las más relevantes están representadas en un tamaño de fuente más grande. Este formato es útil para percibir rápidamente los tipos de entidades más prominentes para usuarios sin experiencia. Si selecciona un nombre de tipo de entidad único dentro de la nube de palabras, todas las reglas de esquema definidas en el contexto de este tipo de entidad se incluyen en el conjunto de enfoque.
Alternativamente, la interfaz contiene una barra de búsqueda, que proporciona una funcionalidad de autocompletado que ayuda a descubrir los nombres de la entidad existente y los tipos de eventos de Magento. Los nombres de las entidades y los tipos de eventos seleccionados se muestran en la barra de búsqueda y todas sus reglas de esquema se incluyen en el conjunto de enfoque.
Además, incluimos una lista alfabética para explorar todos los tipos de entidad, evento y relación de Magento que definen las reglas de esquema. El usuario selecciona una sola letra del alfabeto inglés de la lista y obtiene una enumeración de estos tipos de entidades y relaciones cuyo nombre comienza con esta letra. Tenga en cuenta que hemos precedido a cada elemento de la lista alfabética con un icono que muestra el tipo de elemento del esquema (tipo de entidad, tipo de evento, tipo de relación o clase de asociación).
El usuario también puede seleccionar el tamaño final del esquema filtrado para indicar la cantidad de conocimiento que desea obtener como resultado, o para definir el alcance de la solicitud en el local para obtener solo los elementos a los que hace referencia las reglas de el foco. Como ejemplo, las siguientes capturas de pantalla muestran el prototipo de filtro cuando el usuario selecciona la operación createInvoice de la condición posterior de la operación del efecto () del tipo de evento AddInvoice. Al utilizar nuestro prototipo, el usuario descubre los elementos a los que hace referencia esta regla de esquema, teniendo en cuenta que el alcance se ha establecido como local. Específicamente, el usuario puede descubrir que la condición posterior describe el comportamiento para generar una nueva instancia de factura, lo que incluye cómo configurar los valores de los atributos de la nueva factura y cómo relacionarla con las nuevas instancias de factura que coincidan con las instancias de la línea de pedido de la línea actual. Orden de este evento.
La tercera solicitud de filtro se centra en un conjunto (uno o más) tipos de eventos de un esquema grande y devuelve el esquema filtrado correspondiente con el conocimiento de interés para el usuario.
En nuestra implementación, ofrecemos a los usuarios una interfaz basada en web para facilitar la construcción del conjunto de enfoque. El usuario puede incluir tipos de eventos en el enfoque establecido a través de tres componentes diferentes.
En primer lugar, creamos una nube de palabras con los 25 tipos más importantes de eventos de Magento, donde se muestran los más relevantes en un tamaño de fuente más grande. Este formato es útil para percibir rápidamente los tipos más destacados de eventos para usuarios sin experiencia. Si selecciona un nombre de tipo de evento único dentro de la nube de palabras, este tipo de evento se incluye en el conjunto de enfoque.
Alternativamente, la interfaz contiene una barra de búsqueda, que proporciona una funcionalidad de autocompletado que ayuda a descubrir los nombres de los tipos de eventos Magento existentes. Los nombres de los tipos de eventos seleccionados se muestran en la barra de búsqueda.
Además, incluimos una lista alfabética para explorar todos los tipos de eventos de Magento. El usuario selecciona una sola letra del alfabeto inglés de la lista y luego obtiene una enumeración de los tipos de eventos cuyo nombre comienza con esta letra. El usuario puede seleccionar los tipos de eventos de interés que se incluyen en la barra de búsqueda.
El usuario también puede seleccionar el tamaño final del esquema filtrado para indicar la cantidad de conocimiento que desea obtener como resultado. Como ejemplo, las siguientes capturas de pantalla muestran el prototipo de filtro cuando el usuario selecciona el tipo de evento AddProductToWishlist como un conjunto de enfoque de entrada. Al usar nuestro prototipo, el usuario descubre que este tipo de evento es un descendiente de los tipos de eventos abstractos ExistingProductEvent y ExistingCustomerEvent, lo que indica que AddProductToWishlist es un tipo de evento que trata con productos y clientes. De hecho, el esquema filtrado muestra que EexistingProductEvent está asociado con una instancia del tipo de entidad Producto, y ahí está; Además, el usuario obtiene un referencial invariante completo que establece que cada instancia del producto se identifica por el valor del atributo sku.
La cuarta solicitud de filtrado se centra en un pequeño esquema obtenido al aplicar cualquier otra solicitud de filtrado de catálogo. Este pequeño esquema es un esquema conceptual filtrado que el usuario desea ampliar para obtener un conocimiento adicional del gran esquema original con una relación superior a los elementos del esquema contenidos en el esquema filtrado.
En nuestra implementación, ofrecemos a los usuarios una interfaz basada en web para facilitar la construcción del conjunto de enfoque. El usuario puede incluir elementos de un esquema filtrado para centrarse en dos componentes diferentes.
En primer lugar, ofrecemos a los usuarios una vista gráfica interactiva del esquema conceptual filtrado a través de una biblioteca HTML5 / Javascript. Los usuarios pueden interactuar directamente con el esquema filtrado cambiando la posición de los elementos (arrastrar y soltar). Además, los usuarios pueden seleccionar un conjunto de elementos de esquema (uno o más) del esquema filtrado e incluirlos en el conjunto de enfoque para la aplicación de la cuarta solicitud de filtrado.
Alternativamente, el usuario puede escribir el nombre de la entidad o los tipos de eventos deseados en la barra de búsqueda, lo que proporciona una completa funcionalidad de autocompletar. Por lo tanto, el usuario puede refinar el conjunto de enfoques para combinar la selección de elementos del esquema filtrado con la selección de elementos adicionales del esquema grande de acuerdo con las necesidades específicas de información.
Una vez que se completa el conjunto de enfoque, el usuario hace clic en el botón Examinar para iniciar la nueva solicitud de filtrado y obtener el esquema de filtrado correspondiente. En las siguientes capturas de pantalla, la interfaz muestra un esquema filtrado centrado en el tipo de entidad de reembolso. El esquema presenta un reembolso como un descendiente de la entidad de tipo Comentable, asociado a las instancias de RefundLine, y ese reembolso pertenece al orden al que está relacionado, que también es un descendiente de Commentable. Además, el esquema filtrado muestra tres invariantes.
Por otro lado, la entrada del ejemplo contiene el esquema que incluye los cuatro tipos de entidades del paso anterior. El resultado incluye los mismos elementos que el esquema de entrada (marcado con un color más oscuro) y dos tipos de entidades adicionales de gran importancia: Web y StoreView. Además, este esquema contiene dos invariantes referenciales adicionales completamente.
Por lo tanto, la interacción entre el usuario y nuestro prototipo propuesto resulta en un proceso iterativo que debe aplicarse tantas veces como sea necesario. El proceso finaliza cuando el usuario cree que ha obtenido un conocimiento suficiente del gran esquema para cubrir las necesidades de información específicas o desea aplicar una solicitud de filtrado diferente.
La quinta aplicación de filtro se centra en un conjunto (uno o más) tipos de entidades en un esquema grande y devuelve el esquema de filtrado correspondiente con los tipos de eventos que son interesantes para el usuario.
En nuestra implementación, ofrecemos a los usuarios una interfaz basada en web para facilitar la construcción del conjunto de enfoque. El usuario puede incluir los tipos de entidades en el enfoque establecido a través de tres componentes diferentes.
En primer lugar, construimos una nube de palabras con los 25 tipos de entidades más relevantes en Magento, donde las más relevantes están representadas en un tamaño de fuente más grande. Este formato es útil para percibir rápidamente los tipos de entidades más prominentes para usuarios sin experiencia. Si selecciona un nombre de tipo de entidad único dentro de la nube de palabras, este tipo de entidad incluye el conjunto de enfoque.
Alternativamente, la interfaz contiene una barra de búsqueda, que proporciona una funcionalidad de autocompletado que ayuda a descubrir los nombres de los tipos de entidades existentes de Magento. Los nombres de los tipos de entidad seleccionados se muestran en la barra de búsqueda.
Además, incluimos una lista alfabética para explorar todos los tipos de entidades de Magento. El usuario selecciona una sola letra del alfabeto inglés de la lista y luego obtiene una enumeración de los tipos de entidades cuyo nombre comienza con esta letra. El usuario puede seleccionar los tipos de entidades que se incluyen en la barra de búsqueda.
El usuario también puede seleccionar el tamaño final del esquema filtrado para indicar la cantidad de conocimiento que desea obtener como resultado. Como ejemplo, las siguientes capturas de pantalla muestran el prototipo de filtro cuando el usuario selecciona la dirección del tipo de entidad como el foco de entrada definido. Al utilizar nuestro prototipo, el usuario descubre el conjunto de tipos de eventos relacionados con este tipo de entidad.
Por lo tanto, observamos en el esquema de filtrado resultante que los tipos de eventos DeleteCustomerAddress y EditCustomerAddress hacen uso de la dirección de tipo de entidad para su especificación. Además, el tipo de evento OrderConfirmation está relacionado con dos instancias de dirección para los roles de facturación y entrega, lo que indica que en los pedidos de productos Magento se requiere una dirección de facturación y una dirección de entrega.
La sexta solicitud de filtrado se centra en un conjunto (uno o más) de tipo de entidad y eventos de un esquema conceptual grande y devuelve el esquema de filtrado correspondiente con el conocimiento de interés para el usuario al aplicar una función de contextualización.
En nuestra implementación, ofrecemos a los usuarios una interfaz basada en web para facilitar la construcción del conjunto de enfoque. El usuario puede incluir los tipos de entidades y relaciones en el enfoque establecido a través de tres componentes diferentes.
En primer lugar, construimos una nube de palabras con las entidades y los tipos de eventos más relevantes de los 25, donde los más relevantes se representan en un tamaño de fuente más grande. Este formato es útil para percibir rápidamente la entidad y los tipos más destacados de eventos para usuarios sin experiencia. Si selecciona una sola entidad o nombre de tipo de evento dentro de la nube de palabras, incluye este tipo de entidad o evento en el conjunto de enfoque.
Alternativamente, la interfaz contiene una barra de búsqueda, que proporciona una funcionalidad de autocompletado que ayuda a descubrir los nombres de la entidad existente y los tipos de eventos de Magento. Los nombres de las entidades y los tipos de eventos seleccionados se muestran en la barra de búsqueda.
Además, incluimos una lista alfabética para explorar todo tipo de entidades y eventos de Magento. El usuario selecciona una sola letra del alfabeto inglés de la lista y obtiene una enumeración de estos tipos de entidades y eventos cuyo nombre comienza con esta letra. Cada elemento de la lista también muestra sus atributos y participación en las relaciones. El usuario puede seleccionar los tipos de entidad o evento de interés, que se incluirán más adelante en la barra de búsqueda y, además, cambiarán las multiplicidades (algunas de ellas) de sus atributos o participaciones en las relaciones, o incluso seleccionarán la opción predeterminada Valores para aquellos atributos cuyo tipo es enumeración. Tenga en cuenta que hemos precedido a cada elemento de la lista alfabética con un icono que muestra el tipo de elemento del esquema (tipo de entidad, tipo de evento, participación en el tipo de relación o atributo de propiedad). Si cambia los múltiplos de la selección de valores predeterminados, el usuario aplica una función de contextualización.
El usuario también puede seleccionar el tamaño final del esquema filtrado para indicar la cantidad de conocimiento que desea obtener como resultado. Como ejemplo, las siguientes capturas de pantalla muestran el prototipo de filtro cuando el usuario selecciona el tipo de entidad BundleProduct como el foco de entrada definido y selecciona un valor predeterminado para su atributo de propiedad priceMethod. Al utilizar nuestro prototipo, el usuario descubre que este tipo de entidad desciende del tipo de producto de entidad y que está relacionado con los tipos de entidades del sitio web y SCItemOfBundleProduct. Tenga en cuenta que el atributo priceMethod de BundleProduct muestra su valor predeterminado como Estático.
Para cualquier pregunta o sugerencia, no dude en contactarnos enviando un correo electrónico aavillegas@essi.upc.edu
A continuación, proponemos trabajos futuros sobre la evolución del motor de filtrado para grandes esquemas conceptuales: