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.
>

Reply via email to