(JDeveloper
12.1.3, WLS 12.1.3)
This
post is inspired from the original post by Andrejus Deploying ADF Applications as Shared Libraries on WLS.
I
tried to do the same thing but the only difference is that I tried to keep all
the code in one single ADF application.
I
think this will keep all code related to the whole application in one place in
source control, so maintenance will be easy.
This
will also eliminate the necessity of the SharedLib intermediate Application.
And
we can deploy the shared libraries changes individually without affecting other
parts of the application.
And
ofcourse these shared libraries can be accessed from a different ADF
application as well.
Departments
and Jobs ViewController projects are deployed as Shared ADF Libraries.
HRDashboard
project is the main project which will use the two libraries.
Create
2 Deployment profiles in Departments and Jobs ViewController projects as shown
below, one an ADF Library Jar profile and another WAR profile.
In
the HRDashboard Project, create a weblogic.xml deployment descriptor to add the
2 shared libraries we created above in the Departments and Jobs projects. The
names should be same as the WAR profile names.
Add
both the library jar files to the HRDashboard project.
Create
a WAR deployment profile for the HRDashboard project.
Remove
the Contributors for Departments and Jobs in the Library filters of the WAR
deployment profile.
Create
an EAR Application Deployment Profile by selecting only the HRDashboard WAR
deployment profile in Application Assembly.
Deployment
Sequence
1.
Deploy both the Departments and Jobs ADF Library profiles to build the JAR files.
2.
Deploy both the Departments and Jobs WAR profiles to the Weblogic
server as Shared Libraries.
3. Deploy the EAR profile to the Weblogic Server as a
standalone application.
Note : It looks like we have to Stop the main
Application in the Weblogic Console when we are redeploying any of the shared
libraries, otherwise it will not allow us to deploy the shared libraries. We
can start it as usual when the shared library deployment is completed.