SDA India is an online resource for Software, Development,IT, Architecture, Open Source, Mobile, Security, Databases, Delphi, C, OS, Asp, .Net, Php, Xml, Java

From the News Desk
Friday, 31. August 2007

JLaunchPad Java Launcher


Current Issue

JLaunchPad is a set of Java classes and shell scripts for simplifying installation/launching of Java applications. Once the launcher is installed, it can be reused for starting different Java applications. Version 1.0.0 of the project has just been released. For your application you have to specify required dependencies on other Java libraries. When an application is executed the first time, all dependencies will be downloaded and installed automatically into your local repository. For all consequent executions of the application download process this is not required and the only one responsibility of the launcher is to build correct "classpath" and launch the application.




The project has plenty of examples that explain how to use this launcher for existing applications. The benefit is that all application deliveries will be built by same unified scenario and do not contain dependencies - they will be downloaded/reused automatically. Among examples you can see such programs as Ant, Maven 2, Tomcat, JRuby, Groovy, Intellij IDEA, Glean and some other.




Alexander Shvets explains how the launcher works:




    • On the dedicated server we have Central Repository (sponsored, non-profit, for everybody in the community/ IT industry) of Java components represented in binary format. It could be a separate Java library, some convenient tool or even GUI program.
      • Each component is provided with the group name, artifact name and the version. Classifier also could be used for specifying Java version of the component (e.g. jdk15, jdk16 etc.).
        • Each component has binary artifact and could also contain (optional) sources, javadocs or other artifacts.
          • Each component describes dependencies to other components in the form of Dependencies File. As the result, we have Dependencies Tree (or Transitive Dependencies).
            • Launcher program connects to the remote Central Repositories and downloads required components to the client's computer. Then the launcher builds correct CLASSPATH and then starts up the programs.
              • All downloaded components are stored in the Local Repository - it is the mirror of Central Repositories and it contains only required components with their dependencies.
                • If somebody wants to introduce new program, s(he) describes it in the form of dependencies,then s(he) writes the code. As the result, it is required to distribute new code only - all dependencies will be downloaded later and only "on-demand" - when it is really required.
                  • "Smart" start-up program reads Dependencies File, installs all the required dependencies and then starts the original program. This is real separation of new code from related dependencies. If your application is, say, dependent on "jdom" library, your distribution does not have to include this file. Instead, you provide dependencies for the project and they will be downloaded automatically.




Post a Comment
Name
Title
Comment
Menu
News Desk
Feature Stories
Articles
Interviews
Case Studies
White Paper
Analyst Corner
Planet SDA-India
SDA Events
INDIA IT Event Calender
IT Jobs
Advertise