Изначально Liferay был написан на EJB 2.0. Это были времена, когда Liferay был маленький, а EJB — большими и тяжелыми. И это было неудобно.
Затем Liferay переехал на Spring, который тоже был маленьким и быстрым, и стало хорошо. Но время шло. Spring не позволял решать те задачи, которые стояли перед платформой, поэтому Liferay стал обрастать «костылями».
Сейчас к выходу планируется Liferay версии 7.0, основным изменением в котором будет переход на OSGI. В этом докладе я расскажу о том, как мы применяли различные технологии и решения в нашем новом продукте и какие при этом были сложности.
- Взаимодействие между различными портлетами (плагинами). До OSGI это были отдельные web-приложения (war-ники) — и взаимодействие между ними организовывалось через «костыли».
- Внесение изменений в ядро системы. Если раньше это делалось при помощи набора различных хуков, то после перехода на OSGI изменения стали проводиться «естественным» образом, так как сама эта технология предназначена для разработки не «монолитных» решений, а модульных, состоящих из набора модулей (плагинов).
Алексей Какунин, EmDev
Руководит компанией EmDev, партнером Liferay в России, которая занимается разработкой и внедрением порталов на Liferay.