All questions are based on Liferay best practices when developing for Liferay DXP.
Unless otherwise indicated in the question, assume a new Liferay installation with no additional plugins installed and no modifications to portal properties.
Blade CLI lets you create projects that can be used only with Liferay Developer Studio. True False Answer: False
Which of the following statements about OSGi are true? (Please select all correct answers.) A. An OSGi component is any Java class inside a bundle that is declared to be a component. B. An OSGi component doesn’t have a lifecycle. C.A service is an OSGi component registered to the OSGi container's service registry. D. Declarative services (DS) is a service that handles OSGi dependency injection and allows you to publish, find, and bind services based on XML metadata and annotations. E. An OSGi component cannot be stopped. Answer: A, C, and D
Which command do you need to execute to close the connection to the Gogo Shell without shutting the OSGi container down? A. shutdown B. Exit C. Quit D. Disconnect Answer: D
Each topic will be a percentage of the test below.
Liferay 7.2: Setting Up the Development Environment
Liferay offers developers a platform and a comprehensive set of tools for building web applications.
Liferay 7.2: OSGi Basics
OSGi is at the center of Liferay's core technologies. Understanding OSGi concepts and architecture is paramount in Liferay development.
OSGi Components and Services
Liferay 7.2: Liferay OSGi Container
The Liferay platform is built on OSGi technology: Liferay applications are OSGi applications, and the platform has an embedded OSGi container.
Working with Liferay Workspace
Manage Module Dependencies
Liferay 7.2: Managing OSGi Bundles
The Apache Felix project provides the Gogo Shell and Felix Web Console tools for bundle management.
Felixing Web Console
Liferay 7.2: Working with Portlet Modules
Liferay's user interface relies on portlets but not strictly on the standard portlet specification. Although there are many ways of building out your application's user interface, using the MVC pattern along with portlets as the implementation of the Controller and View Layer is still the essence of Liferay development.
Java Standard Portlet
Liferay MVC Portlet Module
Liferay 7.2: Real-World Applications
A real-world Liferay application can make use of Liferay's time-saving tools and frameworks.
Liferay Service Builder
Liferay 7.2: Platform Architecture
Liferay is compliant with many industry-proven standards.
JSF (JSR-127, JSR-314, JSR-344)
JAX-WS and JAX-RS
General Data Protection Regulation (GDPR)
Liferay 7.2: Extending Liferay's Schema
As a developer, you may sometimes want to add a persistable and manageable attribute to an existing Liferay data model.
Liferay 7.2: Customizing the Service Layer
All Liferay core services have been designed and generated with the Liferay Service Builder pattern, which automatically generates service wrapper APIs for both remote and local service variants.
Override OSGi Service References
Liferay 7.2: Override Controller Actions
All Liferay platform applications are portlets. MVC Commands are portlet lifecycle handlers that implement the MVCCommand interface and are used to break up the controller layer into smaller and more manageable code entities. Although the Apache Struts MVC framework is being replaced with the MVC Commands in Liferay, the platform is still using the framework for some of the native functionalities like portal login and logout.
Override MVC Commands
Override Struts Actions
Liferay 7.2: Catch Portal Events
Lifecycle event listeners are OSGi components that implement the LifecycleAction interface.
Catch Portal Lifecycle Events
Intercept Events with Model Listeners
Liferay 7.2: Liferay Message Bus
Liferay Message Bus (LMB) is a service-level API for exchanging messages inside Liferay.
Liferay Message Bus
Liferay 7.2: Customizing Portal Search
Liferay has an extensive search framework. Customization can be done on all layers, from the user interface to the indexing process and index settings.
Basic Search Concepts
Indexing and Searching
Preparing for the Exam
Achieving recognition as a Liferay Certified Professional Back-End Developer demonstrates that you understand core concepts for developing Liferay modules and know how to follow Liferay best practices to develop robust, elegant, and maintainable solutions based on the Liferay Platform. The exam is designed to be challenging, yet fair for Liferay developers. Here’s how you can succeed:
This exam is based off of the Liferay Training course Back-End Developer.
Attend the Back-End Developer training course. Attending training is not required before you sit for the exam, but much of the exam material is based on concepts covered in training.
Review additional source material. Liferay Developer Network is an amazing complementary source of information for the exam.
Get hands-on development experience. Some of the topics covered on the exam require the kind of knowledge that comes from real experience developing for the Liferay Platform. If you have attended a developer training, be sure you've completed and reviewed all of the exercises presented during class, even the bonus exercises. If you haven't attended training, spend some time developing applications and customizations. It would also be helpful to review Liferay’s source code to ensure you're familiar with Liferay's best practices.