Wednesday, October 30, 2013

Resolving "oracle.security.jps.wls.listeners.JpsApplicationLifecycleListener Class not Found" Exception

Issue:

Last week one of my customer reported that they are getting

'oracle.security.jps.wls.listeners.JpsApplicationLifecycleListener' Class not Found 

exception in Weblogic environment. They recently applied a patch and after servers are coming up but most of the applications or deployments were in 'Prepared' state. If you try to start them in Weblogic console you will receive the above error.

Cause:

StartScriptEnabled property in nodemanager.properties file was set to 'false'. This must set to 'true' if you are going to start your managed servers using Weblogic console.

Solution:

Simple change the StartScriptEnabled=true in nodemanager.properties file which is usually at WL_HOME/common/nodemanager/ in my case /opt/ora/idm/middleware/wlserver_10.3/common/nodemanager

Restart the managed server using weblogic console

Note: You might not get this issue if you always start servers using command line. 

Have a nice day,
Zeeshan
@baigsorcl

Monday, October 21, 2013

Book Review: Developing Web Applications With Oracle ADF Essentials

Greetings,

Here is my review of Sten E. Vesterli latest book "Developing Web Applications with Oracle ADF Essentials".



Where to get the book

  1. Packt Publishing
  2. Amazon

About the Author (In my words)

Sten Vesterli is one of the ADF Gurus who contributed to ADF community a lot. He is frequent presenter at global Oracle conferences like Oracle Open World, ODTUG Kscope, IOUG Collaborate and I have always enjoyed his style of presenting and writing. This book is 2nd book by Sten on ADF you can reach him on his website http://www.vesterli.com/ and Twitter www.twitter.com/stenvesterli

Introduction:

The book is focused on the FREE version of Oracle ADF called 'ADF Essentials' it contains 8 chapters and about 270 pages.

The book takes an example of building a small application and covers a most of the life cycle of  ADF Essentials development. The key highlight for me the author is using MySQL database, Glassfish server and Apache Shiro for security. (Security is not part of ADF Essentials license which requires you to work with open source security solutions).

Chapter wise Review

Chapter 1: My First ADF Essentials Application

First chapter will provide you step by step detail how to install and configure MySQL database, Glassfish server and setting up your development environment in JDeveloper. By end of this chapter you will be able to run a basic page developed in JDeveloper, deployed on Glassfish server using MySQL database.

Chapter 2: Creating Business Services

Second chapter is about working with a Model layer of ADF essentials. The business services as name suggest about setting up back end data model for your application. The author covered quite details about Entity objects, View Objects, View links, Associations and Application Module within a  context of example application. There are few best practices tips as well and some bugs fixing tricks.

Chapter 3: Creating Task Flows and Pages

Third chapter takes you to more interesting part of working with ADF essentials which is View Controller layer. View layer is where you develop pages and control the flow of your application. The author explained enough information to work with the best practices like templates, memory scopes and internationalization. By end of this chapter you will have a search page with a result table of your application.

Chapter 4: Adding Business Logic

Chapter four as name suggests about adding business logic in your application. The chapter includes topics with working with DML, database triggers, Java methods and Managed beans. There is a quite a lot java code there but it is relevant. At this point the example application is pretty much complete.

Chapter 5: Building Enterprise Applications

Chapter five talked about best practices and setting up your project for an enterprise application. This chapter answers most of the common FAQs for ADF newbies and guide you how to setup projects, version controls, how to make reusable libraries so you can share the code across teams and applications. In this chapter you will be merging all your code into one single master application.

Chapter 6: Debugging ADF Applications

In this chapter you will learn how to debug ADF application. What are best practices for using logging framework in ADF, JDeveloper and Glassfish server.

Chapter 7: Securing an ADF Essentials Application

Chapter seven is my favorite chapter. When ADF essentials came out, the missing security feature raised quite few questions in the community but this chapter gave you all what you need to do if you are building secure applications with ADF essentials. The chapter explains detail steps how to configure Apache Shiro with your application and using database table based user repository.

Chapter 8: Build and Deploy

The final chapter of the book talked about how to build and deploy your application using Apache Ant and other tools and what you need to know if order to deploy ADF applications successfully.

Final Thoughts:

I think this book provides a very good overview of what you can do with ADF essentials what are limitations and how to overcome on it.  This details not only valid for ADF essentials but also works with full version of ADF. 

I find this book could be a great help for who are just going to start ADF development.

Cheers,
Zeeshan Baig
@baigsorcl