A way to integrate Alfresco in any portal is to create WebScripts and expose all as portlets using a configuration. This scenario works only if you have deployed Alfresco in the same application server of the portal. Alfresco provide a PortletWrapper for WebScripts, to expose an Alfresco Webscript as a portlet you can use this class in Alfresco:
org.alfresco.web.scripts.portlet.WebScriptPortlet
WebScriptPortlet must be used as the portlet class in your portlet.xml.
You have to implement your standard Alfresco WebScript, then if you need to expose it as a portlet you must to add a snippet on Alfresco portlet.xml to set authenticator correctly for your portlet container.
I have posted a reply on a similar subject with an example and snippet code:
Otherwise, if Alfresco is running on a different application server, you can develop your own portlet contacting Alfresco using one of the exposed APIs available (SOAP, REST and CMIS).
I suggest you to take a look at my book Alfresco 3 Web Services that shows you how to contact Alfresco remotely and how to create your own WebScripts.