Atomico
Implementation of a TMShare
              Server / Client



  Lars Heuer <heuer@semagia.com>

    TMRA 2008, Leip...
Design Objectives
     Topic Maps engine independent
     TMAPI independent
     Atom independent
     Topic Maps syntax i...
Server
     Frontend which handles GET / POST
     requests
     URIs are currently hard-coded, but they will
     be conf...
Storage
     Can be queried from the frontend for entities
     (ITopicMapInfo, IFragmentInfo, ISnapshotInfo)
     An enti...
Server / Storage Interaction
     The server asks the storage about TopicMapInfos
     and creates a representation of the...
Client Implementation
     Has not been implemented yet (only partially: the
     update algorithm and the fragment extrac...
Client Implementation
     General implementation will be Topic Maps
     engine independent and TMAPI independent
     Im...
Outlook
     Server may accept POST requests to create
     new fragments, snapshots and topic maps
     User manager to d...
Discussion

                                             Questions?

                                             Answers!...
Upcoming SlideShare
Loading in …5
×

Atomico Implementation of a TMShare Server / Client

860 views

Published on

Atomico describes a protocol to be used for the exchange of semantic descriptions. The protocol defines how a web service can publish a series of web accessible feeds that describe snapshots and changes to a collection of semantic descriptions. This protocol also defines how a client should process the feeds provided by the service such that a local store is in sync. A client can synchronize with more than one server to act as an aggregator for semantic descriptions.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
860
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Atomico Implementation of a TMShare Server / Client

  1. 1. Atomico Implementation of a TMShare Server / Client Lars Heuer <heuer@semagia.com> TMRA 2008, Leipzig · 16.10.2008
  2. 2. Design Objectives Topic Maps engine independent TMAPI independent Atom independent Topic Maps syntax independent (i.e. XTM 1.0 is just one representation of a topic map) ReST based © 2008 Lars Heuer · http://www.semagia.com TMRA 2008, Leipzig · 16.10.2008 2
  3. 3. Server Frontend which handles GET / POST requests URIs are currently hard-coded, but they will be configurable in the future (i.e. using other names than quot;fragmentsquot; / quot;snapshotsquot; etc.) Plugable storage (backend) which provides the information about available topic maps, fragments and snapshots and their media types © 2008 Lars Heuer · http://www.semagia.com TMRA 2008, Leipzig · 16.10.2008 3
  4. 4. Storage Can be queried from the frontend for entities (ITopicMapInfo, IFragmentInfo, ISnapshotInfo) An entity has an identifier (IRI), a title, and provides the time when it was updated ITopicMapInfo etc. extend the IEntity interface with some methods (i.e. returning the subject identifier of the fragment) Entities are immutable, the storage creates them The storage may be a topic map, a file system, a database, anything which implements the IStorage interface The server reads the entities and queries for entities © 2008 Lars Heuer · http://www.semagia.com TMRA 2008, Leipzig · 16.10.2008 4
  5. 5. Server / Storage Interaction The server asks the storage about TopicMapInfos and creates a representation of them (Atom is just one representation for a list of topic maps, depends on the media type the client prefers) The client navigates to the quot;snapshotquot; IRI and the server asks the storage for a list of available snapshots and the provided media types, the server encodes that list into a representation (i.e. Atom) Available media types are storage dependent, a storage may support i.e. LTM, CTM, XTM… or just one of them © 2008 Lars Heuer · http://www.semagia.com TMRA 2008, Leipzig · 16.10.2008 5
  6. 6. Client Implementation Has not been implemented yet (only partially: the update algorithm and the fragment extraction algorithm) The user does not interact with Atom feeds, but can ask for i.e. snapshots updated later than time X or for a list of topic maps or for fragments in topic map A which have the subject identifier B and are updated later than Y The client may provide the preferred media type to receive fragments, snapshots etc. © 2008 Lars Heuer · http://www.semagia.com TMRA 2008, Leipzig · 16.10.2008 6
  7. 7. Client Implementation General implementation will be Topic Maps engine independent and TMAPI independent Implementations have to provide a mediator between the generic client and a specific API (i.e. TMAPI) tinyTiM/TMAPI implementation partially done (update algorithm) © 2008 Lars Heuer · http://www.semagia.com TMRA 2008, Leipzig · 16.10.2008 7
  8. 8. Outlook Server may accept POST requests to create new fragments, snapshots and topic maps User manager to decide if a POST/GET request is acceptable More representations != Atom, XTM 1.0 Remove hard-coded values (like limitation to XTM 1.0, Atom) © 2008 Lars Heuer · http://www.semagia.com TMRA 2008, Leipzig · 16.10.2008 8
  9. 9. Discussion Questions? Answers! ☺ © 2008 Lars Heuer · http://www.semagia.com TMRA 2008, Leipzig · 16.10.2008 9

×