DevOps became necessary tool/approach in developer and sysadmin life. Most of companies introduced or will introduce own mechanisms to automate internal software processes. There are many programs that simplify and automate software development, delivery and integration. Combination of DevOps tools (for example Docker, Git, Jenkins, Bamboo, Bash scripts, Nagios etc.) can minimize human effort.
What is docker?
Docker containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This guarantees that the software will always run the same, regardless of its environment.
There are so many advantages using Docker, one for example is that the new members in a development team can easily build a local environment without spend a lot of time. With this in mind, this article shows how to build a MySQL and Liferay DXP development environment with Docker.
A new major version of Liferay has been release past May with a lot of new features. One of the most important is related to plug-ins architecture. Basically Liferay is a web application running in a Java EE application container where plug-ins were built as separate web applications. But DXP introduces a module framework based on the OSGi architecture.
But… What it is OSGi? As defined by OSGi Alliance (the organization in charge of this specification): The OSGi technology is a set of specifications that define a dynamic component system for Java. These specifications enable a development model where applications are (dynamically) composed of many different (reusable) components. As the aim of this article is not the OSGi architecture but how it is implemented within Liferay, we are not going to deepen in OSGi specification. In fact, you do not need to be very familiar with all the OSGI architecture for develop plug-ins for Liferay DXP. You only need to understand this 2 concepts: modules and components.
- Liferay MVC Portlet framework: a simple, lightweight and easy to understand framework for portlets development. Using this framework, we can manage easily portlet lifecycle and all the requests that it can serve. This is an alternative to third party frameworks such as Spring MVC Portlet, Struts or JSF.
- Service Builder: using this tool, you will be able to build in an easy way persistence and service layer for your application. This tool is used by Liferay in order to implement its own portlets.