1. A method for dynamically managing a plurality of applications on a data processing system, the method comprising: providing, by the data processing system, an active session in the data processing system; monitoring, by the data processing system, an activity of an application in the active session to determine a current application usage pattern of a user; generating, by the data processing system, a predictive application usage pattern of the user based on comparing the current application usage pattern of the user in the active session to a historical application usage pattern of the user associated with one or more previous sessions; launching, by the data processing system, one or more applications automatically in the active session based on the predictive application usage pattern of the user to form a plurality of applications in the active session; and closing, by the data processing system, one or more of the plurality of applications in the active session based on one or more predetermined closing characteristics based on the predictive application usage pattern of the user.