Download PDF
Case Studies > MS Learning & Consulting: Enhancing Development Efficiency with JRebel and Liferay

MS Learning & Consulting: Enhancing Development Efficiency with JRebel and Liferay

Technology Category
  • Application Infrastructure & Middleware - Data Exchange & Integration
  • Application Infrastructure & Middleware - Middleware, SDKs & Libraries
Applicable Industries
  • Education
  • Professional Service
Applicable Functions
  • Business Operation
  • Product Research & Development
Use Cases
  • Remote Collaboration
Services
  • Software Design & Engineering Services
  • System Integration
The Challenge
Muhammed Shakir, the CEO/Founder of MS Learning & Consulting, faced significant delays in the development process due to the need for frequent redeploys. The application, which has a presentation layer and a web service layer, is hosted on Tomcat 7.x. The presentation layer is JQuery-based and interacts with Java components that make web service calls. The web service layer runs in a separate module and war file. Each time a change was made to a .java file in Eclipse, the context was reloaded, creating a new instance of WebAppClassLoader. This new instance did not contain the objects of class Class that held the bytecode of the classes used by the application, leading to a 'classloader hell' situation. This issue was exacerbated by the fact that Muhammed preferred a step-by-step coding and testing approach, which required frequent redeploys, further increasing the overhead and turnaround time.
About The Customer
MS Learning & Consulting is a 17-year-old company specializing in consulting and training. The company spends around 8-10 days a month on training in areas such as Java Concurrency, Java Performance, and Liferay. The consulting work focuses on development and architecture best practices, including code reviews and architecture POCs. Muhammed Shakir, the CEO/Founder, has over 17 years of industry experience and is also an application developer. He designed and developed the portal for the company's website, which provides a wealth of course content and learning materials. The education platform uses Liferay, which Muhammed has been customizing and configuring for years, giving him a significant advantage in tuning the platform.
The Solution
To address the issue of frequent redeploys and the resulting delays, Muhammed implemented JRebel in the presentation layer of the application. JRebel allows for instant reloading of changes made to Java classes without the need for a full redeploy, significantly reducing the turnaround time. However, JRebel was not initially used in the web service layer. Muhammed is keen to implement pattern-matched includes/excludes to use JRebel in the web service layer without reloading the code generated by Liferay every time. This would further streamline the development process and reduce the overhead associated with frequent redeploys. By using JRebel, Muhammed can continue his preferred step-by-step coding and testing approach without the significant delays previously experienced.
Operational Impact
  • The implementation of JRebel in the presentation layer has significantly reduced the turnaround time for making changes and testing them.
  • Muhammed can now continue his step-by-step coding and testing approach without the significant delays previously experienced.
  • The use of JRebel has streamlined the development process, allowing for more efficient and productive coding sessions.
Quantitative Benefit
  • Build time before JRebel: 20 seconds
  • App redeploy time before JRebel: 2 minutes
  • Amount of turnaround time spent per hour, per developer: 30-35 minutes

Related Case Studies.

Contact us

Let's talk!

* Required
* Required
* Required
* Invalid email address
By submitting this form, you agree that IoT ONE may contact you with insights and marketing messaging.
No thanks, I don't want to receive any marketing emails from IoT ONE.
Submit

Thank you for your message!
We will contact you soon.