Message Boards

Liferay 7 support for Spring, Microservices, Clustering, Security

Dipak Ahuja, modified 3 Years ago.

Liferay 7 support for Spring, Microservices, Clustering, Security

New Member Posts: 7 Join Date: 7/22/20 Recent Posts
Hi Team,
Our of the application portal is built on Liferay 6.1 with Spring MVC Portlet. We would like to migrate our this portal to Liferay 7, however, we had following concerns:
1) Does Liferay provide OOTB support for the latest version of Spring and its all features (Swagger, Shedlock, Spring Security Annotations, and context) with annotations? Since we had faced many challenges while adopting the spring features in Liferay 6.1 Spring Portlet MVC.
2) What would be the right choice between Spring Portlet MVC or Liferay MVC (OOTB supported)? This question is related to (1).
3) Can we also use React/Angular as a UI framework in conjunction with Spring Portlet MVC in Liferay 7?
4) I read about Liferay 7 that supports the modularity for development but not for deployment as part of microservices architecture, right? Like the way, Spring Boot supports the Microservices architecture.
5) Where can I find the compatibility matrix for Liferay version 7.3 GA4? Since I could only see matrix has been provided for DXP, Commerce, and for a few CE (6.1 and 6.2) versions at - https://www.liferay.com/compatibility-matrix
6) Is there any known vulnerability in Liferay 7.3 CE version, since we had fixed many security items in the CE 6.1 version because we delivered it to a couple of banking vendors.7) We had set up the clustering for Liferay 6 using the help center guide, but I could not find the same for the CE 7+ version. Can you please help me to provide the reference URL for the same.
Thanks in advance.Cheers,
Dipak Ahuja
thumbnail
David H Nebinger, modified 3 Years ago.

RE: Liferay 7 support for Spring, Microservices, Clustering, Security

Liferay Legend Posts: 14919 Join Date: 9/2/06 Recent Posts
1. Yes, but it has a new name, https://liferay.dev/-/portletmvc4spring  Most of the time when someone says "we faced many challenges..." it typically means "we did not want to follow the 'liferay way' and went our own way, things didn't work out so well and we had no one to turn to for help..." so, as you move forward on your path, consider following the liferay way. Trust me, your road will be a lot less bumpier...

2. Either is fine, select the one that feels right to you. For me, I'm now basically 100% Liferay MVC because I do all of my stuff as OSGi services. However, if I had a lot of existing Spring code to work with, I'd probably lean towards Portlet MVC 4 Spring to leverage all of that. Both of supported, both will work, choosing (to me) depends upon how much spring baggage you have to carry.

3. React/Angular have nothing to do with how you've built out your backend services. These guys will invoke web service calls against the backend, so the backend can be Spring or it could be pure REST or Liferay Headless or even the old /api/jsonws entry points. I will say that if you follow the Liferay way for your web service endpoints, you'll find a lot more support and a lot more examples than if you go your own way, so do what you will with that.

4. Wrong. Microservices is a buzzword that means different things to different developers. Depending upon how you define it you may claim that Liferay does or does not fit the bill. I know that I can build and deploy web services into Liferay using Liferay Headless, pure REST, and /api/jsonws that I can consume by any JS-based frontend. And I can hot deploy my web services separately, without requiring container restart, and as long as I architect and organize my services properly, I can be as granular as I want to be.

5. There is no compatibility matrix for CE, but the basic rule of thumb is that it should work on any open source application container (tomcat and wildfly for example) and any open source database (mysql/maria and postgres, for example).

6. CE comes with no guarantees, but that's the nature of CE. If you want or need regular security fixes, you should be on DXP. If I were delivering a solution, especially to a bank, I would have them foot the bill for DXP so they would receive the added benefit of regular fixpacks, security releases and notifications, etc. If I were the bank and you were trying to sell me a solution based on CE, frankly I would laugh in your face and move on to the next vendor as it is a clear sign that you are more concerned about profit over delivering a secured and supported solution.

7. IIRC clustering support is back in CE, so the instructions for setting up should be similar to the DXP instructions.
Dipak Ahuja, modified 3 Years ago.

RE: Liferay 7 support for Spring, Microservices, Clustering, Security

New Member Posts: 7 Join Date: 7/22/20 Recent Posts
Thanks a lot David for the detailed response!