Hi Reto,
TEST_URI is the URI of the Content. In fact, the client works pretty
similar to your code:
private static final String STANBOL_ENDPOINT = "http://localhost:8080/";
final StanbolClient client = new StanbolClientImpl(STANBOL_ENDPOINT);
StanbolEnhancerService enhancer = client.enhancer();
EnhancementResult eRes = enhancer.enhance(TEST_URI, "Paris is the
capital of France");
I think I understand you, but the way we see a client for each
programming language is for decoupled integrations.
Regards
El 27/03/13 14:25, Reto Bachmann-Gmür escribió:
Hi Rafa and Rupert,
I think all our services should expose nice interfaces that allow to access
especially the common features as easily as possible. The fact that as
Rupert points out our existing API isn't very suitable for usage on the
client shows the design weakness of the API.
Rupert's example:
EnhancementResult eRes = client.enhancer().enhance(TEST_URI, "Paris is
the capital of France");
Doesn't make sense on the server (assuming TEST_URI is the uri of the
Stanbol service).
It should be on the server:
@Service
Enhancer enhancer;
...
EnhancementResult eRes = enhancer.enhance("Paris is the capital of France");
On The client it might be:
StanbolClient stanbolClient = new StanbolClient(TEST_URI);
Enhancer enhancer = stanbolClient.getEnhancer();
EnhancementResult eRes = enhancer.enhance("Paris is the capital of France");
Note an alternative constructor of StanbolClient might take additional
arguments as to say if things should be lazy loaded or precached, etc. The
important aspect is that we are using one and the same Enhancer interface
independently if this access an remote instance or is a local service.
I hope this makes the idea clerarer.
Cheers,
Reto
On Wed, Mar 27, 2013 at 12:15 PM, Rafa Haro <[email protected]> wrote:
Hi Reto,
I think that I'm not understanding your point. The client is precisely a
way to ease the integration with the remote API, to work with a remote
Stanbol instance as you would have it "locally" integrate in your project.
It's just an implementation of those RESTful APIs, abstracting the
developer the marshall and unmarshalling processes of the REST services in
their code.
It's true that some interfaces of the current implementation could be the
same of Stanbol's one if the client is integrated in Stanbol, but the point
is to wrapper the functionality to ease the use of Stanbol RESTful APIs
Regards!
El 27/03/13 10:42, Reto Bachmann-Gmür escribió:
Just to add an example:
I think one should be able to use the interface
http://svn.apache.org/viewvc/**stanbol/trunk/contenthub/**
servicesapi/src/main/java/org/**apache/stanbol/contenthub/**
servicesapi/search/featured/**FeaturedSearch.java?view=**markup<http://svn.apache.org/viewvc/stanbol/trunk/contenthub/servicesapi/src/main/java/org/apache/stanbol/contenthub/servicesapi/search/featured/FeaturedSearch.java?view=markup>
both to search against the local instance as well as a remote instance and
that it's not necessary to have
https://github.com/zaizi/**apache-stanbol-client/blob/**
master/src/main/java/org/**apache/stanbol/client/**
contenthub/search/services/**StanbolContenthubFeaturedSearc**
hService.java<https://github.com/zaizi/apache-stanbol-client/blob/master/src/main/java/org/apache/stanbol/client/contenthub/search/services/StanbolContenthubFeaturedSearchService.java>
Cheers,
Reto
On Wed, Mar 27, 2013 at 10:31 AM, Reto Bachmann-Gmür <[email protected]
wrote:
On Wed, Mar 27, 2013 at 10:06 AM, Rupert Westenthaler <
[email protected]> wrote:
Hi Rafa,
On Tue, Mar 26, 2013 at 5:12 PM, Rafa Haro <[email protected]> wrote:
Dear all,
We have recently released a new version of our Java Apache Stanbol
Client
(https://github.com/zaizi/**apache-stanbol-client<https://github.com/zaizi/apache-stanbol-client>).
The project
intention is
to ease Apache Stanbol integrators to use Stanbol in their Java
projects.
The tool covers almost the full REST API for the following Stanbol
components: Enhancer, ContenHub, EntityHub and Sparql.
Looks great! Would be really cool to have this in Stanbol!
Did you see my email? I agree it looks good but I think our API should
look good in general and that you should be able to use the same nice
interfaces to access the data both directly in the same vm as the
services
as well as remotely. In some cases it makes sense to have a façade to
make
the interface easier but in this case the question why the façaded
interface has to be complex in the first place.
Cheers,
Reto
best
Rupert
If anyone is interested on use it for his own projects, it would be
great
for us to have some feedback, suggestions, improvements.....We also
encourage all of you to participate in its development if you find it
useful.
Regards!
--
------------------------------
This message should be regarded as confidential. If you have received
this
email in error please notify the sender and destroy it immediately.
Statements of intent shall only become binding when confirmed in hard
copy
by an authorised signatory.
Zaizi Ltd is registered in England and Wales with the registration
number
6440931. The Registered Office is 222 Westbourne Studios, 242 Acklam
Road,
London W10 5JJ, UK.
--
| Rupert Westenthaler [email protected]
| Bodenlehenstraße 11 ++43-699-11108907
| A-5500 Bischofshofen
--
------------------------------
This message should be regarded as confidential. If you have received this
email in error please notify the sender and destroy it immediately.
Statements of intent shall only become binding when confirmed in hard copy
by an authorised signatory.
Zaizi Ltd is registered in England and Wales with the registration number
6440931. The Registered Office is 222 Westbourne Studios, 242 Acklam Road,
London W10 5JJ, UK.
--
------------------------------
This message should be regarded as confidential. If you have received this
email in error please notify the sender and destroy it immediately.
Statements of intent shall only become binding when confirmed in hard copy
by an authorised signatory.
Zaizi Ltd is registered in England and Wales with the registration number
6440931. The Registered Office is 222 Westbourne Studios, 242 Acklam Road,
London W10 5JJ, UK.