Hi all

After a hard fight this week, I managed to get it work the Florent's proof
of concept code in the Stanbol 1.0 branch [1]
The code is uploaded in my github account [3]. As I said in a previous
mail, I prefer to do it separately and after the project, uploading the
developed code into a Stanbol branch.

The 1.0.0 version has some changes in how the Jersey endpoints are
registered and also new classes and packages, so it was not a trivial task
to make work the current proof of concept. Moreover I don't like to simply
copy and paste code and make the needed changes. I always want to
understand how the things work and how they are developed in order to be
able to change/modify them or develop new code around them.

The steps done to achieve it have been the following:
- Updated pom files to the Stanbol 1.0.0-SNAPSHOT version
- Updated bundle levels in bundlelist package to fit the Stanbol 1.0
version levels
- Adapted cameljobmanager package code to Stanbol 1.0.0-SNAPSHOT classes
and using Java OSGI annotations instead of SCR annotations in Javadoc
- Updated flow web package to Stanbol 1.0.0-SNAPSHOT classes and modified
needed resources
- Added Java OSGI annotations to the route (WeightedChain) instead of SCR
annotations in javadoc
- Updated launcher to use the 1.0.0-SNAPSHOT packages and needed bundles

So now, the http://localhost:8080/flow endpoint will use the only Camel
route (defined by WeightedChain) to call all the registered Enhancement
Engines (ordered by EnhancementEngine order property).
For testing purposes, the /flow/{flowName} has been removed, because all
this code needs to be re-designed and re-implemented so I only wanted to
make it work to have a first (simple) integration in Stanbol 1.0. This
functionality will be added again to trigger custom routes once the next
step (defined below) is developed.

The next step [2] will be support to write and configure routes in XML
format, putting the file in datafiles in order to be loaded by a Felix
custom artifact (as Rupert pointed out in a previous mail) and create a
Maven archetype to create bundles defining routes which will be loaded
using the Felix bundle tab. If necessary, as we talked in previous
messages, a REST endpoint receiving routes in XML can be developed as an
alternative to the first approach. This is my objective for the midterm.

After the midterm, the new Stanbol components for Apache Camel will be
developed and also the new architecture for Camel in Stanbol.

Comments on this and for use cases for Stanbol Camel components are more
than welcome.

Regards

[1] https://issues.apache.org/jira/browse/STANBOL-1347
[2] https://issues.apache.org/jira/browse/STANBOL-1348
[3] https://github.com/adperezmorales/stanbol-camel-workflow/


On Tue, May 27, 2014 at 6:18 PM, Antonio David Perez Morales <
ape...@zaizi.com> wrote:

> Hi people
>
> I have already started to work on [1] to integrate current Florent's code
> into Stanbol 1.0.
> As a first approach, only changing the dependency versions to new Stanbol
> 1.0, many issues have arisen:
>  - Deprecated use of classes
>  - Classes which have changed from package
>  - Some classes not necessary now
>  - Classes not used which were causing conflicts
>  - ...
>
> So now I'm trying to resolve all these problems to replicate the same
> behavior from 0.9 into 1.0. I will upload the code to a Github repository
> in my account (which will be pushed later into a Stanbol branch after the
> project) in order to track the advances.
> Once I can resolve all these problems, I will take a look to the Felix
> Custom Artifacts poiinted out by Rupert in a previous message to find out
> the best way to deploy (and manage) route configurations (felix artifacts,
> watchservice java, rest endpoint to receive xml routes, etc).
>
> Comments on this and future tasks are more than welcome.
>
> Regards
>
> [1] https://issues.apache.org/jira/browse/STANBOL-1347
>
>
>
> On Tue, May 27, 2014 at 9:53 AM, Rafa Haro <rh...@apache.org> wrote:
>
>> Hi Rupert, Florent and Antonio
>>
>> El 27/05/14 08:51, Rupert Westenthaler escribió:
>>
>>  As the result of Enhancement Routes is content + metadata I can not
>>> see what you want to "store" in the Entityhub that is about managing
>>> Entities.
>>>
>>>  >  - entityhub: To query/update the entityhub component
>>>>
>>> Maybe. If you can come up with a good use case ^^
>>>
>>>  >  - contenthub: To develop a new content-hub using chain/engine
>>>> components
>>>> >and solr/elasticsearch/whatever component (solr and elasticsearch
>>>> component
>>>> >already exist in Camel)
>>>>
>>> IMO implementing a new Contenthub like component is outside the scope
>>> of this GSoC project. However If there is already Solr/Elasticsearch
>>> component it would be a really useful thing
>>>
>>>
>> Regarding this, in my opinion, the use case of an eventual integration
>> with a Content hub is probably one of the most clear for this project. I'm
>> not sure if that is what Antonio was trying to explain but, with a single
>> route using as last endpoint Solr or any other backend system, we would be
>> almost cloning the same functionality than the previous ContentHub
>> implementation (Stanbol 0.12). Entities could be dereferenced using the
>> EntityHub before storing the content along with the metadata, which is the
>> point of integration of the EntityHub in such use case. And even most
>> interesting, now with the integration of Marmotta contributed by Rupert, it
>> would be possible to use a whole graph for dereferencing, so "simply"
>> routing components like Enhancer->Marmotta->Solr sounds to me like an
>> interesting use case.
>>
>> wdyt?
>>
>> Cheers,
>> Rafa
>>
>
>

-- 

------------------------------
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 Brook House, 229 Shepherds Bush Road, 
London W6 7AN. 

Reply via email to