{{Obsolete}}
This functionality was removed from Alfresco in 5.0.b.
The question here is: Is RMI the best approach for accessing the Alfresco repository. The short answer is, it depends, but probably not. Only consider using RMI when alfresco is integrated into a larger Java application suite that already uses RMI as a network protocol.
The following is a short description of the options. Consider what it is you are trying to accomplish and then choose the solution which best suits your specific needs.
There are many ways to programatically leverage the Alfresco repository:
The Alfresco repository API is a local Java based API for communicating with the repository. This interface is the most native interface for Alfresco connectivity. Use this interface when your application sits directly on top of Alfresco and is intimate with Alfresco implementation technology (Spring) and interfaces.
Pros
Cons
The Alfresco JavaScript API is a local API for communicating with the repository. This interface is the most native interface for Alfresco connectivity. Use this interface when your application sits directly on top of Alfresco and is intimate with Alfresco implementation technology (Spring) and interfaces.
Pros
Cons
Alfresco provides remoting capability through a web services API. The web services API is a strong option for distribution and scaling. The web services API is specifically designed to cut down on the amount of communication with the server making it an efficient way to remote. The strongest drawback to the use of the Alfresco web services API is the knowlege / coupling with Alfresco specific API.
Pros
Cons
I dont know anything about this interface.
The Alfresco JCR interface exposes the Alfresco repository behind a JCR compliant adapter.
The JCR interface can be aquired through spring interaction. The JCR interface is great because it allows an application to communicate with alfresco based on an industry standard. Realize that the JCR is not a standard for schema, its a standard the gives form around interfaces intended for interacting with a repository. JCR repositories are composed of the same basic building blocks but the contents/schema or structure depend on the intent of the repository.
The Alfresco JCR interface is a local interface. It can be aquired through Spring and I expect at some point the spring configuration will be extended to optionally bind the the JCR interface with JNDI.
Pros
Cons
The JCR RMI extention wraps the the Alfresco JCR implementation in a remoting layer (by leveraging Apache Jackrabbit), providing remote access to the Alfresco JCR api.
Pros
Cons
If you are drawn to the JCR RMI extention because you are looking for a standards based interface to program your application against; That is you don't want to couple your application with Alfresco interfaces, then keep your eyes on the up and coming iECM standards.
In the mean time choose Alfresco as your repository [why not everyone is doing it] and then choose the remoting technology the best meets your needs. You can always practice your object orientation and put an interface between your code and alfresco's web services or any one of the repository interfaces.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.