Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between pages "Adaptor Hooks" and "OHF"

(Difference between pages)
 
(Audit record repository)
 
Line 1: Line 1:
== Overview ==
+
=== About OHF ===
Since Eclipse 3.0 the Framework Adaptor API has been available in the Equinox OSGi Framework. A framework adaptor implementation is called upon by the Equinox OSGi Framework to perform a number of tasks.  A framework adaptor may be used to add functionality to the framework.
+
This is the Eclipse Open Healthcare Framework (OHF) wiki. The OHF project addresses part of an need to improve the levels of interoperability between applications and systems within and across healthcare organizations – corporate and regions.
  
A single framework adaptor is specified when the framework is launched. By default in Eclipse 3.0 this is set to the EclipseAdaptor.  In order to add new functionality in an adaptor in Eclipse 3.0 and 3.1 it is required that the adaptor implementation either re-implement the complete framework adaptor API or extend one of the existing framework adaptor implementations. This makes it impossible for two parties to add new functionality to the framework in separate adaptors at the same time because the Equinox OSGi Framework can only be configured to use one adaptor.
+
=== Additional OHF sites ===
 +
* [http://www.eclipse.org/ohf/ OHF Project Home Page]
 +
* [http://ohf-dev.blogspot.com/ OHF Committers Blog]
  
In Eclipse 3.2 a new hookable adaptor has been included that is used by default as the framework adaptor.  The framework adaptor API has remained unchanged for the most part in Eclipse 3.2.  What has changed is the actual implementation of the adaptor API.  A new implementation of the adaptor API is now included which provides hooks that others can implement to provide functionality to the adaptor implementation.
+
=== Discussions ===
 +
* [[OHF using SCA]]
  
== Hookable Adaptor ==
+
== OHF Relationship Management (& Current Events etc) ==
The hookable adaptor is implemented in the package org.eclipse.osgi.baseadaptor.  This adaptor implementation provides all of the default behavior required of a FrameworkAdaptor to provide an OSGi R4 compliant Framework.  It also provides many hooks that allow others to insert additional functionality into the framework through what are called framework extension bundles.  See the OSGi Core Specification chapter 3.15 "Extension Bundles" for more information.
+
  
Framework extension bundles are fragments of the system bundle (org.eclipse.osgi).  As a fragment they can provide extra classes which the framework can use.  A framework extension bundle can define a set of hook implementations that are configured with the hookable adaptor (using a hookconfigurators.properties file). 
+
* [[OHF Relationship Management: Java]]
 +
* [[OHF Relationship Management: Eclipse]]
 +
* [[OHF Relationship Management: Open Source Healthcare initiatives]]
 +
* [[OHF Relationship Management: Standards Organisations]]
 +
* [[OHF Relationship Management: Corporates]]
  
=== The Base Adaptor ===
+
=== Public Healthcare Serveices ===
The class org.eclipse.osgi.baseadaptor.BaseAdaptor implements the interface org.eclipse.osgi.framework.adaptor.FrameworkAdaptor.  This class is used by default as the adaptor of the framework.  You should avoid extending this class, instead you should use hook implementations to add functionality to the BaseAdaptor.
+
This section contains a list of known public standard healthcare services.  
  
In some cases it may be impossible to do what you want with the current set of adaptor hooks. In this case you may be forced to extend the BaseAdaptor class to provide your own adaptor implementation.  If you find yourself in this situation then you should open a bug against Framework Equinox requesting a new hook method or interface.
+
The listed services are actors on one of the [http://www.ihe.net IHE] profiles. OHF implements components that interacts with these services. The purpose of the list is to help developers test the plugins they develop, to validate full interoperability across vendors, and to validate comliance with the standard.
  
=== The Hook Registry ===
+
  None of the listed services are part of Eclipse or Eclipse OHF.  
The hook registry is implemented in the class org.eclipse.osgi.baseadaptor.HookRegistry. The hook registry is used to store all the hooks configured in the framework. When the hook registry is initialized it will discover all the hook configurators installed in the framework and will call on them to add hooks to the registry.  The BaseAdaptor uses the hook registry at runtime to lookup and use the different hooks configured with the registry.
+
  The services are publicly avaliable for demos and interoperability
 +
tests and they are not part of production environment.
  
==== Hook Configurators ====
+
'''We welcome any service providor that have a public standard based healthcare service to contact us in order to add new services to the list'''
Hook configurators must implement the org.eclipse.osgi.baseadaptor.HookConfigurator interface.  Hook configurators can add one or more hook implementations to the hook registry using the various add methods on the registry.
+
  
==== Discovering Hook Configurators ====
+
====Audit record repository====
In order for a hook configurator to be discovered by the hook registry its implementation must be accessable by the framework's classloader. This implies that hook configurators must be built into the framework itself (org.eclipse.osgi) or be supplied by a framework extension bundle.  Again a framework extension bundle is really just a fragment to Framework (i.e org.eclipse.osgi or the System Bundle).
+
{| style="background-color:#ABCDEF;"
 +
|+Public Healthcare Services
 +
|-
 +
! Vendor !! Service URL !! BSD SYSLOG Port !! Reliable Syslog Port  
 +
|-
 +
! IBM
 +
| ibmod235.dal-ebis.ihost.com || 541 || N/A
 +
|}
  
A hook configurator also must be declared in one of the following ways to indicate to the hook registry which classes should be loaded as hook configurators.
+
== OHF Meetings ==
 
+
* [[Face to Face meeting at EclipseCon]]
===== hookconfigurators.properties files =====
+
** [[Pictures from the meeting]]
A hookconfigurators.properties file can be used to declare a list of hook configator classes.  The key hook.configurators is used in a hook configurators properties file to specify a comma separated list of fully qualified hook configurator classes.  For example, the Equinox Framework (org.eclipse.osgi) is shipped with a default set of hook configurators specified a hookconfigurators.properties file included in the org.eclipse.osgi.jar:
+
 
+
<code>
+
hook.configurators=
+
    org.eclipse.osgi.internal.baseadaptor.BaseHookConfigurator,
+
    org.eclipse.osgi.internal.baseadaptor.DevClassLoadingHook,
+
    org.eclipse.core.runtime.internal.adaptor.EclipseStorageHook,
+
    org.eclipse.core.runtime.internal.adaptor.EclipseLogHook,
+
    org.eclipse.core.runtime.internal.adaptor.EclipseErrorHandler,
+
    org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorHook,
+
    org.eclipse.core.runtime.internal.adaptor.EclipseClassLoadingHook,
+
    org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter,
+
    org.eclipse.core.runtime.internal.stats.StatsManager,
+
    org.eclipse.osgi.internal.verifier.SignedBundleHook
+
</code>
+
 
+
Quite a few hook configurators are automatically enabled by default withing the Equinox Framework.  The only hook configurator required for a fully functional OSGi R4 Framework is the org.eclipse.osgi.internal.baseadaptor.BaseHookConfigurator.  All other configurators declared above add extra functionality needed by eclipse and can be disabled.
+
 
+
Extension bundles may provide their own hookconfigurators.properties file to specify additional hook configurators.  The hook registry will discover all hookconfigurator.properties files on its classpath and will merge all declared configurator classes into one list.
+
 
+
===== osgi.hook.configurators property =====
+
The osgi.hook.configurators configuration property is used to specify the list of hook configurators.  If this property is set then the list of configurators specified will be the only configurators used.  If this property is set then the hookconfigurators.properties files will not be processed for additional configurators.  This property can be used in a config.ini to lock down the set of configurators to a specific set.
+
 
+
===== osgi.hook.configurators.include property =====
+
The osgi.hook.configurators.include configuration property is used to add additional hook configurators.  This is helpful for configuring optional hook configurators.  Hooks that should be enabled by default should be included in a hookconfigurators.properties file.  This property is ignored if the osgi.hook.configurators is set.
+
 
+
===== osgi.hook.configurators.exclude property =====
+
The osgi.hook.configurators.include configuration property is used to exclude any hook configurators.  This is helpful for disabling hook configurators that are specified in hook configurator properties files.  This property is ignored if the osgi.hook.configurators is set.
+
 
+
== Hook interfaces ==
+
 
+
=== Adaptor Hook ===
+
 
+
=== Bundle File Factory Hook ===
+
 
+
=== Bundle File Wrapper Factory Hook ===
+
 
+
=== Bundle Watcher Hook ===
+
 
+
=== Class Loading Hook ===
+
 
+
=== Class Loading Stats Hook ===
+
 
+
=== Storage Hook ===
+
 
+
== Bundle Files ==
+
 
+
== Class Loaders ==
+
 
+
== Examples ==
+

Revision as of 18:08, 4 May 2006

About OHF

This is the Eclipse Open Healthcare Framework (OHF) wiki. The OHF project addresses part of an need to improve the levels of interoperability between applications and systems within and across healthcare organizations – corporate and regions.

Additional OHF sites

Discussions

OHF Relationship Management (& Current Events etc)

Public Healthcare Serveices

This section contains a list of known public standard healthcare services.

The listed services are actors on one of the IHE profiles. OHF implements components that interacts with these services. The purpose of the list is to help developers test the plugins they develop, to validate full interoperability across vendors, and to validate comliance with the standard.

None of the listed services are part of Eclipse or Eclipse OHF. 
The services are publicly avaliable for demos and interoperability 
tests and they are not part of production environment.

We welcome any service providor that have a public standard based healthcare service to contact us in order to add new services to the list

Audit record repository

Public Healthcare Services
Vendor Service URL BSD SYSLOG Port Reliable Syslog Port
IBM ibmod235.dal-ebis.ihost.com 541 N/A

OHF Meetings

Back to the top