Я бы сказал, что вам обычно не нужно определять, работаете ли вы в портлете или в автономном приложении. То, что вам нужно, это URL-адреса для взаимодействия. И вы должны позволить разработчикам рассматриваемого приложения предоставить правильный URL-адрес для связи - будь то URL-адрес портлета или URL-адрес сервлета. И / или, может быть, какое-то сопоставление для имен полей или пространств имен - но это все.
Сократите все различия между этими двумя средами настолько, что они представляют собой только некоторые данные - тогда вы можете получить данные, сгенерированные до того, как код скрипта будет доставлен в ваш браузер.