I have a website that uses Amazon Web Services(AWS) infrastructure. I wrote the entire back end code in java myself and have a front end as well. I have been advised to use Alfresco as public cloud backend to reduce development effort and quickly go to market. The web app is in java and uses struts with jQuery and javascript as front end components. I have the following questions:
-
Alfresco has a war file by itself. I’m kinda newbie to these things but how do i run two wars and connect the front end to Alfresco in the Tomcat server? Is that possible between, virtually, the two apps?
-
If i can separate the front end cleanly from backend of my existing app, how do i integrate it with Alfresco? Does the parameters for each of the struts Actions execute method sufficient for getting access to Alfresco or do i have to do something else? I know about CMIS and REST api calls but dont know which to choose. Does it work in an environment where there are two war files(Alfresco and my front end) running as two apps in Tomcat?
-
I use the website for storing documents. Do i have to keep my existing metadata table for documents or does Alfresco provide one such option without bandwidth and call overhead in AWS?
-
Is Alfresco SDK for community or enterprise edition same as Cloud API one?
I need to integrate my own front end to Alfresco because it has unique capabilities not found in Alfresco. Using scripting capability in Alfresco is not an option for me. I prefer asking these questions on Stack Overflow because i think i can get better answers than in Alfresco forums. I appreciate your thoughts.
Can you clarify what you mean by
I’m not sure whether you mean that you want to use Alfresco in the Cloud or whether you want to deploy Alfresco as a part of a cloud based service that you are providing yourself.
Alfresco in the Cloud provides a developer API that you should find useful for building content driven applications upon.
Alternatively if you want to deploy your own Alfresco repository instances you’ll find a rich set of services and APIs for building your own applications there as well. There are many books and tutorials on this subject as well as active forums.
If you want to manage content + metadata then Alfresco is a good choice for this – it is written specifically for managing content and metadata. You could reproduce some of this functionality yourself but Alfresco has a sophisticated type system, handles large files and has spent a lot of time sorting out the sort of problems you would encounter when developing these apps.
Addressing your numbered questions specifically…
alfresco.war is the repository application. If you are running your own front-end application from a separate war file then it can still communicate to the Alfresco repository via REST APIs and CMIS.
Please clarify you question regarding Struts actions. Regarding CMIS and REST, see answer to (1).
You would be advised to store metadata either in Alfresco or in your own storage mechanism – I don’t think there would be much point in running Alfresco if you don’t use its own metadata mechanism.
Alfresco SDK is for building against your own deployed instances of Alfresco, whereas the Cloud API is for building applications against the Alfresco in the Cloud “software as a service” model.