OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] CLAX - Client-side functionality

[ Lists Home | Date Index | Thread Index ]

At 15:36 25/07/2006, Didier PH Martin wrote:

>Hello Peter,
>
>Your challenge is quite stimulating and I am happy to see some focus on real
>stuff and less on politics.

Thanks - I also enjoy your comments

>Here is what I am proposing:
>
>Having more than one option is always good because we do not know where the
>evolution will lead us what will be the fittest to survive.

Yes. The Web achieves this though the huge number of people. It may 
be that others not on XML-DEV are discussing this

>You actually have as options:
>
>a) A java only world incarnated with Eclipse and bioeclipse.

Yes

>b) A potential browser solution (if I understand well the current one is
>unsatisfactory)

My problem (and i am often out of date) with the current browsers are:
- they do not care about running applications so there is little 
useful support and hooks
- they are not yet fully consistent between each other
- they are not stable in the areas we need (e.g. Javascript interfacing)

Also because there are 2-3 choices then we have to support all. If we 
support Bioclipse then at least we only have one platform; of course 
we have the challenge to evangelise it


>Option (a) is already taken care of.

Well Bioclipse is young. It can be installed by experts but not for 
mass release. But hopefully that will come

>Option (b) needs some brain and hands.

Yes.

>Let's see if I can contribute but now I need more info:
>
>a) I assume that a publication needs a way to be encoded. I am proposing
>XHTML because its easy to get it interpreted in most browsers. So the
>textual information can be encoded into XHTML.

Yes

>b) For information unit about molecular matters I guess you want to use CML
>and a CML interpreter. I noticed a few but JMOL seems to be the best. Am I
>wrong?

Chemistry is a large subject so there are many aspects. (Molecules, 
reactions, computation, spectra, crystallography). CML supports all 
and essentially each has its own complementary interpreter. They are 
all getting installed in Bioclipse:
* Jmol 3D viewer
* JChempaint 2D editor and display (note "2D" is completely different 
from 3D - you cannot create one from the other easily
* JUMBO CML toolkit manages schema and basic chemistry on it
* CDK and JOELib - advanced chemical computation
* JSpecView graphical display of spectra

>c) For math I am puzzled because comments made in this forum lead me to
>conclude that mathML is unsatisfactory. So, what to do for math information
>units? Waiting for your imput.

I don't think the comments are accurate. MathML is a well developed 
language for presentational maths. It is designed for use up to 
undergraduate STM (Science, Technical, Medical). It is IMO well 
suited for general scientific presentational publishing. Its semantic 
component is probably less well deployed - this is IMO a matter of 
time and some evangelism. I am perfectly happy to use MathML for math 
in chemistry


>d) any other format?
Many - and we have to be prepared to install ones we don't know 
about. For example there are perhaps 5-10 quite widely deployed MLs 
in bioscience. It is not a problem if they simply take up screen 
space. If they need to intercommunicate then they must have a common 
ontology and event model. This is ambitious!


>So guess that what I am doing is collecting the datument atoms or
>information units required. IN other words do we have the right capabilities
>in the browser to correctly interpret/render the different information unit
>required. This is the first step for building an intelligent CLAX wrapper
>for the different browser environments.

It would be wrong to base CLAX primarily on chemistry. Here is a 
simple service returning the time (the syntax is not meant to be 
critical - will change between emails!)
<clax>
   <request url="http://www.mytime.org";>
     <param name="timezone" value="BST"/>
   <response>
     <xsd:datetime/>
   </response>
</clax>

We send a request to a service with a parameter timezone and get a 
response of a given datatype. The service knows it has an input of 
timezone and returns an XSD datetime.

The datatype could come from any ML. So for math::

<clax>
   <request url="http://www.mymath.org";>
     <param name="operation" value="integration"/>
<!-- sin(x) - as from Mathematica web page -->
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
   <mi>sin</mi>
   <mo>&#8289;</mo>
   <mo>(</mo>
   <mi>x</mi>
   <mo>)</mo>
  </mrow>
</math>
   <response>
     <math xmlns='http://www.w3.org/1998/Math/MathML'>
   </response>
</clax>
This shows a service which takes a parameter (operation) and a MathML 
expression (in this case sin(x)) - I know this isn't semantic math, 
but it shows the idea. It applies the operation and returns a MathML 
expression.

Here is one in CML that finds the molecular weight of a compound

<clax>
   <request url="http://www.xml-cml.org/services";>
     <param name="operation" value="getMolecularWeight"/>
   <param name="molecule">
     <cml:molecule formula="C 2 H 4" cml="http://www.xml-cml.org/schema"/>
   </param>
   <response>
     <xsd:float/>
   </response>
</clax>
This request a service taking an operation and a molecule and returns 
an XSD float (28.02 in this case)

Because CML schema is mapped onto Java we can interrogate it through 
Java reflection (CMLMolecule.class, getMolecularMass()) directly from 
the clax parameters - trivial.

The service is written by a domain expert; so long as the input 
datatpyes agree with the POST and the output agrees with the return 
the service simply executes, e.g.:

<clax>
   <request url="http://www.myjoke.org";>
     <param name="type" value="lightBulb"/>
   <response>
     <xhtml/>
   </response>
</clax>


We expect to see much of  the computation being broken into modules 
like this and shipping XML object between them. Except for very short 
and repeated services then performance overheads are small

P.


Peter Murray-Rust
Unilever Centre for Molecular Sciences Informatics
University of Cambridge,
Lensfield Road,  Cambridge CB2 1EW, UK
+44-1223-763069 





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS