270 likes | 454 Views
The WSML Editor Plugin to the Web Services Modeling Toolkit. Mick Kerrigan 2 nd WSMO Implementation Workshop (WIW) Innsbruck, Austria, 6 th June 2005. Overview. Why is a toolkit needed? Problems with tool development. Aim of the WSMT WSMT Architecture WSML Editor Future Work
E N D
The WSML Editor Plugin to theWeb Services Modeling Toolkit Mick Kerrigan 2nd WSMO Implementation Workshop (WIW) Innsbruck, Austria, 6th June 2005
Overview • Why is a toolkit needed? • Problems with tool development. • Aim of the WSMT • WSMT Architecture • WSML Editor • Future Work • Sneak Preview of v0.4 • Summary 2nd WSMO Implementation Workshop
Why is a toolkit needed? • Research in Semantic Web and Semantic Web Services is producing new technologies. • Need to make these technologies accessible to users. • Need to encourage tool development. • Current tools are not centralized and do not have a standard look and feel. • Technologies are adopted because of the ease with which they can be applied. 2nd WSMO Implementation Workshop
Why is a toolkit needed? • V0.90 of RSS used RDF, RDF syntax was dropped in V0.91: • “The structure of an RDF file is very precise and must conform to the RDF data model in order to be valid. This is not easily human-understandable and can make it difficult to create useful RDF files. The second is that few tools are available for RDF generation, validation and processing. For these reasons, we have decided to go with a standard XML approach.” - Dan Libby,Netscape – RSS v0.91 Spec 2nd WSMO Implementation Workshop
Issues with Tool Development • Traditional development of tools involved using platform specific languages e.g. Visual Basic. • Window managers position objects at a specific x, y co-ordinate on the screen. • Introduction of Java and its Layout managers solves these issues but introduces more. • Large overhead for application creation. • Executables • Localization • Class paths • It is often difficult to add new tools to a Graphical toolkit. 2nd WSMO Implementation Workshop
Aim of the WSMT • To provide a light weight framework for rapid creation and deployment of homogenous tools for Semantic Web Services. • Reduces application overhead • Provide common reusable functionality • Allow new tools to be added dynamically • Encourages creation of tools • Centralizes the tools needed by Semantic Web users • Does not require a change in the development process 2nd WSMO Implementation Workshop
WSMT Architecture Launcher JAR Files Plug-in Descriptions Core Dynamic Class Loader Plug-in Loader Communication Component Invoker Logger Receiver Plug-in 1 Plug-in n …. 2nd WSMO Implementation Workshop
WSMT Architecture - Launcher • For standalone applications class path needs to be defined either in the manifest or on the command line. • A dynamic class path allows dynamic deployment of plug-ins. • Launcher takes a library path as argument and builds a class loader, which includes all core, plug-in, and third party libraries. • For a plug-in to be made available all compiled sources and any libraries it is dependant on must be put in the library folder of the installation. • The core is launched from this class loader. 2nd WSMO Implementation Workshop
WSMT Architecture Launcher JAR Files Plug-in Descriptions Core Dynamic Class Loader Plug-in Loader Communication Component Invoker Logger Receiver Plug-in 1 Plug-in n …. 2nd WSMO Implementation Workshop
WSMT Architecture – Core • The job of the core is to provide the glue code for the plugins. • The core provides the main application frame, the menu bar, toolbar, preferences dialog and configurations for localization. • The core is also responsible for setting the look and feel up correctly. • The core provides a number of components that can be accessed by any of the tools that are deployed in the WSMT. 2nd WSMO Implementation Workshop
Core Components • Communication Component for sending a receiving messages over web services. • Web Service Invocation Framework (WSIF) for invocation • Embedded Jetty Web Server running apache axis allows for web services to make asynchronous call backs to the WSMT and push data. • Logging component for keeping a configurable, rolling, centralized log for all plugins. • The Plugin Loader detects the plugins that are available using the plugin description files and uses reflection to instantiate them. It also checks for compatibility of the plugin with the current WSMT and Java versions. 2nd WSMO Implementation Workshop
WSMT Architecture – Plugin Descriptions • Plugin description files provide information about a given plugin, such as name, version, authors, WSMT version, Java version and plugin class name. <?xml version="1.0" encoding="UTF-8"?> <id>wsmleditor</id> <version>0.3</version> <classname>ie.deri.wsmtool.wsmleditor.WSMLEditorPlugin</classname> <author>Mick Kerrigan</author> <wsmt-version>0.2</wsmt-version> <java-version>1.5</java-version> </pluginDescription> 2nd WSMO Implementation Workshop
WSMT Architecture Launcher JAR Files Plug-in Descriptions Core Dynamic Class Loader Plug-in Loader Communication Component Invoker Logger Receiver Plug-in 1 Plug-in n …. 2nd WSMO Implementation Workshop
WSMT Architecture – Plug-ins • A plug-in is a panel which can be displayed in the main frame created by the core. • The plug-in is initialised with information for configuring localisation and where to load its configuration files. • The plug-in can also contribute to the menu bar, toolbar and preference dialog of the application by implementing the plug-in interfaces. • It is possible to switch between different plug-ins using the window menu. • If a plug-in has a need for external files, these files can be placed in a directory in the application folder with a name matching that of the plugin-id. 2nd WSMO Implementation Workshop
Tools • Current Tools • WSML Editor (v0.3) • WSMX Invoker (v0.1) • WSMX Data Mediation Mapping Tool (v0.2) • Future Tools • WSMX Choreography • WSMX Monitoring • WSMX Management 2nd WSMO Implementation Workshop
WSMT Architecture Launcher JAR Files Plug-in Descriptions Core Dynamic Class Loader Plug-in Loader Communication Component Invoker Logger Receiver Plug-in 1 Plug-in n …. 2nd WSMO Implementation Workshop
WSMT Architecture – Packaging • WSMT is distributed as a windows executable, provided with and without a JRE. • A Linux version with and without JRE is also available. 2nd WSMO Implementation Workshop
WSMT Architecture – Packaging • Users can make decisions regarding installation folders and which plugins to install. 2nd WSMO Implementation Workshop
WSML Editor • The WSML Editor is a tool for the creation and publishing of WSML Documents. • Focus of early versions has been on the creation of documents. Later work will focus on communication with WSMX and other storage mechanisms. • Deals with the creation of all four of the WSML top level element, Ontologies, Web Services, Mediators and Goals. • WSML File is displayed in a tree the properties of the selected WSML entity are displayed in the properties panel on the right hand side of the application. 2nd WSMO Implementation Workshop
WSML Editor – Tree and Property Panel 2nd WSMO Implementation Workshop
WSML Editor – Adding Entities • New entries can be added by right clicking on an existing node and choosing an item from the menu. • Multiple Entities can be added at the same time 2nd WSMO Implementation Workshop
WSML Editor • The tree of WSML entities can be filtered to customise the users view of the WSML Document. • Views include showing and hiding of Functions, Instances, Relation Instances, Attributes, Parameters, Inherited Attributes and Inherited Parameters. • Users can configure predefined namespaces to prevent data entry mistakes and speed up creation of entities. • Currently logical expressions are entered as strings. Future work will look at adding a graphical mechanism for creating logical expressions. 2nd WSMO Implementation Workshop
Future Work • WSMT • Create isolation zones to allow plugins to use different versions of the same library • Add additional components to the core where necessary • Upgrade invocation component and resolve issues with complex types and WS-Addressing • WSML Editor • Upgrade model to WSMO4J 0.4.0 (WSML 1.1) • Add support for new WSML Logical Expression object model • Integrate with WSMX communication manager and allow publishing and retrieving of WSML documents. • Add import and export functionality for OWL, OCML etc… 2nd WSMO Implementation Workshop
WSML Editor – Sneak Preview A Sneak Preview of v0.4 of the WSML Editor 2nd WSMO Implementation Workshop
WSML Editor - Visualisations 2nd WSMO Implementation Workshop
Summary • Development of a toolkit will provide a centralized homogenous set of tools for semantic web services. • Reduced application overhead encourages tool development. • Plugins can be provided separately from the WSMT and dynamically deployed into the architecture. • The WSML Editor provides a fully featured WSML v1.0 Editor. • Allows users to customize the application using filters and predefined namespaces. • Future work in graphical creation of logical expressions will further abstract the user from the underlying language. 2nd WSMO Implementation Workshop
The WSML Editor Plugin to theWeb Services Modeling Toolkit Mick Kerrigan 2nd WSMO Implementation Workshop (WIW) Innsbruck, Austria, 6th June 2005