Hi devs, I want to discuss about the type system in GFAC-Core.
Currently, GFAC module read and write a necessary information based on XML schema (called GFAC-Schema) as a definition. GFAC-Schema library is generated from XMLbeans (http://xmlbeans.apache.org/) and is referenced in the project. Examples of GFAC-Schema are: HostTypeDescription, which describes an environment for a host such as Java version, Temp directory, GridFTP endpoint etc. ServiceTypeDescription, which describes a service such as parameters, service name, etc. GFAC-SimpleType, which defines a simple parameter type to the service such as Boolean, Double, Integer, etc. This is how system work roughly: After deploying their software on a computing host, users will register their host, application, service description via XBaya-GUI (Java Swing). This registration information will be saved to XRegistry as XML string according to XML schema. When users invoke a (Web) service, GFAC will load the necessary information (host, application directory, parameters, etc.) and execute the deployed software . Then, GFAC parses the output from the software, wraps it and send out as an appropriate parameter type format. So, the question is do we want to continue using XML-Schema. If, we agree to use XML-Schema, we should import some initial schema from OGCE GFAC as a new module in Airavata. Also, we need to redesign some schema. For Instance, current HostType schema requires GridFTP Endpoint element which is not necessary if a computing host doesn't have GridFTP. Otherwise, what do you propose? POJO, JSON, etc. -- Best Regards, Patanachai Tangchaisin
