Welcome on the JMMC developper Corner

This area is dedicated to:

  • point to the technical ressources that are used by the JMMC technical team.
  • list our tips, workarounds, usefull material.

JMCS rules

Here comes additional JMCS documentation mostly dedicated to guru or admin side. User guides and documentation will be stored onto the dedicated project area.

Shared Libraries

Jmal and Jmcs collections

Jmcs and Jmal modules group a lot of external shared libraries. All collections of libs can be easily included in the distributed applications through their jnlp adding following code:
  <!-- JMMC libs -->
    <extension href="../JmcsLibs/JmcsLibs.jnlp"/>
    <extension href="../JmalLibs/JmalLibs.jnlp"/>

JmcsLibs.jnlp and JmalLibs.jnlp declare these ressources in the jnlp throug following code sample:

   <!-- Swing Task management -->
    <jar href="@SHARED@/swing-worker-1.2.jar"/>
The @SHARED@ is replaced on fly by the jmcsDeployJnlp script using one base url.

Both jmcs and jmal jnlp can be shared between applications. Then no ressources must be removed without strong analysis.

Contrib jars of applications

Applications based on external jars should declare them in their jnlp using the @SHARED@ hack. By this way, the jar is copied on the server in one specific directory if it does not exist. Then the clients will download this resources only one time during successive versions.

Jnlp

The jar which contains the main class declared in the jnlp file must be declared as first jar ressource.

Constraints on deployed jars

To reach the maximum number of running platform, the distributed jars must not be signed more than once. Else error can appear arging that some parts are not signed by the same certificates. This feature is check during deployement by the jmcsDeployJnlp script and it sub script jmcsCheckJarCert

XML Schema rules :

Here are several rules to help writing XML schemas :

First of all we define two different types of schemas.

  • First we define “type schemas”, XSD documents containing only type definitions.
    • For each object type(class) and value type we generate a corresponding complexType or simpleType, i.e. NOT ELEMENTS.
    • Attributes map to elements of a corresponding data type (simple or complex), collections to elements of a type corresponding to the class.
  • We next define a “document schema” containing root elements. The elements in the document schema define the valid XML documents one can write and we choose only the complex types representing an interesting document. That is, only important classes can be represented as a document. Fragments of these are not allowed.

If the data model is simple, it is possible to have a single XML schema gathering both type and document schemas. In this case, the XML schema must contain first the root elements and then the type definitions.

Complete and detailed explanations here

External ressources

VO related

SAMP Simple Application Messaging Protocol

JSAMP Java implementation of samp http://software.astrogrid.org/doc/p/samp/
SAMP at IVOA Main reference page http://www.ivoa.net/cgi-bin/twiki/bin/view/IVOA/SampInfo

TAP

To complete: DSA , badcal, oidb...

Usefull tools

NetBeans integrated development environment for Java&others
  • Code Assistance in the NetBeans IDE Java Editor:A Reference Guide
  • http://www.netbeans.org

    Tips and tricks

    Get the status of running threads for any java program

    ...if started from the command line: just get its pid and send one SIGQUIT signal :
     kill -3 <pid>
    Edit | Attach | Watch | Print version | History: r11 | r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions...
    Topic revision: r7 - 2011-12-08 - GuillaumeMella
     
    • Edit
    • Attach
    This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
    Ideas, requests, problems regarding TWiki? Send feedback