Although as of now Alfresco is recommending to use CMIS API's to interact with Alfresco repo. You can have any typical webapplication where in the backend you can use CMIS to interact with alfresco repository. It provide flexibility to use language of your choice as well. http://wiki.alfresco.com/wiki/CMIS