You are on page 1of 21

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/289798444

Principles and experiences: Designing and building enterprise information systems

Article · January 2009


DOI: 10.4018/978-1-60566-723-2.ch004

CITATIONS READS
2 11

1 author:

Mehmet Aktas
Yildiz Technical University
110 PUBLICATIONS 769 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Pronaliz View project

Financial Analysis View project

All content following this page was uploaded by Mehmet Aktas on 10 October 2019.

The user has requested enhancement of the downloaded file.


PREPRINT
Principles and Experiences: Designing and Building Enterprise Information Systems

with each other for either data passing or elty of this chapter is to describe the semantics, ar-
coordi-nating some activity. There is an chitecture, and implementation of a EIS integrating
emerging need for Web-based Enterprise different Information Services by using unification
Information Systems (EIS) that manage all the and federation concepts. The implications of this
information that may be associated with wide- study are two-fold. First is to describe a generic
scale SOA-based e-business applications. Information Service architecture, which supports
Over the years, independent enterprise e- one-to-many information service implementations
business applications have developed their own as local data sources and integrates different kinds
customized implementations of Information of Web Service metadata at a higher conceptual
Service Specifications. These EIS solutions are level, while ignoring the implementation details of
not interoperable with each other, target vastly the local data-systems. Second is to describe the
different systems and address diverse sets of customized implementations two widely-used Web
requirements (Zanikolas & Sakellariou, 2005). Service Specifications: the WS-I compatible Web
They require greater interoperability to enable Service Context (WS-Context) (Bunting, et al.,
communication between different systems, so 2003) and Universal Description, Discovery and
that they can share and utilize each other’s re- Integration (UDDI) (Bellwood, Clement, & von
sources. Furthermore, they do not provide uni- Riegen, 2003) Specifications.
form interfaces for publishing and discovery of The organization of this chapter is as follows.
information. In turn, this creates a limitation on Section 2 reviews the relevant work. Section 3 gives
the client-end (e.g. fat client-end applications), an overview of the system. Section 4 presents the
as the users have to interact with more than one semantics of the Hybrid Service. Sections 5-6
EIS implementation. present the architectural design details and the
For example, large-scale e-business applica-tions prototype implementation of the system. Finally,
require management of large amounts of relatively Section 7 contains a summary of the chapter.
slowly varying metadata. Another ex-ample,
dynamic Web service collections, gathered together
at any one time to perform an e-business operation, RELEVANT WORK
require greater support for dynamic metadata.
Previous solutions do not address management Unifying heterogeneous data sources under a single
requirements of both large-scale, static and small- architecture has been target of many in-vestigations
scale, highly-dynamic metadata associated to Web (Ziegler & Dittrich, 2004). Informa-tion integration
Services (Zanikolas & Sakel-lariou, 2005). None of is mainly studied by distributed database systems
the existing solution enables communication research and investigates how to share data at a
between different e-business applications, so that higher conceptual level, while ignoring the
they can share, utilize each other’s resources, have implementation details of the local data systems
unified access interface and address diverse sets of (Ozsu, 1999; Valduriez & Pacitti, 2004). Previous
application require-ments (OGF GIN-CG). We work on merger between the heterogeneous
therefore see this as an important area of information systems may broadly be categorized as
investigation especially for enterprise e-business global-as-view and local-as-view integration
applications domain. (Florescu, Levy, & Mendelzon, 1998). In former
This chapter introduces a Hybrid Service as a category, data from several sources are transformed
EIS that addresses metadata management require- into a global schema and may be queried with a
ments of both large-scale, static and small-scale, uniform query interface. Much work has been done
highly-dynamic metadata domains. The main nov- on automating information

59
Principles and Experiences: Designing and Building Enterprise Information Systems

federation process using global schema approach. advertise themselves and discover other services. A
In the latter category, queries are transformed into number of studies extends and improves the out-of-
specialized queries over the local databases and box UDDI Specification (Open_GIS_Con-
integration is carried out by transforming queries. sortium_Inc.; Sycline; Galdos; Dialani, 2002;
Although the global schema approach captures ShaikhAli, Rana, Al-Ali, & Walker, 2003; Verma,
expressiveness capabilities of customized local Sivashanmugam, Sheth, Patil, Oundhakar, & Miller;
schemas, it does not scale up to high number of GRIMOIRES). UDDI-M (Dialani, 2002) and
data sources. In the local-as-view approach, each UDDIe (ShaikhAli, Rana, Al-Ali, & Walker, 2003)
local-system’s schema is need to be mapped projects introduced the idea of associating metadata
against each other to transform the queries. In and lifetime with UDDI Registry service
turn, this leads to large number of mappings that descriptions, where retrieval relies on the matches
need to be created and managed. of attribute name-value pairs between service
The proposed system differs from local-as-view description and service requests. METEOR-S
approaches, as its query transformation happens (Verma, Sivashanmugam, Sheth, Patil, Ound-hakar,
between a unified schema and local schemas. It & Miller) leveraged UDDI Specification by
utilizes and leverages previous work on global-as- utilizing semantic web languages to describe service
view approach for integrating het-erogeneous local entries. Grimories (GRIMOIRES) extends the
data services. The previous work mainly focuses on functionalities of UDDI to provide a semantic
solutions that automates the information federation enabled registry designed and developed for the
process at semantics level. Different from the MyGrid project (MyGrid). It supports third-party
previous work, the proposed approach presents a attachment of metadata about services and repre-
system architecture that en-ables information sents all published metadata in the form of RDF
integration at application level. To our best triples either in a database, or in a file, or in a
knowledge, the proposed system is a pioneer work, memory. Although out-of-box UDDI Specification
as it describes an Information Service architecture is a widely used standard, it is limited to key-word-
that enables unification and federation of based query capabilities. Neither it allows metadata-
information coming from different metadata oriented queries, nor it takes into account the
systems. One limitation is that it does not scale to volatile behavior of services. The previous work on
high number of local data-systems due to low-level UDDI-Extensions have centralized and database-
manual semantic schema integration. To facilitate based solutions. Thus, they present low fault-
testing of our system, we did the low-level tolerance and low performance as opposed to
information federation manually through a delicate decentralized and in-memory based data-systems.
analysis of the structure and semantic of each target The UDDI Specification is not designed to coor-
schema. Since the main focus of our research is to dinate activities of Web Services participating in a
explore the information integration at application work-flow style applications. Thus, it does not
level, we leave out the investigation of a low-level support data-sharing and metadata management
automated information federation capability for a requirements of rich-interacting systems.
future study. The proposed system addresses the limita-
Locating services of interest in Web service tions of previous work by introducing an add-on
intensive environments has recently become architecture, which runs one layer above the
important, since the service oriented architecture implementations of UDDI and its extensions. It
based systems increased in numbers and gain leverages previous work on UDDI and improves
popularity in recent years. The UDDI Specifica-tion the quality of UDDI-based metadata-systems in
is a widely used standard that enables services terms of fault-tolerance and high-performance.

60
Principles and Experiences: Designing and Building Enterprise Information Systems

To our best knowledge, this approach is unique, since it models a session metadata repository as
since it improves the qualities of existing imple- an external entity, where more than two services
mentations of Information Services without can easily access/store highly dynamic, shared
changing their code. Different from the previous metadata. Even though it is promising, the WS-
UDDI-work, the proposed system supports data- Context has some limitations as described below.
sharing and manages stateful interactions of Web Firstly, the context service has limited functional-
Services. The proposed research also introduces ities such as the two primary operations: GetCon-
semantics, communication protocols, and imple- text and SetContext. Secondly, the WS-Context
mentation of an extended UDDI version, which Specification is only focused on defining stateful
addresses metadata management requirements of interactions of Web Services. It does not define a
aforementioned application use domains. searchable repository for interaction-independent
Managing stateful interactions of Web Services information associated to the services involved in
is an important problem in rich-interacting sys-tems. an activity. Thirdly, the WS-Context
There are varying specifications focusing on point- Specification does not define a data model to
to-point service communication, such as Web manage stateful Web Service information.
Service Resource Framework (WSRF), WS- The proposed system differs from previous
Metadata Exchange (WS-ME). The WSRF work focusing on point-to-point service com-
specification, proposed by Globus alliance, IBM and munication, since it adopts a centralized metadata
HP, defines conventions for managing state, so that management strategy to regulate the interactions.
collaborating applications can discover, inspect, and It adopts the WS-Context Specification and
interact with stateful resources in a standard way. presents an extended version of WS-Context
The WS-ME provides a mechanism Specification and its implementation. The pro-
a) to share information about the capabilities of totype implementation manages dynamically
participating Web Services and b) to allow query-ing a generated session-related metadata. To our best
WS Endpoint to retrieve metadata about what to know to knowledge, the proposed approach is unique,
interact with them. Communication among services is since none of the previous work on Information
also achieved with a centralized metadata management Services implemented the WS-Context Specifica-
strategy, the Web Services Context (WS-Context) tion to manage stateful interactions of services.
Specification (Bunting, et al., 2003). The W-Context The proposed Hybrid Service leverages the ex-
defines a simple mechanism to share and keep track of tended WS-Context Service implementation and
common information shared between multiple improves its quality in terms of fault-tolerance
participants in Web service interactions. It is a and high-performance.
lightweight storage mechanism, which allows the
participant’s of an activity to propagate and share context
in-formation. Although point-to-point methodologies HYBRID SERVICE
successfully manage the stateful information, they
provide service conversation with metadata coming from We designed and built a novel Hybrid Information
the two services that exchange in-formation. This is a Service Architecture called Hybrid Service, which
limitation, since they become inefficient, when the provides unification, federation and interoper-ability
number of communicating services increased. We find of major Information Services. The Hybrid Service
the WS-Context Specification as promising approach to forms an add-on architecture that interacts with the
tackle the problem of managing distributed session state, local information services and unifies them in a
higher-level hybrid system. In other words, it
provides a unifying architecture, where

61
Principles and Experiences: Designing and Building Enterprise Information Systems

one can assemble metadata instances of graphical Information System/Sensor applications


different information services. To facilitate by extending the out-of-box UDDI data model. It
testing of the system, we integrated the Hybrid includes following additional/modified entities:
Service with the two local information service a) service attribute entity (serviceAttribute) and
implementations: WS-Context and Extended b) extended business service entity (businessSer-vice).
UDDI. We discuss semantics of the Hybrid We describe the additional/modified data model
Service in the follow-ing section followed by a entities as follows.
section discussing its architecture. Business service entity structure: The
UDDI’s business service entity structure contains
descriptive, yet limited information about Web
SEMANTICS Services. A comprehensive description of the out-
of-box business service entity structure defined
The semantics of the system may be analyzed by UDDI can be found in (Bellwood, Clement, &
under four categories: extended UDDI, WS- von Riegen, 2003). Here, we only discuss the
Context, Unified Schema, and Hybrid Service additional XML structures introduced to expand
Schema. The extended UDDI Specification on existing business service entity.
extends ex-isting out-of-box UDDI Specification These additional XML elements are a) ser-
to address its aforementioned limitations. The vice attribute and b) lease. The service attribute
WS-Context Specification improves the existing XML element corresponds to a static metadata
out-of-box Web-Service Context Specification to (e.g. WSDL of a given service). A lease
meet the aforementioned application structure describes a period of time during
requirements. The Unified Schema Specification which a service can be discoverable.
integrates these two information service Service attribute entity structure: A service
specifications. The Hybrid Service Schema attribute (serviceAttribute) data structure describes
consists of two small schemas: Hybrid Schema information associated with service entities. Each
and SpecMetadata Schema. These define the service attribute corresponds to a piece of metadata,
necessary abstract data models to achieve a and it is simply expressed with (name, value) pairs.
generic architecture for unification and federation Apart from similar approaches (Di-alani, 2002;
of different information service implementations. ShaikhAli, Rana, Al-Ali, & Walker, 2003), in the
proposed system, a service attribute includes a) a list
The Extended UDDI Specification of abstractAtttributeData, b) a categoryBag and c) a
boundingBox XML struc-tures: An
We have designed extensions to the out-of-box abstractAttributeData element is used to represent
UDDI Data Structure (Bellwood, Clement, & metadata that is directly related with functionality of
von Riegen, 2003) to be able to associate both the service and store/maintain these domain specific
prescriptive and descriptive metadata with auxiliary files as-is. This allows us to add third-
service entries. This way the proposed system party data models such as “capabilities.xml”
addresses limitations of UDDI (explained in metadata file describing the data coverage of
Section 2) and interoperates with existing domain-specific services such as the geospatial
UDDI clients without requiring an excessive services. An abstractAttribute-Data can be in any
change in the implemen-tations. We name our representation format such as XML or RDF. This
version of UDDI as the extended UDDI. data structure allows us to pose domain-specific
The Extended UDDI Schema: The schema queries on the metadata catalog. Say, an
addresses the metadata requirements of Geo- abstractAttributeData of a geo-

62
Principles and Experiences: Designing and Building Enterprise Information Systems

spatial service entry contains “capabilities.xml” services within the service. It takes additional input
metadata file. As it is in XML format, a client parameters such as serviceAttributeBag and Lease
may conduct a find_service operation with an to facilitate the additional capabilities. find ser-
XPATH query statement to be carried out on the viceAttribute: Used to find the aforementioned
abstractAttributeData, i.e. “capabilities.xml”. In serviceAttribute elements. The find serviceAt-
this case, the results will be the list of geospatial tribute API call returns a list of serviceAttribute
service entries that satisfy the domain-specific structure matching the conditions specified in the
XPATH query. A categoryBag element is used to arguments. get serviceAttributeDetail: Used to
provide a custom classification scheme to retrieve semi-static metadata associated with a
categorize serviceAttribute elements. A simple unique identifier. The get serviceAttributeDetail
classification could be whether the service API call returns the serviceAttribute structure
attribute is prescriptive or descriptive. A corresponding to each of the attributeKey values
boundingBox ele-ment is used to describe both specified in the arguments. get serviceDetail: Used
temporal and spatial attributes of a given to retrieve service entity structure associated with a
geographic feature. This way the system enables unique identifier.
spatial query capabilities on the metadata catalog. Using Extended UDDI Schema XML API:
Extended UDDI Schema XMLAPI: We Given the capabilities of the Extended-UDDI
pres-ent extensions/modifications to existing Service, one can simply populate metadata in-
UDDI XML API set to standardize the additional stances using the Extended-UDDI XML API as in
capa-bilities of our implementation. These the following scenario. Say, a user publishes a new
additional capabilities can be grouped under two metadata to be attached to an already exist-ing
XML API categories: Publish and Inquiry. service in the system. In this case, the user
The Publish XML API is used to publish meta- constructs a serviceAttribute element. Based on
data instances belonging to different entities of the aforementioned extended UDDI data model, each
extended UDDI Schema. It extends existing UDDI service entry is associated with one or more ser-
Publish XML API Set. It consists of the following viceAttribute XML elements. A serviceAttribute
functions: save service: Used to extend the out-of- corresponds to a piece of interaction-independent
box UDDI save service functionality. The save metadata and it is simply expressed with (name,
service API call adds/updates one or more Web value) pair. We can illustrate a serviceAttribute as in
Services into the service. Each service entity may the following example: ((throughput, 0.9)). A
contain one-to-many serviceAttribute and may have serviceAttribute can be associated with a lifetime
a lifetime (lease). save serviceAt-tribute: Used to and categorized based on custom classification
register or update one or more semi-static metadata schemes. A simple classification could be whether
associated with a Web Ser-vice. delete service: the serviceAttribute is prescriptive or descriptive. In
Used to delete one or more service entity structures. the aforementioned example, the throughput service
delete serviceAttribute: Used to delete existing attribute can be classified as descriptive. In some
serviceAttribute elements from the service. The cases, a serviceAttribute may correspond to a
Inquiry XML API is used to pose inquiries and to domain-specific metadata where service meta-data
retrieve metadata from the Extended UDDI could be directly related with functionality of the
Information Service. It extends existing UDDI service. For instance, Open Geographical
Inquiry XML API set. It consists of the following Concorcium compatible Geographical Informa-tion
functions: find service: Used to extend the out-of- System services provide a “capabilities. xml”
box UDDI find service function-ality. The find metadata file describing the data coverage of
service API call locates specific geospatial services. We use an abstractAttrib-

63
Principles and Experiences: Designing and Building Enterprise Information Systems

uteData element to represent such metadata and A user-defined identifier is useful for the in-
store/maintain these domain specific auxiliary formation providers to manage their own data. A
files as-is. As the serviceAttribute is constructed, description is optional textual information about a
it can then be published to the Hybrid Service by session. Each sessionEntity contains one-to-many
using “save_serviceAttribute” operation of the context entity structures. The context entity
extended UDDI XML API. On receiving a structure contains dynamic metadata associated to
metadata publish request, the system extracts the a Web Service or a session instance or both. Each
instance of the serviceAttribute entity from the sessionEntity is associated with its partici-pant
incoming requests, assigns a unique identifier to it sessionServices. The sessionService entity
and stores in in-memory storage. Once the publish structure is used as an information container for
operation is completed, a response is sent to the holding limited metadata about a Web Service
publishing client. par-ticipating to a session. A lease structure
describes a period of time during which a
The WS-Context Specification sessionEntity or serviceService or a context entity
instances can be discoverable.
We have designed extensions and a data model Session service entity structure: The ses-
for the WS-Context Specifications to tackle the sionService entity contains descriptive, yet limited
problem of managing distributed session state. information about Web Services participating to a
Unlike the point-to-point approaches, WS- session. A service key identifies a sessionService
Context models a third-party metadata entity. A sessionService may participate one or
repository as an external entity where more more sessions. There is no limit on the number of
than two services can easily access/store highly sessions in which a service can participate. These
dynamic, shared metadata. sessions are identified by session keys. Each
The extended WS-Context Schema: The sessionService has a name and description
schema is comprised of following entities: ses- associated with it. This entity has an endpoint ad-
sionEntity, sessionService and context. dress field, which describes the endpoint address of
Session entity structure: A sessionEntity the sessionService. Each sessionService may have
describes a period of time devoted to a specific one or more context entities associated to it. The
activity, associated contexts, and serviceService lease structure identifies the lifetime of the
involved in the activity. A sessionEntity can be sessionService under consideration.
considered as an information holder for the Context entity structure: A context entity
dynamically generated information. An instance describes dynamically generated metadata. An
of a sessionEntity is uniquely identified with a instance of a context entity is uniquely
session key. A session key is generated by the identified with a context key, which is
system when an instance of the entity is generated by the sys-tem when an instance of
published. If the session key is specified in a the entity is published. If the context key is
publication operation, the system updates the specified in a publication operation, the system
corresponding entry with the new information. updates the corresponding entry with the new
When retrieving an instance of a session, a information. When retrieving an instance of a
session key must be presented. A sessionEntity context, a context key must be presented.
may have name and description associated with it. A context is associated with a sessionEntity.
A name is a user-defined identifier and its The session key element uniquely identifies the
uniqueness is up to the session publisher. sessionEntity that is an information container

64
Principles and Experiences: Designing and Building Enterprise Information Systems

for the context under consideration. A context has call returns a session list matching the conditions
also a service key, since it may also be as-sociated specified in the arguments. find context: Used to
with a sessionService participating a session. A find contextEntity elements. The find context API
context has a name associated with it. A name is a call returns a context list matching the criteria
user-defined identifier and its uniqueness is up to specified in the arguments. find sessionService:
the context publisher. The information providers Used to find session service entity elements. The
manage their own data in the interaction- find sessionService API call returns a service list
dependent context space by using this user- matching the criteria specified in the arguments. get
defined identifier. The context value can be in any sessionDetail: Used to retrieve sessionEn-tity data
representation format such as binary, XML or structure corresponding to each of the session key
RDF. Each context has a lifetime. Thus, each values specified in the arguments. get
context entity contains the aforementioned lease contextDetail: Used to retrieve the context structure
structure describing the period of time dur-ing corresponding to the context key val-ues specified.
which it can be discoverable. get sessionServiceDetail: Used to retrieve
WS-Context Schema XML API: We sessionService entity data structure corresponding to
present an XML API for the WS-Context each of the sessionService key values specified in
Service. The XML API sets of the WS-Context the arguments. The Proprietary XML API is
XML Meta-data Service can be grouped as implemented to provide find/add/ modify/delete
Publish, Inquiry, Proprietary, and Security. operations on the publisher list, i.e., authorized users
The Publish XML API: The API is used to of the system. We adapt se-mantics for the
publish metadata instances belonging to different proprietary XML API from existing UDDI
entities of the WS-Context Schema. It extends the Specifications. This XML API is as in the
WS-Context Specification Publication XML API following: find publisher: Used to find publishers
set. It consists of the following functions: save registered with the system matching the conditions
session: Used to add/update one or more session specified in the arguments. get publisherDetail:
entities into the hybrid service. Each session may Used to retrieve detailed information regarding one
contain one-to-many context entity, have a lifetime or more publishers with given publisherID(s). save
(lease), and be associated with service entries. save publisher: Used to add or update informa-tion
context: Used to add/update one or more context about a publisher. delete_publisher: Used to delete
(dynamic metadata) entities into the service. save information about a publisher with a given
sessionService: Used to add/update one or more publisherID from the metadata service. The Security
session service entities into the hybrid service. Each XML API is used to enable authenticated access to
session service may contain one-to-many context the service. We adopt the semantics from existing
entity and have a lifetime (lease). delete session: UDDI Specifications. The Security API includes the
Used to delete one or more sessionEntity structures. following function calls. get_authToken: Used to
delete context: Used to delete one or more request an authentication token as an ‘authInfo’
contextEntity structures. delete sessionSer-vice: (authentication information) element from the
Used to delete one or more session service service. The authInfo element allows the system
structures. The Inquiry XML API is used to pose implement access control. To this end, both the
inquiries and to retrieve metadata from service. It publication and inquiry API set include au-
extends the existing WS-Context XML API. The thentication information in their input arguments.
extensions to the WS-Context Inquiry API set are discard_ authToken: Used to inform the hybrid
outlined as follows: find session: Used to find service that an authentication token is no longer
sessionEntity elements. The find session API required and should be considered invalid.

65
Principles and Experiences: Designing and Building Enterprise Information Systems

Using WS-Context Schema XMLAPI: Given data model and query/publish XML API and
the capabilities of the WS-Context Service, one can named it as the Unified Schema Specification.
simply populate metadata instances using the WS- We begin unification by finding the mappings
Context XML API as in the following scenario. Say, between the similar entities of the two schemas.
a user publishes a metadata under an already created First mapping is between ExtendedUDDI.busi-
session. In this case, the user first constructs a nessEntity and WS-Context.sessionEntity: The
context entity element. Here, a context entity is used businessEntity is used to aggregate one-to-many
to represent interaction-dependent, dynamic services and sites managed by the same people. The
metadata associated with a session or a service or sessionEntity is used to aggregate session services
both. Each context entity has both system-defined participating to a session. Therefore, businessEn-tity
and user-defined identifiers. The uniqueness of the (from ExtendedUDDI) can be considered as
system-defined identifier is ensured by the system matching concepts with the sessionEntity (from
itself, whereas, the user-defined identifier is sim-ply WS-Context schema) as their intentional domains
used to enable users to manage their memory space are similar. The cardinality between these entities
in the context service. As an example, we can differs, as the businessEntity may contain one to
illustrate a context as in ((system-defined-uuid, user- may sessionEntities. The second mapping is be-
defined-uuid, “Job completed”)). A context entity tween: ExtendedUDDI.service and WS-Context.
can be also associated with service entity and it has sessionService: These entities are equivalent as the
a lifetime. Contexts may be arranged in parent-child intentional domains that they represent are the same.
relationships. One can create a hierarchical session The cardinality between these entities is also the
tree where each branch can be used as an same. In the integrated schema, we unify these
information holder for contexts with similar entities as service entity. The third mapping is
characteristics. This enables the system to be between ExtendedUDDI.metadata and WS-
queried for contexts associated to a session under Context.context: These entities are equivalent as the
consideration. This enables the system to track the intentional domains that they represent are the same.
associations between sessions. As the context The cardinality between these entities is also the
elements are constructed, they can be published with same. We continue unification by merg-ing the two
save_context function of the WS-Context XML API. schemas based on the mappings that we identified
On receiving publishing metadata request, the and create a unified schema. The Unified Schema
system processes the request, extracts the context unifies matching and disjoint entities of the two
entity instance, assigns a unique identifier, stores in schemas.
the in-memory storage and returns a respond back to The Unified Schema is comprised of the fol-
the client. lowing entities: businessEntity, sessionEntity,
service, bindingTemplate, metadata, tModel,
The Unified Schema Specification publisherAssertions. A businessEntity describes a
party who publishes information about a ses-sion
This research investigates a system architecture that (in other words service activity), site or service.
would support information federation and The publisherAssertions entity defines the
unification at application-level. To facilitate test-ing relationship between the two businessEntities.
of such system architecture, a unified schema is The sessionEntity describes information about a
needed. We achieved semantic-level unification service activity that takes place. A sessionEntity
manually through a delicate analysis of the struc- may contain one-to-many service and metadata
ture and semantics of the two schemas: extended entities. The service entity provides descriptive
UDDI and WS-Context. We introduced an abstract information about a Web Service family. It may

66
Principles and Experiences: Designing and Building Enterprise Information Systems

contain one-to-many bindingTemplate entities that call returns a session list matching the conditions
define the technical information about a service end- specified in the arguments. find service: Used to
point. A bindingTemplate entity contains references locate specific services within the hybrid service.
to tModel that defines descriptions of specifications find metadata: Used to find service entity ele-
for service end-points. The service entity may also ments. The find service API call returns a service
have one-to-many metadata at-tached to it. A list matching the criteria specified in the arguments.
metadata contains information about both get businessDetail: Used to retrieve businessEntity
interaction-dependent, interaction-independent data structure of the Unified Schema correspond-ing
metadata and service data associated to Web to each of the business key values specified in the
Services. A metadata entity describes the arguments. get sessionDetail: Used to retrieve
information pieces associated to services or sites or sessionEntity data structure corresponding to each
sessions as (name, value) pairs. of the session key values specified in the argu-
The Unified Schema XML API: To facilitate ments. get serviceDetail: Used to retrieve service
testing of the federation capability, we introduce a entity data structure corresponding to each of the
limited Query/Publish XML API that can be car-ried service key values specified in the arguments. get
out on the instances of the parts of the Unified metadataDetail: Used to retrieve the metadata
Schema. We can group the Unified Schema XML structure corresponding to the metadata key values
API under two categories: Publish and Inquiry. specified.
The Publish XML API: This API is used to Using the Unified Schema XML API: Given
publish metadata instances belonging to different these capabilities, one can simply populate the
entities of the Unified Schema. It consists of the Hybrid Service with Unified Schema metadata
following functions: save business: Used to add/ instances using its XML API as in the following
update one or more business entities into the hybrid scenario. Say, a user wants to publish both session-
service. save session: Used to add/update one or related and interaction-independent metadata as-
more session entities into the hybrid service. Each sociated to an existing service. In this case, the user
session may contain one-to-many metadata, one-to- constructs metadata entity instance. Each metadata
many service entities and have a lifetime (lease). entity has both system-defined and user-defined
save service: Used to add/update one or more identifiers. The uniqueness of the system-defined
service entries into the hybrid service. Each service identifier is ensured by the system itself, whereas,
entity may contain one-to-many metadata element the user-defined identifier is simply used to enable
and may have a lifetime (lease). save metadata: users to manage their memory space in the context
Used to register or update one or more metadata service. As an example, we can illustrate a context
associated with a service. delete business: Used to as in the following examples: a) ((throughput, 0.9))
delete one or more business entity structures. delete and b) ((system-defined-uuid, user-defined-uuid,
session: Used to delete one or more sessionEntity “Job completed”)). A metadata entity can be also
structures. delete service: Used to delete one or associated with site, or sessionEntity of the Unified
more service entity structures. delete metadata: Schema and it has a lifetime. As the metadata entity
Used to delete existing metadata elements from the instances are constructed, they can be published
hybrid service. The Inquiry XML API is used to with “save_metadata” function of the Unified
pose inquiries and to retrieve metadata from service. Schema XML API. On receiving publishing
It consists of following functions: find business: metadata request, the system processes the request,
This API call locates specific businesses within the extracts the metadata entity instance, assigns a
hybrid services. find session: Used to find unique identifier, stores in the in-memory storage
sessionEntity elements. The find session API and returns a respond back to the client.

67
Principles and Experiences: Designing and Building Enterprise Information Systems

The Hybrid Service Semantics specification. The save_schemaEntity API call is


used to update/add one or more schema entity
The Hybrid Service introduces an abstraction layer elements into the Hybrid Information Service. On
for uniform access interface to be able to support receiving a save_schemaEntity publication request
one-to-many information service specification (such message, the system processes the incom-ing
as WS-Context, Extended UDDI, or Unified message based on information given in the mapping
Schema). To achieve the uniform access capability, file of the schema under consideration. Then, the
the system presents two XML Schemas: a) Hybrid system stores the newly-inserted schema entity
Schema and b) Specification Metadata (Spec- instances into the in-memory storage. de-
Metadata) Schema. The Hybrid Schema defines lete_schemaEntity: The delete_schemaEntity is
the generic access interface to the Hybrid Service. used to delete an instance of any schema entities of
The SpecMetadata Schema defines the necessary a given specification. The delete_schemaEntity API
information required by the Hybrid Service to be call deletes existing service entities associ-ated with
able to process instances of supported information the specified key(s) from the system. On receiving a
service schemas. We discuss the semantics of the schema entity deletion request message, the system
Hybrid Schema and the SpecMetadata Schema in processes the incoming mes-sage based on
the following sections. information given in the mapping file of the schema
under consideration. Then the system, deletes the
The Hybrid Schema correct entity associated with the key.
find_schemaEntity: This API call locates
The Hybrid Schema is designed to achieve a schemaEntities whose entity types are identified in
unifying access interface to the Hybrid Service. It the arguments. This function allows the user to
is independent from any of the local information locate a schema entity among the heterogeneous
service schemas supported by the Hybrid Service. metadata space. On receiving a find_schemaEn-tity
It defines a set of XML API to enable clients/pro- request message, the system processes the incoming
viders to send specification-based publish/query message based on information given in the schema
requests (such as WS-Context’s “save_context” mapping file of the schema under consideration.
request) in a generic way to the system. Then the system, locates the correct entities
The Hybrid Service XML API allows the system matching the query under consideration.
support one-to-many information service get_schemaEntity: The get_schemaEntityDetail is
communication protocols. It consists of the follow- used to retrieve an instance of any schema enti-ties
ing functions: hybrid_service: This XML API call of a given specification. It returns the entity
is used to pose inquiry/publish requests based on structure corresponding to key(s) specified in the
any specification. With this function, the user can query. On receiving a get_schemaEntityDetail
specify the type of the schema and the function. This retrieval request message, the system processes the
function allows users to access an information incoming message based on information given in
service back-end directly. The user also specifies the the mapping file of the schema under consider-
specification-based publish/query request in XML ation. Then the system retrieves the correct entity
format based on the specification under associated with the key. Finally, the system sends
consideration. On receiving the hybrid_function the result to the user.
request call, the system handles the request based on Given these capabilities, one can simply popu-
the schema and function specified in the query. late the Hybrid Service using the “save_schemaEn-
save_schemaEntity: This API call is used to save tity” element and publish metadata instances of the
an instance of any schema entities of a given customized implementations of information

68
Principles and Experiences: Designing and Building Enterprise Information Systems

service specifications. The “save_schemaEntity” mapping information element defines all necessary
element includes an “authInfo” element, which information to process an incoming request for in-
describes the authentication information; “lease” memory storage access. The memory-mapping
element, which is used to identify the lifetime of information element defines the name, user-defined
the metadata instance; “schemaName” element, identifier and system-defined identifier of an entity.
which is used to identify a specification schema The information-service-backend information is
(such as Extended UDDI Schema); “schemaFunc- needed to process the incoming request and execute
tionName”, which is used to identify the function the requested operation on the appropriate
of the schema (such as “save_ serviceAttribute”); information service backend. This information
“schema_SAVERequestXML”, which is an ab- defines the function name, its argu-ments, return
stract element used for passing the actual XML values and the class, which needs to be executed in
document of the specific publish function of a the information service back-end. The
given specification. The Hybrid Service requires a MappingRules XML element describes all
specification metadata document that describes all required information regarding the mapping rules
necessary information to be able to process XML that provide mapping between the Unified Schema
API of the schema under consideration. We and the local information service schemas such as
discuss the specification metadata semantics in extended UDDI and WS-Context. The
the following section. MappingRules element consists of one-to-many
MappingRule sub-elements. Each MappingRule
The SpecMetadata Schema describes information about how to map a unified
schema XML API to a local information service
The SpecMetadata XML Schema is used to de- schema XML API. The MappingRule element
fine all necessary information required for the contains the necessary information to identify
Hybrid Service to support an implementation of functions that will be mapped to each other.
information service specification. The Hybrid Given these capabilities, one can simply popu-
System requires an XML metadata document, late the Hybrid Service as in the following
which is generated based on the SpecMetadata scenario. Say, a user wants to publish a metadata
Schema, for each information service specifica- into the Hybrid Service using WS-Context’s
tion supported by the system. The SpecMetadata “save_con-text” operation through the generic
XML file helps the Hybrid System to know how access inter-face. In this case, firstly, the user
to process instances of a given specification XML constructs an instance of the “save_context”
API. The SpecMetadata includes Specname, XML document (based on the WS-Context
Description, and Version XML elements. These Specification) as if s/ he wants to publish a
elements define descriptive information to help metadata instance into the WS-Context Service.
the Hybrid Service to identify the local informa- Once the specification-based publish function is
tion service schema under consideration. The constructed, it can be published into the Hybrid
FunctionProperties XML element describes all Service by utilizing the “save_schemaEntity”
required information regarding the functions that operation of the Hybrid Service Access API.
will be supported by the Hybrid Service. The As for the arguments of the “save_sche-
FunctionProperties element consists of one-to- maEntity” function, the user needs to pass the
many FunctionProperty sub-elements. The following arguments: a) authentication informa-
FunctionProperty element consists of function tion, b) lifetime information, c) schemaName as
name, memory-mapping and information-service- “WS-Context”, d) schemaFunctionName as
backend mapping information. Here the memory- “save_context” and e) the actual save_context

69
Principles and Experiences: Designing and Building Enterprise Information Systems

document which was constructed based on the WS- on the Hybrid Service. It is designed to support
Context Specification. Recall that, for each two capabilities: notification and access control.
specification, the Hybrid Service requires a The notification capability enables the interested
SpecMetadata XML document (an instance of the clients to be notified of the state changes happen-
Specification Metadata Schema). On receipt of the ing in a metadata. It is implemented by utilizing
“save_schemaEntity” publish operation, the Hybrid publish-subscribe based paradigm. The access
Service obtains the name of the schema (such as control capability is responsible for enforcing
WS-Context) and the name of the publish operation controlled access to the Hybrid Information Ser-
(such as save_context) from the pass-ing arguments. vice. The investigation and implementation of
In this case, the Hybrid Service consults with the access control mechanism for the decentralized
WS-Context SpecMetadata document and obtains information service is left out for future study.
necessary information about how to process (3) TupleSpaces Access API allows access to in-
incoming “save_context” opera-tion. Based on the memory storage. This API supports all query/ publish
memory mapping information obtained from user- operations that can take place on the Tuple Pool. (4) The
provided SpecMetadata file, the system processes Tuple Pool implements a lightweight implementation of
the request, extracts the context metadata entity JavaSpaces Specification (Sun_Microsystems, 1999) and
instance, assigns a unique identifier, stores in the in- is a generalized in-memory storage mechanism. It
memory storage and returns a response back to the enables mutually exclusive access and associative
client. lookup to shared data. (5) The Tuple Processor layer is
designed to process metadata stored in the Tuple Pool.
Once the metadata instances are stored in the Tuple Pool
ARCHITECTURE as tuple objects, the system starts processing the tuples
and provides the following capabilities. The first
We designed and built a Hybrid Information capability is the LifeTime Management. Each metadata
Service (Hybrid Service) to support handling and instance may have a lifetime defined by the user. If the
discovery of metadata associated with Web metadata lifetime is exceeded, then it is evicted from the
Services. The Hybrid Service is an add-on archi- TupleSpace. The second capability is the Persistency
tecture that interacts with the local information Management. The system checks with the tuple space
systems and unifies them in a higher-level hybrid every so often for newly added /updated tuples and
system. It provides a unifying architecture where stores them into the database for persistency of
one can assemble metadata instances of different information. The third capability is the Fault Tolerance
information services. Man-agement. The system checks with the tuple space
every so often for newly-added/updated tuples and
Abstraction Layers replicates them in other Hybrid Service instances using
the publish-subscribe messaging system. This capability
Figure 1 illustrates the detailed architectural design also provides consistency among the replicated datasets.
and abstraction layers of the system. (1) The The fourth capability is the Dynamic Caching
Uniform Access layer imports the XML API of the Management. With this capability, the system keeps
supported Information Services. It is de-signed as track of the requests coming from the pub-sub system
generic as possible, so that it can support one-to- and replicates/ migrates tuples to other information
many XML API, as the new information services are services where the high demand is originated. (6) The
integrated with the system. (2) The Request- Filtering
processing layer is responsible for ex-tracting
incoming requests and process operations

70
Principles and Experiences: Designing and Building Enterprise Information Systems

Figure 1.

layer supports the federation capability. This layer provides message-based communication. In the
provides filtering between instances of the Unified prototype implementation, we use an open
Schema and local information service schemas such source implementation of publish-subscribe
as WS-Context Schema based on the user defined paradigm (NaradaBrokering (Pallickara & Fox,
mapping rules to provide transformations. 2003)) for message exchanges between peers.
(7) The Information Resource Manager layer is
responsible for managing low-level information service Execution Logic Flow
implementations. It provides decoupling between the
Hybrid Service and sub-systems. (8) The Pub-Sub The execution logic for the Hybrid Service hap-pens
Network layer is responsible for com-munication as follows. Firstly, on receiving the client request,
between Hybrid Service instances. the request processor extracts the in-coming request.
The request processor processes the incoming
Distribution request by checking it with the specification-
mapping metadata (SpecMetadata) files. For each
Figure 2 illustrates the distribution in Hybrid Service supported schema, there is a Spec-Metadata file,
and shows N-node decentralized services from the which defines all the functions that can be executed
perspective of a single service interact-ing with two on the instances of the schema under consideration.
clients. To achieve communication among the Each function defines the required information
network nodes, the Hybrid Service utilizes a topic- related with the schema entities to be represented in
based publish-subscribe software multicasting the Tuple Pool. (For example; entity name, entity
mechanism. This is a multi-publisher, multicast identifier key, etc…). Based on this information, the
communication mechanism, which request processor

71
Principles and Experiences: Designing and Building Enterprise Information Systems

Figure 2. Distributed hybrid services

extracts the inquiry/publish request from the in- Secondly, once the request is extracted and
coming message and executes these requests on processed, the system presents abstraction layers
the Tuple Pool. We apply the following strategy for some capabilities such as access control and
to process the incoming requests. First off all, the notification. First capability is the access control
system keeps all locally available metadata keys management. This capability layer is intended to
in a table in the memory. On receipt of a request, provide access controlling for metadata accesses.
the system first checks if the metadata is available As the focus of our investigation is distributed
in the memory by checking with the metadata-key metadata management aspects of information
table. If the requested metadata is not available in services, we leave out the research and imple-
the local system, the request is forwarded to the mentation of this capability as future study. The
Pub-Sub Manager layer to probe other Hybrid second capability is the notification management.
Services for the requested metadata. If the Here, the system informs the interested parties of
metadata is in the in-memory storage, then the the state changes happening in the metadata. This
request processor utilizes the Tuple Space Access way the requested entities can keep track of
API and executes the query in the Tuple Pool. In information regarding a particular metadata
some cases, requests may require to be executed instance.
in the local information service back-end. For an Thirdly, if the request is to be handled in the
example, if the client’s query requires SQL query memory, the Tuple Space Access API is used to
capabilities, it will be forwarded to the enable the access to the in-memory storage. This
Information Resource Manager, which is API allows us to perform operations on the Tuple
responsible of managing the local information Pool. The Tuple Pool is an in-memory storage. The
service implementations. Tuple Pool provides a storage capability where

72
Principles and Experiences: Designing and Building Enterprise Information Systems

the metadata instances of different information instances. If the metadata is an instance of a lo-
service schemas can be represented. cal schema, then the system does not apply any
Fourthly, once the metadata instances are filtering, and backs-up this metadata to the cor-
stored in the Tuple Pool as tuple objects, the tuple responding local information service back-end.
processor layer is being used to process tuples and Fifthly, if the metadata is to be stored to the
provide a variety of capabilities. The first information service backend (for persistency of
capability is the LifeTime Management. Each information), the Information Resource Manage-
metadata instance may have a lifetime defined by ment layer is used to provide connection with the
the user. If the metadata lifetime is exceeded, then back-end resource. The Information Resource
it is evicted from the Tuple Pool. The second Manager handles with the management of local
capability is the Persistency Management. The information service implementations. It provides
system checks with the tuple space every so often decoupling between the Hybrid Service and sub-
for newly-added / updated tuples and stores them systems. With the implementation of Information
into the local information service back-end. The Resource Manager, we have provided a uniform,
third capability is the Dynamic Caching Man- single interface to sub-information systems. The
agement. The system keeps track of the requests Resource Handler implements the sub-information
coming from the other Hybrid Service instances system functionalities. Each information service
and replicates/migrates metadata to where the implementation has a Resource Handler that en-
high demand is originated. The fourth capability ables interaction with the Hybrid Service.
is the Fault Tolerance Management. The system Sixthly, if the metadata is to be replicated/
again checks with the tuple space every so often stored into other Hybrid Service instances, the
for newly-added / updated tuples and replicates Pub-Sub Management Layer is used for manag-
them in other information services using the pub- ing interactions with the Pub-Sub network. On
sub system. This service is also responsible for receiving the requests from the Tuple Processor,
providing consistency among the replicated the Pub-Sub Manager publishes the request to the
datasets. As the main focus of this paper is to corresponding topics. The Pub-Sub Manager may
discuss information federation in Information also receive key-based access/storage requests
Services, the detailed discussion on replication, from the pub-sub network. In this case, these
distribution, consistency enforcement aspects of requests will be carried out on the Tuple Pool by
the system is left out as the focus of another paper utilizing TupleSpace Access API. The Pub-Sub
(Aktas, Fox, & Pierce, 2008). Manager utilizes publisher and subscriber sub-
The Hybrid Service supports a federation components in order to provide communication
capability to address the problem of providing among the instances of the Hybrid Services.
integrated access to heterogeneous metadata. To
facilitate the testing of this capability, a Unified
Schema is introduced by integrating different PROTOTYPE IMPLEMENTATION
information service schemas. If the metadata is an
instance of the Unified Schema, such metadata The Hybrid Information Service prototype
needs to be mapped into the appropriate local implementation consists of various modules such
information service back-end. To achieve this, the as Query and Publishing, Expeditor, Filter and
Hybrid Service utilizes the filtering layer. This Resource Manager, Sequencer, Access and
layer does filtering based on the user-defined Storage. This software is open source project and
mapping rules to provide transformations between available at (Aktas). The Query and Publishing
the Unified Schema instances and local schema module is responsible for processing the incom-

73
Principles and Experiences: Designing and Building Enterprise Information Systems

ing requests issued by end-users. The Expeditor a publish-subscribe based messaging scheme.
module forms a generalized in-memory storage This enables users of Hybrid Service to utilize a
mechanism and provides a number of capabilities push-based information retrieval capability where
such as persistency of information. The Filter and the interested parties are notified of the state
Resource Manager modules provide decoupling changes. This push-based approach reduces the
between the Hybrid Information Service and the server load caused by continuous information
sub-systems. The Sequencer module is respon- polling. We use the NaradaBrokering software
sible for labeling each incoming context with a (Pallickara & Fox, 2003) as the messaging
synchronized timestamp. Finally, the Access and infrastructure and its libraries to implement
Storage modules are responsible for actual subscriber and publisher components.
communication between the distributed Hybrid The Expeditor module implements the Tuple
Service nodes to support the functionalities of a Spaces Access API, Tuple Pool and Tuple-
replica hosting system. processing layer. The Tuple Spaces Access API
The Query and Publishing module is respon- provides an access interface on the Tuple Pool.
sible for implementing a uniform access interface The Tuple Pool is a generalized in-memory stor-
for the Hybrid Information Service. This module age mechanism. Here, to meet the performance
implements the Request Processing abstraction layer requirement of the proposed architecture, we built
with access control and notification capa-bilities. On an in-memory storage based on the TupleSpaces
completing the request processing task, the Query paradigm (Carriero & Gelernter, 1989). The
and Publishing module utilizes the Tuple Space API Tuple-processing layer introduces a number of
to execute the request on the Tuple Pool. On capabilities: LifeTime Management, Persistency
completion of operation, the Query and Publication Management, Dynamic Caching Management and
module sends the result to the client. As discussed Fault Tolerance Management. Here, the LifeTime
earlier, context informa-tion may not be open to Manager is responsible for evicting those tuples
anyone, so there is a need for an information with expired leases. The Persistency Manager is
security mechanism. We leave out the investigation responsible for backing-up newly-stored / updated
and implementation of this mechanism as a future metadata into the information service back-ends.
study. We must note that to facilitate testing of the The Fault Tolerance Manager is responsible for
centralized Hybrid Service in various application creating replicas of the newly added metadata.
use domains, we imple-mented a simple information The Dynamic Caching Manager is responsible for
security mechanism. Based on this implementation, replicating/migrating metadata under high
the centralized Hybrid Service requires an demand onto replica servers where the demand
authentication token to restrict who can perform originated.
inquiry/publish opera-tion. The authorization token The Filtering module implements the filtering
is obtained from the Hybrid Service at the beginning layer, which provides a mapping capability based on
of client-server interaction. In this scenario, a client the user defined mapping rules. The Filtering
can only ac-cess the system if he/she is an module obtains the mapping rule information from
authorized user by the system and his/her credentials the user-provided mapping rule files. As the map-
match. If the client is authorized, he/she is granted ping rule file, we use the XSL (stylesheet language
with an au-thentication token which needs to be for XML) Transformation (XSLT) file. The XSLT
passed in the argument lists of publish/inquiry provides a general purpose XML transformation
operations. The Query and Publishing module also based on pre-defined mapping rules. Here, the
implements a notification scheme. This is achieved mapping happens between the XML APIs of the
by utilizing Unified Schema and the local information service

74
Principles and Experiences: Designing and Building Enterprise Information Systems

schemas (such as WS-Context or extended age capability. This type of failure may occur if the
UDDI schemas). physical memory is wiped out when power fails or
The Information Resource Manager module machine crashes. This recovery process converts the
handles with management of local information database data to in-memory storage data (from the
service implementations such as the extended last backup). It runs at the bootstrap of the Hy-brid
UDDI. The Resource Manager module separates the Service. This process utilizes user-provided
Hybrid System from the sub-system classes. It “find_schemaEntity” XML documents to retrieve
knows which sub-system classes are responsible for instances of schema entities from the information
a request and what method needs to be executed by service backend. Each “find_schemaEntity” XML
processing the specification-mapping metadata file document is a wrapper for schema specific “find”
that belongs the local information service under operations. At the bootstrap of the system, firstly,
consideration. On receipt of a request, the the recovery process applies the schema-specific
Information Resource Manager checks with the find functions on the information service backend
corresponding mapping file and obtain informa-tion and retrieves metadata instances of schema enti-ties.
about the specification-implementation. Such Secondly, the recovery process stores these metadata
information could be about a class (which needs to instances into the in-memory storage to achive
be executed), it’s function (which needs to be persistent in-memory storage.
invoked), and function’s input and output types, so In order to impose an order on updates, each
that the Information Resource Manager can delegate context has to be time-stamped before it is stored or
the handling of incoming request to ap-propriate updated in the system. The responsibility of the
sub-system. By using this approach, the Hybrid Sequencer module is to assign a timestamp to each
Service can support one-to-many infor-mation metadata, which will be stored into the Hybrid
services as long as the sub-system imple-mentation Service. To do this, the Sequencer module inter-acts
classes and the specification-mapping metadata with Network Time Protocol (NTP)-based time
(SpecMetadata) files are provided. The Resource service (Bulut, Pallickara, & Fox, 2004)
Handler is an external component to the Hybrid implemented by NaradaBrokering (Pallickara
Service. It is used to interact with sub-information & Fox, 2003) software. This service achieves
systems. Each specification has a Resource Handler, synchronized timestamps by synchronizing the
which allows interaction with the database. The machine clocks with atomic timeservers
Hybrid System classes communicate with the sub- available across the globe.
information systems by sending requests to the
Information Resource Manager, which forwards the
requests to the ap-propriate sub-system CONCLUSION
implementation. Although the sub-system object
(from the corresponding Resource Handler) This chapter introduced the principles and expe-
performs the actual work, the Information Resource riences of designing and building a web-based
Manager seems as if it is doing the work from the Enterprise Information Service. Within this em-
perspective of the Hybrid Service inner-classes. This phasis, it also introduced a novel architecture for
approach separates the Hybrid Service an Enterprise Information Service, called Hybrid
implementation from the local schema-specific Service, supporting handling and discovery of not
implementations. only quasi-static, stateless metadata, but also
The Resource Manager module is also used session related metadata.
for recovery purposes. We have provided a recov- The Hybrid Service is an add-on architecture
ery process to support persistent in-memory stor- that runs one layer above existing information

75
Principles and Experiences: Designing and Building Enterprise Information Systems

service implementations. Although, it mainly man- Bulut, H., Pallickara, S., & Fox, G. (2004, June
ages metadata that maybe associated to Web Ser- 16-18). Implementing a NTP-based time
vices, it can also be used to manage any metadata service within a distributed brokering system.
about Web resources on the Internet. It provides In ACM International Conference on the
unification, federation and interoperability of En- Principles and Practice of Programming in
terprise Information Services. To achieve unifica- Java, Las Vegas, NV.
tion, the Hybrid Service is designed as a generic
Bunting, B., Chapman, M., Hurley, O., Little, M.,
system with front and back-end abstraction layers
Mischinkinky, J., Newcomer, E., et al. (2003).
supporting one-to-many local information systems
Web services context (WS-context) version 1.0.
and their communication protocols. To achieve
Retrieved from http://www.arjuna.com/library/
federation, the Hybrid Service is designed to sup-
specs/ws_caf_1-0/WS-CTX.pdf
port information integration technique in which
metadata from several heterogeneous sources are Carriero, N., & Gelernter, D. (1989). Linda in
transferred into a global schema and queried with a context. Communications of the ACM, 32(4),
uniform query interface. To manage both quasi- 444–458. doi:10.1145/63334.63337
static and dynamic metadata and provide
Dialani, V. (2002). UDDI-M version 1.0 API
interoperability with wide-range of Web Service
specification. Southampton, UK: University of
applications, the Hybrid Service is integrated with
Southampton.
two local information services: WS-Context XML
Metadata Service and Extended UDDI XML Florescu, D., Levy, A., & Mendelzon, A. (1998).
Metadata Service. The WS-Context Service is Database techniques for the World Wide Web:
implemented based on WS-Context Specification to A survey. SIGMOD Record, 27(3), 59–74.
manage dynamic, session related metadata. The doi:10.1145/290593.290605
Extended UDDI Service is implemented based on an
Galdos. Galdos Inc. Retrieved from
extended version of the UDDI Specification to
http://www. galdosinc.com
manage semi-static, stateless metadata.
GRIMOIRES. (n.d.).UDDI compliant Web ser-
vice registry with metadata annotation
REFERENCES extension. Retrieved from
http://sourceforge.net/projects/ grimoires
Aktas, M. S. (n.d.). Fault tolerant high
MyGrid. (n.d.). UK e-science project.
performance information service-FTHPIS- Retrieved from http://www.mygrid.org.uk
hybrid WS-context service Web site. Retrieved
from http://www. opengrids.org/wscontext OGF Grid Interoperation Now Community
Group (GIN-CG). (n.d.). Retrieved from
Aktas, M. S., Fox, G. C., Pierce, M. E. (2008). https://forge. gridforum.org/projects/gin
Distributed high performance grid information
service. Submitted to Journal of Systems and Open_GIS_Consortium_Inc. (2003). OWS1.2
Software. UDDI experiment. OpenGIS interoperability pro-
gram report OGC 03-028. Retrieved from http://
Bellwood, T., Clement, L., & von Riegen, C. www.opengeospatial.org/docs/03-028.pdf
(2003). UDDI version 3.0.1: UDDI spec
technical committee specification. Retrieved from Ozsu, T. P. V. (1999). Principles of distributed
http:// uddi.org/pubs/uddi-v3.0.1-20031014.htm database systems, 2nd edition. Prentice Hall.

76
Principles and Experiences: Designing and Building Enterprise Information Systems

Pallickara, S., & Fox, G. (2003). NaradaBrokering: Valduriez, P., & Pacitti, E. (2004). Data
A distributed middleware framework and archi- manage-ment in large-scale P2P systems. Int.
tecture for enabling durable peer-to-peer grids. In Conf. on High Performance Computing for
Proceedings of ACM/IFIP/USENIX International Computational Science (VecPar2004). ( [).
Middleware Conference Middleware-2003, Rio Springer.]. LNCS, 3402, 109–122.
Janeiro, Brazil.
Verma, K., Sivashanmugam, K., Sheth, A., Patil,
Pallickara, S., & Fox, G. (2003). A., Oundhakar, S., & Miller, J. (n.d.). METEOR–
NaradaBroker-ing: A middleware framework S WSDI: A scalable P2P infrastructure of
and architecture for enabling durable peer-to- registries for semantic publication and discovery
peer grids. (LNCS). Springer-Verlag. of Web services. Journal of Information
Technology and Management.
ShaikhAli. A., Rana, O., Al-Ali, R., & Walker,
D. (2003). UDDIe: An extended registry for Zanikolas, S., & Sakellariou, R. (2005). A
Web services. In Proceedings of the Service taxonomy of grid monitoring systems. Future
Oriented Computing: Models, Architectures, Generation Computer Systems, 21(1), 163–188.
and Applica-tions, Orlando, FL. SAINT-2003 doi:10.1016/j.future.2004.07.002
IEEE Computer Society Press.
Ziegler, P., & Dittrich, K. (2004). Three
Sun_Microsystems. (1999). JavaSpaces decades of data integration-all problems
specifica-tion revision 1.0. Retrieved from solved? In WCC, 3-12.
http://www.sun. com/jini/specs/js.ps

Sycline. Sycline Inc. Retrieved from


http://www. synclineinc.com

77

View publication stats

You might also like