XML and CCA specifications
|
What can/do we do with it? | |
Off-line GUI | We can compose applications graphically. Building a component-based parallel application may mean composing an executable from a set of dynamically loaded components that exist on a large machine where (due to queuing system restrictions or whatever) a human cannot interact with hundreds or thousands of nodes just to discover the public interfaces and wire the applications together. Worse, some of the components may not even be instantiable except in the parallel environment. Thus, the CCA component meta-data includes a description of the Ports available and a GUI-based builder can support app. composition based on XML solely without having the component libraries present on the desktop where the GUI runs. |
Static-link | We can generate custom main() or custom framing subroutine source-code and compile to an optimized binary. This requires information about source code header and library installation locations. On parallel systems, these locations rarely follow any particular standard. |
Why does it need to be in another file? | |
Portability | Querying binaries to extract particular strings (for example embedding the XML data into a binary library) can be done on any platform but it varies widely. |
Cross-compiling | XML in a text file can be read with a wide variety of utilities in any desktop environment. Data extracted from XML can then be used to generate source code even if the libraries and headers referred to in the XML are not present on that desktop (as is often the case with parallel machines). Source code can then be moved to the final runtime environment for compilation. |
Late location | Embedding the XML string requires knowing the full final installation location details at compile time. Especially in the case of relocatable binary RPM packages, this is often not possible. Separate XML text files are easily edited automatically at installation time while binaries are not. |
Registry | Under MS Windows, the data in an XML file could equally well be stored in the registry. As registry entry, it is less prone to user corruption. |
Lack of standards | Unix software environments and software projects are notoriously variable. There is no common, language independent standard for naming or location of component libraries and headers. |
Multi-components | Often one binary library will house a collection of component classes. Thus, in a generic framework a component cannot be found by matching its name to names found on the filesystem. |
Created by: baallan last modification: Wednesday 18 of May, 2005 [17:21:42 UTC] by baallan
The original document is available at http://www.cca-forum.org/wiki/tiki-index.php?page=XML%20.cca%20files