Presentation is loading. Please wait.

Presentation is loading. Please wait.

June, 2007 Petr Hamernik Extending Instant JChem 2.0 Architecture & API.

Similar presentations


Presentation on theme: "June, 2007 Petr Hamernik Extending Instant JChem 2.0 Architecture & API."— Presentation transcript:

1 June, 2007 Petr Hamernik Extending Instant JChem 2.0 Architecture & API

2 Architecture goals Rich client with modern user interface Extensible to multi-tier architecture Data definition/manipulation abstract layer Reuse proven and stable software components Componentized and extensible design Tidy and clear Application programming interface (API)

3 NetBeans Platform – key features User interface management Data and presentation management Graphical editing Wizards Settings management Internet-based update delivery Utilities Lot's of various plug-ins

4 IJC Architecture overview IJC is implemented as set of plugins into NetBeans platform IJC consists of: –DIF –IJC Core –Other plugins: Form designer Grid view UI Widgets

5 Discovery Informatics Framework (DIF) Abstract non-visual layer on top of data sources Provides data model and its persistence Independent on most of NetBeans The basic functionality/API: –Data definition operations –Data manipulation operations –Common utilities and support classes –Security –Extensive usage of JavaBeans patterns

6 Instant JChem Core (IJC Core) IJC Core = User interface framework and its basic implementations Three levels of visualization: –1. View windows definition (gridview, formview) –2. Widgets definition –3. Renderers definition –Definition of contracts between the levels –Persistence support Basic context descriptions objects (in NetBeans known as Cookies) Implementations of basic context sensitive actions based on Cookies The basic wizards implementation

7 Other extensions included in IJC 2.0 Gridview Form designer The basic widgets – table, molecule pane, text field, date field The basic renderers – numeric, text, structure Chemistry tools extensions more is coming...

8 IJC Key extension points Field types –URL resource field, range field, … –Including new operators for search –Data convertors Table entity types Visualization widgets usable in form designer –Graph widgets Renderers (standalone widget vs. table column) Context sensitive actions (active table, column, row, widget,...) –Data processing, Chemistry tools

9 Widget/Renderer example To add a new renderer you need to write: 1.Renderer class ( IJCWidgetRenderer, IJCWidgetTextRenderer, TableCellRenderer ) 2.Renderer's beaninfo to publish appropriate properties 3.Renderer factory class ( RendererFactory ) 4.Register the factory into xml configuration file To add a whole new widget you need to write: 1.Widget class ( AbstractSingleFieldWidget / IJCWidget.DesignerHandle ) 2.Widget factory class ( IJCWidgetFactory ) 3.Provide icons 4.Register the factory into xml configuration file

10 Resources IJC 2.0 Developers docs, including API javadocs and examples: –http://www.chemaxon.com/instantjchem/ijc_2_0/docs/developer/api/ index.htmlhttp://www.chemaxon.com/instantjchem/ijc_2_0/docs/developer/api/ index.html –API stability levels based on packages or classes –API is still under development, please consult us first NetBeans APIs: –http://platform.netbeans.org/tutorials/index.htmlhttp://platform.netbeans.org/tutorials/index.html –http://www.netbeans.org/download/dev/javadoc/


Download ppt "June, 2007 Petr Hamernik Extending Instant JChem 2.0 Architecture & API."

Similar presentations


Ads by Google