Advantages and Disadvantages of Descriptors
The advantages of working with Descriptors over using APIs include:
- You can define an interface for a client while allowing the implementation to evolve, even at runtime. That is, you can have live development using loosely coupled components.
- Descriptors are referenced as URLs, so Mulgara servers can use Descriptors from remote machines.
- Descriptor interfaces are well defined in RDF, so humans or applications can discover Descriptors that meet their needs.
- Descriptors are SOAP accessible and described in WSDL, and are therefore usable from other languages and platforms such as Perl, Microsoft® Visual Basic® and the Microsoft .NET Framework.
- Descriptors are fast because they use optimized XSL objects and queries are performed on the server. They are not much slower than working with APIs directly.
The disadvantages of developing Descriptors include:
- Developing Descriptors requires knowledge of XSL.
- Debugging Descriptors is difficult when using deeply embedded Descriptors due to the layers of components involved.
- Large XML results have higher memory and CPU requirements than when using APIs directly.
The disadvantages of using Descriptors include:
- Only string parameters are allowed, although this may change in the future to support complex data types.
- Session type functionality is not available when developing HTML web applications, unless used from the application server.
- Descriptors declare their input parameters in a machine understandable format, but not their output capabilities.