1. A computer program product comprising computer readable instructions embodied on tangible media and operable when executed to: expose one or more application programming interfaces (APIs) providing one or more methods permitting a portal application to invoke a portlet via a portlet container, the portlet to run inside the portlet container, the portlet container separate and independent from the portal application; expose one or more service provider interfaces (SPIs) providing one or more services allowing the portlet container to obtain information about the portlet to be invoked by the portal application; expose an interface providing one or more methods to facilitate communication between the portal application and the portlet container during runtime of the portal application; and implement the one or more APIs, one or more SPIs, and interface during portal application runtime to allow the portal application to execute the portlet.