|
At the “Information Exchange and Technology Platform Seminar” held on October 31, 2009 at STM, Mehmet GÜRSUL from the Software Department delivered a presentation on “Dynamic Module System (OSGi) for Java in Hospital Information Systems”, prepared by Mehmet GÜRSUL and Faruk SAFİ.
In the presentation, GÜRSUL said that application software which needs to be constantly up, such as Hospital Information Systems, bring some requirements with them, foremost of which is the necessity to reflect any change made in any sub applications onto the system without stopping or affecting the operation of other applications.
Saying that for this reason when making changes, the application server should never be restarted, but only the section where the change is made should be restarted, or in other words that the system must be dynamic, GÜRSUL suggested using the OSGi technology will meet the needs.
In order to fully understand the OSGi technology, first of all one should know exactly what modularity is and what causes problems in Java and why a literally dynamic module system cannot be established; after making that remark, GÜRSUL delved into the concept of modularity and then elaborated on the problems in Java and the characteristics which must be present in a really dynamic module system. He explained using various examples the problems related to modularity and class paths in Java.
After explaining Java problems, GÜRSUL stated that OSGi is a dynamic module system for Java and is able to create a real module, and also provides an effective method for interaction between modules during operation, and added that the basic philosophy of OSGi is quite simplistic. Saying that the global and straight “classpaths” are the cause of many problems in Java, GÜRSUL stated that OSGi has a different approach and adopts the principle of every module having its own classpath. In this way, many problems are eliminated, and the shared classes can be used by establishing the “import” and “export” mechanisms in OSGI, which provides clear descriptions of how sharing can be done between modules.
Saying that OSGi uses “bundles” instead of modules, and that a buddle is essentially a JAR file and does not define a new standard, GÜRSUL added that JAR files are converted into bundles by adding metadata.
Giving information on the OSGi Alliance, its history and the available versions, GÜRSUL said that the most commonly used OSGi frameworks are Equinox , Knopflerfish, Apache Felix and Concierge.
The presentation was ended after explaining why Maven-Ivy, the pre-Eclipse 3.0 former plug-in system or the JSR 277 technologies, which are presented as alternatives to OSGi but fail at providing a full alternative, cannot solve the problems solved by OSGi.