=Paper=
{{Paper
|id=Vol-440/paper-12
|storemode=property
|title=ICD Wiki – Framework for Enabling Semantic Web Service Definition and Orchestration
|pdfUrl=https://ceur-ws.org/Vol-440/paper12.pdf
|volume=Vol-440
|dblpUrl=https://dblp.org/rec/conf/oic/BrownP08
}}
==ICD Wiki – Framework for Enabling Semantic Web Service Definition and Orchestration==
ICD Wiki – Framework for Enabling Semantic Web Service Definition and Orchestration
Dean Brown, Dominick Profico
Lockheed Martin, IS&GS, Valley Forge, PA
Abstract – As Net-Centric enterprises grow, the desire processes and user-desired functionality grows.
to rapidly define and build reusable services and create Composite Services logically chain multiple web services
new business processes through the combination of together, ideally using an execution language like WS-
services and workflow will grow. Semantic Web Services BPEL or Google Mashup that can execute the service
is one approach to facilitate automated mediation between without requiring software compilation by software
services based on semantic understanding of the services. developers.
Lockheed Martin is investigating the use of a wiki with an
However, based on the heterogeneous nature of web
underlying RDF data model to provide a collaborative
services, linking web services together where data formats,
framework to define services, document services, manage
names, units, and message formats are different requires an
ontology models, and quickly build composite services.
integrator knowledgeable about the specifics of each
I. Net-Centricity, SOA, and Web Services service; which is usually a software developer.
Net-Centric: Participating as a part of a II. Semantic Web Services
continuously-evolving, complex community of
The vision of Semantic Web services is to
people, devices, information and services
describe and annotate the various aspects of a
interconnected by a communications network to
Web service using explicit, machine-
achieve optimal benefit of resources and better
understandable semantics, enabling the
synchronization of events and their
automatic location, combination, and use of Web
consequences.i
services.iii
A. Net-Centricity
A. Semantic Web Service Overview
The following two principles are what makes Net-
The goal of our research on the IntegrationWare IRAD
Centric different from how we usually build systems:
project is to make service orchestration more in the spirit
• Openness. Information systems can communicate of the net-centric and Web 2.0 paradigm by allowing
across traditional system and enterprise boundaries Composite Services to be built quickly and easily by end-
in an open-ended ways. users in a familiar environment in an intuitive, drag-and-
• Dynamic Interaction. The capability to drop user interface. Semantic Web Services provide the
dynamically change the interaction and foundation to performing automated data-level mediation
organizational scope at run-time versus at system (matching dissimilar data names, formats, units) between
development time.ii services.
Service-oriented architectures (SOAs) implemented This is done by requiring the web service providers to
with web services provides an open, standards-based perform a one-time mapping of their web service to a set
approach to implementing capabilities that can be of ontology models, as well as documenting additional
dynamically linked together to implement a business information regarding the functionality of their services.
process. The movement towards SOA and web services The ontology models either pre-exist (developed
allows service providers to provide high-value capabilities specifically for a particular domain), or are modified as
and services without necessarily knowing the service needed to support the web services. Once the web service-
consumer. To optimize the value of these services, service to-ontology model mappings are complete, the mapping is
providers need to design and build services that are converted into a machine-readable format that will be used
reusable (as agnostic as possible to a specific to facilitate the discovery of services and automated data
implementation) and as stateless as possible (scalable and mediation between the services.
more independent). B. Ontology Models
B. Composite Web Services In order to create semantic web services, several
As the enterprise inventory of reusable web services different ontology models need to be created: at least one
grows, the desire to build Composite Web Services that domain model, a units model, a transformation model, and
leverage these services to quickly support new business a schema model.
The domain model(s) documents the entities, their
relationships, and their properties that are relevant to a
particular domain. For example, for the intelligence
community domain model, some entities could include
ISR assets, sensors, products, reports, tasking, geospatial
locations, collection plans, observations,… Ideally, the
domain model is built prior to performing the web service
mapping to help identify the desired set of web services to
be built or obtained. However, as new web services are
used that don’t map to existing entities and properties, then
the domain ontology model will grow.
The units model documents units for values such as
distance, area, volume, mass, temperature,… and how to
transform between them.
The transformation model documents known “generic”
transformations between different data types that aren’t
units of measurement and aren’t associated with a
particular entity. For example, a transformation service Figure 1. Web Service to Domain Ontology Mapping
that can transform from lat/long coordinates to MGRS Example
coordinates would show a relationship between lat/long
and MGRS. mapping services are supported (ex: we know how to
The schema model documents the message syntaxes to transform meters to feet).
support message transformations between services. For example, suppose a user wanted to create a
C. Web Service Mapping to Ontology Models composite service that computes how far an ISR asset is
off plan from it’s current position. This might require the
Our primary short-term goal in developing Semantic composition of two specific web services like
Web Services is to support data-level mediation between GetAssetInfo (to get position of identified asset in
web services. Because web services can be developed by a lat/long/elev) and GetISR_AssetPositionOffset (to take the
wide range of producers that don’t build their services with position of the identified asset (in MGRS coordinates and
a common data interface model in mind, many services elev) and a plan ID) to compute the offset (see Figure 2).
that reference the same data can have different data
formats (strings, ints, doubles,…), different data names
(asset_id versus AssetId), different data units (meters
versus feet, MGRS versus lat/long), and different data
structures or groupings of data.
The mapping of web service interface elements (data
inputs and outputs) to ontology model object properties
unambiguously “defines” that data element in terms of
“what” it is (domain model), the data format (schema
model), and data unit (unit model) in a machine readable
format (see Figure 1). This facilitates automated data
transformations to address all these data matching issues.
Once the mapping has been completed, the mapped
relationships are converted into a machine-readable Figure 2. Example Composite Service Generation
format.
D. Design-Time Service Composition If both services are mapped to a domain model (which
When multiple web service data interface elements are identifies AssetElev and ISRAssetElev as equivalent), a
mapped to the same ontology model object property, they units model (which knows how to convert feet to meters),
are declared to be semantically “equivalent”; meaning a and a transformation model (which knows how to convert
mapped web service output element can be mapped to an lat/long to MGRS), then the user can simply drag each
equivalent web service input element regardless of data service to the canvas and connect them together. The
type, name, unit, or data structure if the appropriate underlying system will use the ontology model mappings
to determine what outputs from the first service map to
Figure 3. ICD Wiki Functional Diagram
inputs to second service (equivalance). If data file can be either located locally on the user’s workstation
transformations are required, then the appropriate or any network reachable URL.
transformation services are automatically identified and
The import process places copies of all WSDL and
inserted between the user linked services.
related schema files onto a “Resource Bus”, making all
III. ICD Wiki files available via a standard URL reference. Co-locating
each of the required files simplifies the task of inspecting
A. Service Design, Discovery & Composition the interface files and validating references.
Framework
We provide a framework to build semantic web
services that is intuitive for users by using the Wiki
paradigm. The ICD wiki framework allows users to
import web services, perform the service-to-ontology
model mappings, and generate/convert/modify services for
export. It also allows users to “define” desired web
services and to provide feedback regarding the usability of
existing web services.
See Figure 3 for a functional diagram of the ICD wiki
framework vision. The yellow shaded boxes show where
we have done development so far. The following sections Figure 4. ICD Wiki / Resource Bus Interaction
provide more detail regarding the implemention of the ICD
Wiki. After replicating the necessary files to the Resource
B. Service Import Process Bus, the primary file is inspected to determine the format
and version. WSDL v1.1 files are converted to WSDL
Importing existing service definitions is a key v2.0 in order to facilitate the transformation and mapping
component of increasing the usefulness and adoption of stages. Conversion of the WSDL takes place via an
the ICD Wiki system. The wiki provides a user interface Extensible Stylesheet Language Transformation (XSLT).
designed to compliment existing common user interfaces The XSL file utilized to perform this transformation was
on the Web. Through this interface, a user is able to select acquired from the W3Civ. WSDL v2.0 specifications
a Web Service Description Language (WSDL) file to be require no additional conversion before being transformed
imported into the ICD Wiki Semantic Store. This WSDL into semantic representations.
C. Semantic Service Transformations
There are multiple aspects to converting a service support the integration of services without those services
specification into a semantic representation suitable for supporting the exact same mapping.
storage in the ICD Wiki Semantic Store. The OWL-S
D. Service Composition
definition allows for a service specification to be
represented semantically, but it does include the ability to Composition of services into larger, more robust
represent the underlying syntactic structure of the services is one of the primary drivers of the ICD Wiki
messages passed into and out of the service’s respective concept. Utilizing an off-the-shelf product called
operations. Semantic representation of the syntactic mxGraphv, we have a built a canvas-style, drag and drop
structure is required in order to accurately determine how interface for service composition. The available set of
service interfaces can be mapped to one-another. In order services are retrieved from the semantic store for inclusion
to support this level of detail we developed a small model in the new composite service. The composition tool makes
to represent XML Schemas. use of common Web 2.0 tenets to allow a user to drag a
This model represents each of the most commonly used service from the available service pool and place it on the
XSD elements as semantic entities. We are then able to canvas. Once on the canvas, a user can draw linkages
create individuals of those class elements which represent between service inputs and outputs. During this process,
the imported schema. Once the full schema for the service the underlying architecture will continually check for
has been re-represented semantically, that semantic data is assignability between the services linked.
inserted into our semantic data store. In addition to Assignability is the determination “IF” two services
automatically transforming the syntactic schema into a can be linked together. During composition, this is enough
semantic one, the system, at this stage, provides the user information to allow the user to connect two services
with the ability to assign “units” to entities in the semantic without being burdened with type and meaning mapping.
representation of the service schema. Early in our design The necessary transformations and conversions are added
process, it was determined that support for unit conversion during the composed service generation phase.
among service operations would be an integral part of
enabling service composition. A simple model was built After a user has completed laying out the composed
to represent the abstract concept of units and unit service as desired, the canvas will be examined and the
transformations, both simple and complex. If a user generation of the necessary work flow will be begin. The
chooses to include unit designations for various elements current system supports work flow generation as Business
in the schema representation, those units will be taken into Process Execution Language files. Built in to the
consideration during any future composition sessions and generated workflow code is all of the necessary unit and
used to facilitate additional transformations where type transformations to combine the services. The data is
appropriate. not transformed into a semantic format during execution of
the workflow, but rather the semantic data is used to
At this stage, additional user input is required in order determine what values can be assigned to what parameters,
to fully understand the relationship between the imported so a direct assignment is done between parameters inside
schema and the known domain-specific models in the ICD the workflow. Multiple assignments and transformations
Wiki thus far. Automated determination of this may be necessary to progress from one service parameter
relationship is not available at this time in the prototype, so to another, but these complexities are completely hidden
we present the user with an interface to allow point-and- from the user. These composed services are made
click mapping of the imported elements to one or more available within the ICD Wiki for further composition and
domain models. A single entity can be mapped to multiple integration as needed by additional users.
entities across multiple domain models, further enhancing
the intrinsic knowledge within the semantic data store. E. Wiki Page Generation
Mapping from complex objects in the syntactic schema Generation of pages inside the ICD Wiki takes place
to entities and entity –types with in the domain models during the service and model import capabilities. During
facilitates the systems ability at later stages to determine an import of either a model definition file or a service
“assignability” between two service interfaces. definition file, the necessary wiki pages are automatically
created to support the human-readable aspect of the ICD
“Assignability” is a determination made by applying Wiki concept.
semantic rules to the ICD Wiki service domain model and
other domain models to generate an entailment. This Every wiki page in the ICD Wiki is capable of
entailment is used to ensure that an output message for a displaying a side-bar style component which shows all of
service’s operation is “assignable” to the input message of the known semantic relationships between the entity
another service, during service composition. Entities are represented on the current page and other entities in the
assignable in many ways, and can be chained together to semantic store. Using the sidebar, users are able to
explorer related entities in a traditional point-and-click,
web format.
For imported services, a page is created to represent the
service document as a whole, as well as pages for each
Figure 6. Domain Model Start Page
IV. Conclusion
We believe that the ICD wiki framework and semantic
web services will allow all users to better leverage the
growing list of available web services, intuitively define
the services they want built, and provide feedback on the
usability of all services..
V. References
i
‘Net-Centric’, Wikipedia, The Free Encyclopedia,
Figure 5. Operation Wiki Page Example http://en.wikipedia.org/wiki/Net-centric, (accessed 10/2/08)
ii
The Essence of Net-Centricity, Hans Polzer
iii
operation and input/output for those operations. The Dieter Fensel, Holger Lausen, Axel Polleres, Jos de Bruijn,
Michael Stollberg, Dumitru Roman, John Domingue. Enabling
created pages contain little textual content, but instead
Semantic Web Services. Berlin Heidelberg: Springer-Verlag,
there are custom wiki tags injected into the page text in 2007
order to support dynamic generation of various page iv
http://dev.w3.org/2006/wsdlConverter/wsdl11to20.xsl
sections, including the cross-linking of operations and v
http://www.mxgraph.com/
types belonging to the service.
In addition to the semantic side bar outlined above,
every imported model has a page from which a user can
start exploring an imported model. This page provides
access to the Domain Model Explorer.
F. Domain Model Explorer
The Domain Model Explorer is a tool built directly into
the ICD Wiki system which supports a user in their
exploration of the available domain models (see Figure 6).
On each domain model’s starting page, a “web” of
semantic entities is displayed, allowing the user to find
relationships amongst the various entities in the model.
Further, each entity is accessible as a drill down point in
order to find further relationships with in the model.