 |
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 3
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
|
Notice: Undefined variable: title in /home/www/html/archiv/tripcom_sti2_at/public/menu/linkSetter1.php on line 6
|
 |
 |

 

|
|
|
We received many questions of what the Tripcom project really is, and what it distinguishes from other
technologies. In the following, we try to answer the most common questions as clear as possible. If there
are however some questions left unanswered, please feel free to [contact] us.
TripCom and related technologies
Tuple Spaces
(Semantic) Web Services
Semantic Web
TripCom and related technologies
What does TripCom stand for and what are the main technologies involved in the project?
TripCom refers to Triple Space Communication, a new form of network-based communication
which replaces message-based point-to-point communication methods typical of Web services with
communication via publication in a shared space known as tuplespace.
The main technologies involved are tuplespace computing, Web services, and the Semantic Web.
Triple Space is the name we give to a type of tuplespace extended to support the publication
and exchange of semantic data which is based on the RDF data model, consisting of
triples of the form subject-property-object which build statements of knowledge.
What are the advantages of triplespace computing against related approaches?
The closest similar technology is enterprise
service buses (ESBs [5]), which are based on a set of publicly accepted
definitions, providing comfortable integration environments that allow
"integration eco-systems" of interacting applications and services to
be established on top of them.
The
TripCom core mechanism is embodied by the Triple Space API (TS-API). A
data space ontology built on this API would allow for the establishment
of similar integration eco-systems. With such an ontology, the
differences in the approach between Triple Spaces and ESB would be:
(a) All interacting Triple Space partners
are autonomous and the space is always passive. This should result in
better resiliency against failures, simpler work load management, and a
more robust deployment model.
(b) A data space paradigm provides a more intuitive approach to
security: the boundary of the space is the security boundary. ESB's -
like all
infrastructures that expose a communication paradigm - rely on the
management of each communication path: a very tedious and complex task
in large integration projects. As a paradigm, the data space is simpler
to manage. One could compare it to a file system - which is
something like a primitve space: Securing each communication path requires that each
access to the files be reviewed and managed individually.
The data space (or file system) can define access rules (policies) on
its top nodes, securing the boudaries of the space. Modifications
to these access rules can be stated for subsets of the space (file
system). The OS translates these definitions into access checks at
runtime. This simple example shows that a security definition on
the space level is more expressive than a security definition on the
communication level.
(c) And finally, TripCom has the benefits of semantics. Semantic
data can be easily merged in a triple space and it is no longer
necessary to manage separate documents, messages or data
sources, on top of managing the data structures. Semantic data
allows inference, therefore the processing code and queries need
not implement the parts that can be expressed in the ontology;
for instance, the transitivity of some data relationships. This
reduces redundancy in the various components and simplifies
access to data. And while querying data is simpler than
programming, semantic queries can be quite powerful and make use
of data relations that were not anticipated by the designers of
the system. This increases the flexibility and agility of the
system.
How do tuplespaces differ from messaging systems?
At first sight, both technologies may indeed look very similar. They expose similar
interfaces - two operations in the case of messaging (GET, PUT) and three in the case of
tuplespaces (IN, OUT, READ). Both contain the concept of a container called a "space" in one
case and "queue" in the other, to refer to a set of message (or tuples). These findings have
been extensively discussed in [1]. A closer look at both however reveals the following fundamental
differences:
- Messages in a Queue have a defined ordering and can only be retrieved in that order (e.g. FIFO or priority
ordering). In contrast, clients have random access to all the tuples stored in a tuplespace.
- Tuples in a tuplespace are accessed by content using a template-based mechanism that is somewhat similar to
"query by example" known from database technology. Messages however are consumed exactly in the order the messaging
system stores them in the queue. It is not possible to randomly access messages.
- Tuplespaces are a means to separate the "coordination" (communication and
cooperation between processes) aspect of an application from "computation" (the act of manipulating data),
thus leading to a much clearer application design. This separation is not facilitated by
messaging systems since - as their name suggests - their sole means is to allow message-based communication between applications.
A comparison of two implementations standing for each of the technologies discussed above can be
found here: http://today.java.net/pub/a/today/2005/06/03/loose.html
Is TripCom a database?
Although Triple Space provides many features found in (semantic) databases,
it should not be considered as a replacement for a traditional database.
The Triple Space provides a platform allowing for coordinated access to distributed
semantic data. The design goals of Triple Space differ from the design goals
of a traditional database:
- A Triple Space allows many different clients to interact, each client publishing data with different semantics into the space.
- Triple Space is designed for use with semantic data formats (such as the Resource Description Framework (RDF)).
- Triple Space allows for coordinated access to data through an extended Linda coordination model
- Triple Space is intended as a scalable communication infrastructure for (Semantic) Web services
Besides the differences, Triple Space has a number of features in common with databases:
- Data retrieval based on query languages
- Concurrency
- Data distribution
- Fault tolerance
- Access control
What does TripCom contribute over existing standards?
TripCom aims at exploiting the synergies which arise from a novel combination of
the Tuple Space, Semantic Web and Web service technology. We expect, that
existing standards in these fields can benefit from the mutual influences
between the aforementioned technologies. A number of potential areas for both
contributing to the extension of existing standards and the definition of new
standards have been identified.
- Since one of the major objectives of TripCom is to provide a web-scalable
implemenation of a space-based middleware, TripCom's architecture can serve
as a reference architecture for scalable space-based middleware systems.
- TripCom can serve as a transport for Web service communication. A TripCom
binding for Web services will be specified, bringing the reliable and
asynchronous communication platform based on the paradigm of "persistently
publish and read" to the Web service world to complement existing Web
service transports such as HTTP.
- TripCom combines existing template-based approaches to
content-based access in Space-based computing with the power of an RDF query
language to enable sophisticated querying. Based on the experiences we gain in this field, Tripcom
aims at influencing RDF query languages like e.g. SPARQL.
What is the difference between TripCom and the WWW?
As TripCom's vision - "Triplespace may become the web for
machines as the web based on HTML became the Web for humans"
- states, the goal of the project is to provide an
infrastructure for the "web of machines" based on the
principles of the web for humans. Obviously, the web of
machines requires a different set of technologies as the web
for humans does:
- Rather than using a browser as the interface between
humans, machines need an API that is specified in a machine processable format.
We fulfill this requirement by leveraging Web service and
Semantic Web technologies in order to describe the operations
and semantics of interfaces.
- Rather than using markup language (HTML) to describe data
to make it human readable and understandable, we use Semantic
Web technologies to be able to communicate machine
understandable knowledge rather than pure data.
- TripCom uses a very basic approach to coordination
amongst partners in a semantic interaction. As the HTML-Web is a place for persitent
publication of textual information, Triplespace provides a place for persistent publication
of information. This intelligent medium decouples the provider and user of an information
both in space, time and reference. It is therefore more powerful than traditional RPC-based interaction
styles with fixed roles and tight coupling.
How does TripCom relate to Cloud computing?
TripCom provides a Web scale infrastructure for managing distributed semantic
data. The spaces concept of TripCom provides an abstraction medium that
virtualizes the distributed semantic repositories and decouples its clients from
the storage facilities and protocols of the data providers. In that sense,
TripCom delivers a first version of a semantic data cloud, also termed the
knowledge cloud [7].
With its support for coordination of distributed
applications and services, and through the integration of Web service
technologies, TripCom provides even more than a cloud for semantic artifacts.
TripCom exploits the fundamental building blocks of a (semantic) service cloud.
Tuple Spaces
What are tuplespaces about?
Tuplespaces are shared virtual dataspaces which are designed for concurrent access
by multiple processes.
The data published and exchanged in the space is generally expressed as an atomic
unit, which is called a tuple. Processes interact with tuplespaces through a minimal
language or an interface which expresses a coordination model with concurrency.
A tuplespace provides data to an accessing process which need not be aware of the data's
physical location and the coordination model allows access to messages with an arbitrary delay after time of
publication. This decoupling of data in time and space is seen as a key advantage of
tuplespaces, and supports the building of loosely coupled systems.
How is data published and retrieved?
Interaction with tuplespaces is based on the ideas from a simple coordination language known as
Linda [6].
This language has three core primitives: out - for the adding of a
tuple to the space; rd - for the reading a copy of a tuple from the
space; in - for the reading and removing of a tuple. Retrieval in a
Linda-based coordination model is based on associative addressing, as
opposed to data addressing. A template is used to construct a request
for a type of data (generally following the structure of the tuple in
the space with some values replaced by variables which need to be
matched to concrete values). A tuple is returned which "matches" the
template, where the matching rules can be defined in the tuplespace
system, e.g. based on data typing.
In Linda, retrieval operations block until a match is found, hence supporting a simple yet powerful form
of coordination (the retrieval request can take place before the publication of the requested data, and
rather than simply receiving a 'match not found' response, the request blocks and returns once the matching
data is published). As Linda-based systems have been applied to various uses, many extensions have been
defined to expand the coordination model, e.g. publish-subscribe interaction allows for clients to request
notification when a matching tuple is published.
(Semantic) Web Services
What are Web services / Semantic Web services?
According to the definition of the W3C, "a Web service is a
software system identified by a URI, whose public interfaces and
bindings are defined and described using XML. Its definition can be
discovered by other software systems. These systems may then interact
with the Web service in a manner prescribed by its definition, using
XML based messages conveyed by internet protocols."
While in "traditional", non-semantic, Web services, service interfaces
are only described on a syntactic level, Semantic Web services provide
and extend formal description of their interfaces through
annotation of Web service interfaces with concepts from application
domains [2], enabling, e.g., automated service discovery based on
interface semantics rather than a syntactic representation.
How does TripCom integrate with existing Web Service technologies?
TripCom integrates with Semantic Web services with regard to storage
and communication. The integration of the Web Service Execution Environment -
WSMX (which is our reference implementation of a Semantic Web services conceptual model)
and Triple Space Computing has been proposed in the following four aspects [2]:
- Enabling component management in WSMX using Triple Space Computing,
- Allowing external communication grounding in WSMX,
- Providing resource management, and
- Enabling communication and coordination between different interconnected WSMX systems.
Triple Space Computing acts as a middleware for WSMX, Web Services, other
Semantic Web applications, and users to communicate with each other
based on the principle of publication and reading of semantic data.Semantic Web
What is the Semantic Web?
"The Semantic Web is about two things. It is about common formats for
integration and combination of data drawn from diverse sources, where
[as] the original Web mainly concentrated on the interchange of
documents. It is also about language for recording how the data relates
to real world objects. That allows a person, or a machine, to start off
in one database, and then move through an unending set of databases
which are connected not by wires but by being about the same thing." -
see http://www.w3.org/2001/sw/.
Also see the Semantic Web FAQ
What is the benefit of using RDF as data format?
RDF is designed to represent knowledge in a distributed world. It was originally designed to
support the exchange of knowledge on the Web. RDF represents data and the semantics of these
data in a single unit. Systems that adhere to the RDF Standards allow logical inferences
between facts and allow querying for facts in a large datasets of RDF knowledge.
The very generic data model - as compared to, e.g., various data base dialects - makes
RDF the ideal data format for integrating data from different sources without custom
programming, for offering data to other parties, and for decentralizing data in a way
where no single party "owns" all the data.
In TripCom the use of RDF is essential since TripCom is meant to be an information
sharing platform on a Web scale without any prior agreement between information
publishers and information consumers.
[1] Frank Leymann, Space-based Computing and Semantics: A Web Service Purist's Point-Of-View,
Universitat Stuttgart, Fakultat Informatik, Elektrotechnik und Informationstechnik,
Fakultatsbericht Nr. 2006/05,
TR-2006-05
[2] Omair Shafiq, Reto Krummenacher, Francisco Martin-Recuerda, Ying Ding, Dieter Fensel,
Triple Space Computing middleware for Semantic Web Services,
The 2006 Middleware for Web Services (MWS 2006) Workshop at 10th IEEE International
Enterprise Computing Conference (EDOC 2006), 16-20 October 2006, Hong Kong.
[3] http://www.w3.org/TR/2002/WD-ws-arch-20021114/
[4] S. Weerawarana, F. Curbera, F. Leymann, T. Storey, and
D. F. Ferguson. Web Services Platform Architecture. Prentice Hall PTR, 2005.
[5] Chappell, D.A., Enterprise Service Bus, O'Reilly, 2004
[6] Gelernter, D., Generative communication in Linda,
ACM Transactions on Programming Languages and Systems, p80-112, 1985
[7] Davide Cerri, Emanuele Della Valle, David De Francisco Marcos, Fausto
Giunchiglia, Dalit Naor, Lyndon Nixon, Dietrich Rebholz-Schuhmann, Reto
Krummenacher, and Elena Simperl: Towards Knowledge in the Cloud. International
Workshop On Semantic Extensions to Middleware: Enabling Large Scale Knowledge
Applications (OTM), Monterrey, Mexico, Nov 2008.
|
|