One recommendation is to implement two deployment locations: the actual location where all of the production forms are deployed and a temporary location for new deployments which is specified earlier in the FORMS_PATH. New or updated forms are deployed in the temporary location and then moved over to the main location during a time when no one will be using the application.
Example FORMS_PATH entry:
FORMS_PATH=C:\Oracle\Middleware\Oracle_FRHome1\forms;C:\app\forms_new;C:\app\forms
C:\app\forms_new would be an example of a temporary location where new and updated forms would go and C:\app\forms would be an example of the current live forms.
In this example, forms are deployed under C:\app\forms. When a new form needs to be deployed during working hours when the app is being heavily used, it is deployed under C:\app\forms_new. As new users connect or reconnect to a form, they connect to the new form under forms_new since it is earlier in the FORMS_PATH. Eventually no one is using the form under C:\app\forms, and during off hours, the form can be moved from C:\app\forms_new to C:\app\forms.
Transform Your Legacy Systems