Size: 530
Comment:
|
Size: 1297
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Command layer contains mechanism to make Cytoscape functions easily accessible from application layer. This layer should be separated from application layer and can be used in any mode: Desktop application, server version, and command line version. | |
Line 13: | Line 13: |
==== Multiple Language Support ==== Commands should be easily accessible dynamic (scripting) languages, including Python, Ruby, and JavaScript. === Functions Encapcelated as Command === In general, most of the classes in '''''cytoscape.actions''''' will be converted into Commands. |
|
Line 14: | Line 20: |
attachment:commandLayer1.png |
|
Line 15: | Line 24: |
* Command executes the function through the OSGi service registory. | |
Line 20: | Line 30: |
=== OSGi Service === === Dynamic Language Support on JVM === * Jython * JRuby * Rhino (JavaScript) * |
(This page is under construction)
Command Layer Definition
Command layer contains mechanism to make Cytoscape functions easily accessible from application layer. This layer should be separated from application layer and can be used in any mode: Desktop application, server version, and command line version.
Requirments
- Command layer should be separated from application or UI.
- Commands should be accessible from scripting (dynamic) languages.
- Should be manageable by Undo manager (in application layer).
- Extensible. Plugin writers and developers use Cytoscape as library can add their own commands.
Multiple Language Support
Commands should be easily accessible dynamic (scripting) languages, including Python, Ruby, and JavaScript.
Functions Encapcelated as Command
In general, most of the classes in cytoscape.actions will be converted into Commands.
Design
- attachment:commandLayer1.png
- Each command will be represented as an OSGi service.
- Command executes the function through the OSGi service registory.
Implementation
References and External Links
OSGi Service
Dynamic Language Support on JVM
- Jython
- JRuby
Rhino (JavaScript)