← Revision 3 as of 2008-06-13 18:56:32
Size: 614
Comment:
|
← Revision 4 as of 2008-07-03 20:35:12 →
Size: 1189
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Spring Dynamic Modules for Cytoscape = | |
Line 3: | Line 4: |
== Introduction == From Cytoscape 3.0, the entire system is based on OSGi, and this modularizes Cytoscape into a collection of bundles. OSGi bundles are just regular jar files plus a simple metadata file (MANIFEST.MF) and they can be used in other non-OSGi systems. However, once we use raw OSGi API, the bundle is coupled with OSGi environment, and it is not easy to port the bundle to non-OSGi environments. [http://www.springframework.org/osgi Spring Dynamic Modules] is one of the solutions to achine maximum modulality. |
Spring Dynamic Modules for Cytoscape
(Under construction) TableOfContents
Introduction
From Cytoscape 3.0, the entire system is based on OSGi, and this modularizes Cytoscape into a collection of bundles. OSGi bundles are just regular jar files plus a simple metadata file (MANIFEST.MF) and they can be used in other non-OSGi systems. However, once we use raw OSGi API, the bundle is coupled with OSGi environment, and it is not easy to port the bundle to non-OSGi environments. [http://www.springframework.org/osgi Spring Dynamic Modules] is one of the solutions to achine maximum modulality.
Usecases
Testing
Good starting point to use Spring for Cytoscape. We can use DI to make mock objects to do integration test.
Integration Test
Mock Object
OSGi Service Management
Some of the functions in Cytoscape 3 will be implemented as OSGi Services. This requires exporting
Aspect Oriented Programming
Logging
Example: Command Parameter Intercepter
Managing Instances by Setter Injection
Open Issues / Problems
- Inter-bundle aspect management.