EQUIP2 Integration Options
Chris Greenhalgh 2006-03-07
Introduction
"the key essence of
EQUIP: providing an integrated
state/event model for developing loosely coupled (usually distributed)
applications"
We would like to be make use of EQUIP2 as a common "platform", to
support a range of projects and activities. What does mean and imply?
What are the technical issues and options?
What is a platform?
In the sense of model-driven architecture, it is that on which the
rest is built, that which can be taken for granted. The platform may
include: concepts and guidelines, interfaces (i.e. data types and APIs,
protocols, file-formats), libraries of code, applications (e.g.
supporting services, tools), data resources (e.g. media assets). There
is a presumption of coherence and interoperability within the scope of
the platform.
What is the EQUIP2 platform?
Potentially...
- A focus on per-device local data management as a unifying concept.
- A common abstract data model, effectively that of Hessian, i.e.
primitives, strings, arrays and maps keyed by strings. But potentially
complicated with some consideration of subclassing??
- A standard data externalisation format, i.e. Hessian, perhaps
with extra heuristics.
- A synchronous data management API, including retrieval by
template matching (embodied in/mapped to the abstract data model, at
least at present).
- An asynchronous data change notification API/facility.
- A Java J2ME/J2SE library implementing the above.
- Various J2ME and J2SE libraries implementing particular data
persistence facilities under the above APIs (i.e. effectively
implementing the internal SPI).
- A remote dataspace access API.
- A remote dataspace access protocol, not separely documented,
based currently on a combination of Hessian marshalling and PART
network event/game object facilities.
- Potentially multiple file formats, e.g. the externalisation of
the file-backed persistent dataspace implementation, a future dataspace
activity log file format (with timestamps, header, etc.).
- Other things built on top of this...?!
- other communication or replication options
- generic and specific tools, e.g. dataspace browser
- generic and specific applications, e.g. dataspace server,
dataspace rendezvous
- UI facilities
- information capture facilities (software sensors?!)
- links to other tools/formats, e.g. e-social science replaytool2.