WebServices or PHP is another way. We also have various servlets if you want to retrieve content, templated content or execute various Alfresco javascript commands against the repository. Also a new introduction is the REST/WebScripts based API that started in 2.0 and is expanding a lot in 2.1: http://wiki.alfresco.com/wiki/REST We are building a lot of future, more simple UI against REST and WebScripts.