Starting with alfresco and interacting from my java application with it
I just started using Alfresco. I downloaded the CE 5.2 version and installed it on my local server to start playing with it.
On the other hand, I have a java application with which I would like to interact with Alfresco (upload and download files, folders, manage them, etc). I downloaded this project https://github.com/Alfresco/alfresco-client-sdk to learn more things.
Now is when my doubts come. To interact with alfresco from java, what is the best way? In the example project, it is done by alfresco api (alfresco-client) although it is in beta.
But, searching, I have seen that many sites use CMIS (openCMIS), but I can not see clearly the differences or advantages of using one with respect to another. I know the basic concepts of each one (and I image that, for certain things, one would be better than the other), but when it comes to putting them into practice, I'm not so sure about it.
Could someone guide me on where to go for the requirements I need that I mentioned at the beginning?
I am not sure if I should have to focus on developing my application with alfresco-client, with openCMIS or even other that I do not know yet.
Re: Starting with alfresco and interacting from my java application with it
Typically you'll end up using both the CMIS and Public REST APIs. CMIS is an industry standard API allowing you to write connectors that are not as tightly bound to Alfresco as its custom APIs. The reality is that in various cases, CMIS will not be sufficient and you'll complement its use with the Public REST API to fill in gaps.
With the new v1 REST API though, you can also opt to go all-in with only using the REST API. The client SDK is just a library wrapping that API to help you get started - I personally have not used it yet and can't say anything regardings its quality or potentially opinionated implementation.