DeepaMehta

Glossary



User term
Technical term


Administrator
Application Developer
Application Service
Association
Build-Mode
Client Directives
Corporate Datasources
Corporate Memory
Corporate Space
Custom Topic Behavoir
DeepaMehta Application
DeepaMehta-Application-Framework
DeepaMehta Client
DeepaMehta Client
DeepaMehta Server
DeepaMehta Sourcecode
Demo Mode
Document Management
Group Workspace
Groupware
Hooks
Live Association
Live Topic
Personal Workspace
Portal
Presentation Service
Publishing
Requests
Standard Topic Behavoir
Topic
Topicmap
Use-Mode
User
View
Viewmodes
Workflow
Workgroup: Synonym: Group
Workspace




Administrator

Administrators are responsible for creating Users and Workgroups

Application Developer

The Application Developer implements application specific functionality in form of active topics. Active Topics are deployed at server-side by the Administrator.

Application Service

The application service runs DeepaMehta Applications by loading topic/associations into memory and triggering their hooks. Topics/Associations which are loaded into memory are called Live Topics and Live Associations.

When the user at client side interacts with a topic resp. association the actually the corresponding server side proxy topic resp. association is accessed.

Implementation notes

The application service is realized by the class ApplicationService.

Association

An association represents a relationship between Topics. Associations along with topics represents the "knowledge" that is stored in the Corporate Memory.

Implementation notes

An Association is specified by the ISO 13250 standard "Topicmaps". A simplified form of an Association is specified by the interface Association. For the time being associations in DeepaMehta are binary whereas the standard specifies n-nary associations.

Corporate Datasources

Corporate datasources (the databases existing in a company) are accessible by DeepaMehta by means of Active Topics. Active Topics can reveal topics and associations based on quering corporate datasources. Existing corporate datasources can be accessed by DeepaMehta without any modification.

Implementation notes

A corporate datasource is specified by the interface CorporateDatasource. Currently there implementations for SQL-databases and XML-files. An implementation for LDAP-access is planned.

Corporate Memory

The Corporate Memory (german: das Firmengedächtnis) represents the companies knowledge. The knowledge is represented by information objects as well as relationships between the objects.

The information objects can be typed, like

  • Person
  • Project
  • Task
  • Workgroup
  • Document
  • Email
  • Project description
  • Workgroup discussion
  • Webpage
  • Meeting
  • Appointment
  • Database
Untyped objects are possible as well, like
  • generic
Besides the objects there are also relationships between the objects stored in the Corporate Memory. These relationships can have a semantic and a direction, e.g.
  • is member of
  • is responsible for
  • is published by
  • has appointment with
Undirected semantic-free associations are possible as well, e.g.
  • is related to
DeepaMehta relies on the ISO 13250 standard "Topicmaps", thus an information object is represented as a Topic and the relationships as Associations. According to the standard, you can think of the Corporate Memory as one central Super-Topicmap which represents the companies knowledge. This knowledge exists as is and is independant of any presentation context. The corporate wide knowledge can consist of thousands of topic types and millions of topic instances.

What the DeepaMehta client presents to a user is always a subset of the Corporate Memory -- a so called View. A view is a personal view to a specific part of the corporate memory. In more detail, a view is a subset of the topics and associations of the Corporate Memory along with Geometry and Appearance information. According to the standard a view is a topicmap too, thus in the DeepaMehta jargon "view", "topicmap" or just "map" are used synonymously.

DeepaMehta extends the Topicmaps standard in the way Properties can be stored along with topics resp. associations. A properties is a name/value pair, e.g. "Birthday/6.10.1968".

Implementation notes

The Corporate Memory is specified by the interface CorporateMemory. Thus the Corporate Memory is independant from the actual storage approach. For the time being there is an implementation for relational databases provided in form the RelationalCorporateMemory class. You can think of further implementations for OO-databases resp. XML-Files.

Custom Topic Behavoir

A topic with custom behavoir extends/modifies the standard topic behavoir. Custom topic behavoir is developed by means of the DeepaMehta-Application-Framework. A Topic with custom behavoir realizes domain specific functionality by means of one java sourcefile. The Development Guide (separate page) describes how to develop DeepaMehta applications.

A topic with custom behavoir

  • Can react upon dedicated situations
    • complex life-cycle: created, deleted, loaded
    • the topic is renamed
    • a property changed
    • the topic is put into a view
    • the enclosing view is published
    • the viewmode is switched
  • Can provide and handle application specific commands.
    Commands are triggered at dedicated situations:
    • choosen from topic context menu
    • a topic is doubleclicked
    • a detail window of a topic is closed
    • Return is pressed in a single-line input field of the property panel
    • can execute when application specific button of the property panel is pressed
  • Can operate on properties
    • Can reject a property change
    • Can set topic properties to read-only
    • Can perform transformations on topic properties
    • Can rename derived properties
  • Can operate on
    • the corporate memory
    • corporate datasources
    • user session
  • Can show an additional text next to the topic

Implementation notes

The baseclass LiveTopic provides the hooks which are the interfaces to framework.

DeepaMehta Application

A DeepaMehta application consists of a set of of domain specific topic types and/or association types. A type is defined by its properties and behavoir. Types are build by derivation. A type with derived standard behavoir is represented just by entries to the corporate memory (types and properties are themself topics). A type with custom behavoir is represented as one Java sourcecode file.

The Development Guide (separate page) describes how to develop DeepaMehta applications.

Developing Active Topics is an essential part of DeepaMehta Application Development. A DeepaMehta Application is run by the Application Service. Applications are deployed at server-side by the Administrator.

DeepaMehta Client

The DeepaMehta Client realizes DeepaMehta's presentation and user interaction paradigm.

The Client is a thin client which is written in Java. The client can run as applet as well as application. The presentation paradigm is heavily determined by topicmap editors. Topicmap editors are used for presenting the users workspaces as well as the opened views.

The client is application independent. It is transparent to the client if new appilcation (in form of active topics) is installed at server side.

The presentation process consists of 3 states:

Data --> Presentable Data --> Presentation
First there are the generic "Data" (the topics, associations and properties at storage layer) -- fully independant of any presentation. The server retrieves the generic data and enriches them wich further data needed for presentation (e.g. display coordinates, filenames of image files, color specification codes) and sends these presentable data to the client. The client in turn builds the actual presentation objects (by means of the GUI) based on that presentable data.

[Geometry]

DeepaMehta Server

The DeepaMehta Server is an application server who serves DeepaMehta Applications.

Currently the application server is a standalone Java application who listens on one dedicated port. Because of DeepaMehta's modular architecture it would be easy to provide the application service as servlet (deploying only the HTTP-port) or as Enterprise JavaBean.

DeepaMehta Sourcecode

The DeepaMehta software is made of 4 packages:
de.deepamehta.serverServer-specific classes and interfaces.
de.deepamehta.topicsThe topics package contains the active topic classes (kernel topics as well as application topics).
This package is part of the server.
de.deepamehta.clientClient-specific classes and interfaces.
de.deepamehtaThe "common" package contains classes and interfaces used by both, client and server.

Demo Mode

If a person is not a registered User it can explore DeepaMehta by using the client in demo mode. In demo mode no username or password is required, but a prepared View to the Corporate Memory can be navigated and manipulated.

Live Association

A "living" instance of an association as existing in Corporate Memory. Live associations are existing in memory, they are created by the Application Service.

Implementation notes

A live association is modelled by the class LiveAssociation.

Live Topic

A "living" instance of a topic as existing in Corporate Memory. Live topics are existing in memory, they are created by the Application Service. Direct live topic instances do have Standard Topic Behavoir.

See also: Custom Topic Behavoir

Implementation notes

A live topic is modelled by the class LiveTopic.

DeepaMehta-Aplication-Framework

DeepaMehta Applications can be developed in a very effective way by means of the DeepaMehta-Application-Framework. Through the assistence provided by the framework the application development process will speed up by a factor of 2 to 20.

Portal

Every User has its own personalized interface to the Corporate Memory -- the so called Portal. The users portal is determined by the reponsibilities the user fullfills in regard of the companies workflow. The portal consists of the users Personal Workspace, the Group Workspaces, the Corporate Space and the MessagePanel.

The DeepaMehta Client presents the Portal of the logged in user in the upper screen area.

Presentation Service

The Presentation Service realizes DeepaMehta's presentation and user interaction paradigm.

The upper screen area presents the Portal of the logged in user. The portal consists of the users Personal Workspace, the Group Workspaces, the Corporate Space and the MessagePanel.

Every workspace consists of Views to the Corporate Memory. A View is opened by doubleclicking. The opened views are presented at the lower screen area.

Standard Topic Behavoir

The functionality of a Non-Active Topic is determined by the DeepaMehta core logic:
  • Have a type, a name, a version
  • Can be associated with other topics
  • Can reveal the types of associated topics
  • Can reveal associated topics by topic type
  • Can change the type, the name
  • Can be removed from a view
  • Can be deleted from corporate memory
  • Can have properties, changable by user
  • ... moving
  • ... design mode
  • ... database access
  • ... derivation
  • ... container
In order to realize application specific functionality Active Topics may be developed by means of custom implementation.

Implementation notes

Non-active Topics are instances of the class ProxyTopic.

Topic

A topic represents an information object that is relevant for the company. Besides topics there're Associations, which represents relationships between topics. Topics along with associations represents the "knowledge" that is stored in the Corporate Memory.

Implementation notes

A topic is specified by the ISO 13250 standard "Topicmaps". A simplified form of a topic is specified by the interface Topic.

Topicmap

A Topicmap is a formalism for representing and sharing knowledge. Knowledge is represented by means of information objects along with relationships between the objects. According the Topicmap formalism an information object is called a Topic and a relationship is called an Association.

Implementation notes

A Topicmap is specified by the ISO 13250 standard "Topicmaps". A simplified form of a Topicmap is specified by the interface TopicMap.

User

The person who uses the DeepaMehta Client is called the User. A User is identified by username and autentified by password. Once a User has logged in he gets presented its personal Portal.

View

A view is a personal view to a specific part of the Corporate Memory.

In more detail, a view is a subset of the topics and associations of the Corporate Memory along with Geometry and Appearance information. According to the ISO 13250 "Topic Maps" standard a view is a Topicmap, thus in the DeepaMehta jargon View, Topicmap or just Map are used synonymously.

Workspace





User term
Technical term




28.8.2002, Jörg Richter jri@freenet.de