cancel
Showing results for 
Search instead for 
Did you mean: 

Choosing of Foundation Services API vs Webservice vs RMI api

mzafer
Champ in-the-making
Champ in-the-making
Hi,

We are planning to develop a webapplication using alfresco. Since we need to develop our own Web UI, I was wondering what alfresco api is the best to use. The foundation services api give more control and tighter integration but donno whether it will be good choice in a clustered alfresco environment.  Opinions from users of Webservice and RMI apis would help.

Basically we want to start with a installation where all the Web application and the repository will be bundled into a single application but later we should be able to go for a clustered installation. So I want to know what is the api best for this, and whether there is any missing functionalities etc.. in these apis or does all of them support all the functions.

Thanks
Mohamed
2 REPLIES 2

rdanner
Champ in-the-making
Champ in-the-making
Hi,

We are planning to develop a webapplication using alfresco. Since we need to develop our own Web UI, I was wondering what alfresco api is the best to use. The foundation services api give more control and tighter integration but donno whether it will be good choice in a clustered alfresco environment.  Opinions from users of Webservice and RMI apis would help.

Basically we want to start with a installation where all the Web application and the repository will be bundled into a single application but later we should be able to go for a clustered installation. So I want to know what is the api best for this, and whether there is any missing functionalities etc.. in these apis or does all of them support all the functions.

Thanks
Mohamed

This is something I used to worry about.  I dont think you should struggle with the choice too much.  Make an API between your application and whatever repository you choose to use.  Under that you can adapt to whatever system you want.  Alfresco native,  Alfresco Web Service, RMI, JCR, JCR-RMI, etc.

I tend to like the JCR adapter because I can back it up to other JCR implementations to search out implementation bugs.  You still need the same model (JCR doesnt help in terms of standard models)  The thing is JCR is not the best API, there are a lot of shortcomings. 

Remember you can mix and match.  You can decorate JCR with Alfresco native functionality if you need to consume a particular alfresco specific service.

It all depends on how immediately portable you want to be.  Puting the interface and implementation adapter in between your application and alfresco is the first step to plug-ability.  Beyond that its just a question of determining if there is value in a given standard or not.  Value in a given proprietary API or not.

If you look at the wiki there is an section that compares a number of the APIs.  I think its called "is JCR-RMI right for me?"  You might get some insight there.  You may wish to add your insight to that article as you learn more about what the different options offer.

The most important thing is that we have options and that we have patterns we can rely on to allow us to choose one option today and another option tomorrow.

-R

mzafer
Champ in-the-making
Champ in-the-making
Hi Russ,

Thanks for the response.  The API to seperate the application and the repository is already factored in our design.  The main concern is the feature set that  each of the alfresco API's support, and also the performance, portability implications of using them. I could not find the Wiki page you mentioned. I'll spend some time digging into the feature set that each of these API's support.

Thanks
Mohamed