Bug #188
closed
provide a metacat client library with a standard API
Added by Matt Jones over 23 years ago.
Updated about 20 years ago.
Description
Need to be able to call metacat directly from another servlet or from within a
client app (using it for local metadat storage), so need to make it into a
library that can be called this way, rather than passing params via an
inefficient http mechanism when it isn't needed. Owne and John agreed to
collaborate on this.
Moved issues that we do not intend to address during the current release to the
'Postpone' milestone.
Since Owen is no longer working on the project I have added this to my list.
I implemented a functional metacat client API that can be used on both the
client and server. The interface is defined in "Metacat.java". It can be built
using "ant clientjar". To use it in another application, make sure that both
metacat-client.jar and utilities.jar are on your classpath.
Some issues remain. In paticular:
1) The HttpMessage code uses static cookies. This is bad and should be changed.
2) Most of the APIs return Readers. In some cases we may also want InputStream
in order to deal with binary data (including ZIP data). Returning Strings would
be reasonable for some methods and would provide a simpler interface for some
types of clients (such as SOAP).
3) The exceptions used are rich, but difficult to deal with in some environments
such as SOAP.
4) The current client uses HTTP. There may be clients that exist on the same
server for which we would want to use some direct IPC channel, or direct method
calls for efficiency.
An example of using the client library is in the tests directory as
MetacatClientTest.java.
Closing the bug. New bugs added covering tasks which were not done yet.
Original Bugzilla ID was 188
Also available in: Atom
PDF