Выполнение портлета с помощью Java/Groovy очень удобно с помощью Spring Portlet MVC. Я использовал пример кода из разных источников год назад, но googling на нем даст вам более современные примеры и позволит вам выбрать что-то более применимое к вашему приложению. Реальная проблема связана с тем, как вы планируете создавать свое приложение. Gradle - лучший вариант для написания веб-приложения Groovy.
Однако, если вы говорите об использовании Grails, то это становится намного сложнее, и я бы не советовал изучать Grails, поскольку вы пытаетесь заставить его застрять в реализации портала. Есть плагины для Liferay и «портлеты» в Grails, но когда я в последний раз смотрел на них в начале этого года, они не казались полностью испеченными.
Вызов служб REST с помощью JSON или любого другого с вашего кода сервера не должен заботиться о том, чтобы вы были на «портале». Большие проблемы возникают, когда вы пытаетесь создать пользовательский интерфейс с конкретными API-интерфейсами вашего портала. Не обманывайтесь, думая, что вы не будете использовать специфические для портала материалы. Мы использовали Liferay немного, и, с моей точки зрения, спецификация Portlet была очень тонкой, поэтому, чтобы сделать что-нибудь интересное на портале, вам нужно использовать некоторые специфические для порталов материалы, по крайней мере для пользовательских интерфейсов и служб аутентификации.
Итак, мое предложение - создать веб-проект Gradle Groovy и использовать примеры Java Spring Portlet MVC для получения чего-то, а затем вы можете упростить Groovy, поскольку это имеет смысл. Первоначально вы можете просто начать с Java, если это ваша зона комфорта, потому что интеграция с вашим порталом может быть достаточно сложной, не пытаясь выучить новый язык для загрузки.