Differences between revisions 4 and 5
Revision 4 as of 2008-07-03 20:35:12
Size: 1189
Editor: KeiichiroOno
Comment:
Revision 5 as of 2008-07-03 20:45:30
Size: 1341
Editor: KeiichiroOno
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
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. 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 achive maximum modulality.
Line 9: Line 9:

=== Service Management ===
In OSGi environment, objects shared by multiple bundles are usually managed by [http://www.knopflerfish.org/osgi_service_tutorial.html OSGi Service Registory]. In Cytoscape, there are lots of objects
Line 15: Line 18:
=== Interface-Based Programming ===
Line 16: Line 20:
=== OSGi Service Management ===
Some of the functions in Cytoscape 3 will be implemented as ''OSGi Services''. This requires exporting
Line 21: Line 23:
==== Benchmarking ====

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 achive maximum modulality.

Usecases

Service Management

In OSGi environment, objects shared by multiple bundles are usually managed by [http://www.knopflerfish.org/osgi_service_tutorial.html OSGi Service Registory]. In Cytoscape, there are lots of objects

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

Interface-Based Programming

Aspect Oriented Programming

Logging

Benchmarking

Example: Command Parameter Intercepter

Managing Instances by Setter Injection

Open Issues / Problems

  • Inter-bundle aspect management.

Outdated_Cytoscape_3.0/Spring (last edited 2011-02-24 15:38:13 by PietMolenaar)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux