Old habits are hard to get rid off, and I still see long time users of JDeveloper (and also many new users) who are stopping/starting their application on the embedded WebLogic each time that they make a change or addition to their code.
Well you should stop it! (I mean stop stopping the application).
For a while now, JDeveloper has support for hot deployment that means that when you do most of the changes to your code you just need to do save-all followed by a rebuild of your viewController project - and that's it.
You can then go to your browser and reload your page - and the changes will be reflected there. This will not only save you the time it takes to undeploy and redeploy your app, it will also reduce the amount of memory you use since frequent redeployment of the app on the embedded WebLogic leads to bigger memory consumption.
In the demo below I use JDeveloper 12.1.3 to show you that I can just do the save->rebuild and pick up:
- Changes in the JSF file
- Changes to the JSF configuration file adfc-config.xml
- New classes that are added to both the model and viewController projects
- Changed to the ADF configuration files (pagedefs, data binding, data controls)
So for most cases, you should be covered with this hot-deployment capability.
There are some cases that will require a redeploy of the application (for example if you add a new skin css file, or if you change some runtime configuration of your app in web.xml) but for most cases you don't need to continue with the stop/start habit.
Leveraging Oracle Developer Cloud Service in SQL and PL/SQL Projects - lifecycle and team collaboration
Usually my demos are targeted at Java developers, but I realize that a lot of developers out there are not using Java, for example in the Oracle install base there is a huge section of PLSQL developers. This however doesn't change their requirements from a development platform. They can still benefit from version management and code review functionality. They still need to track bugs/issues and requirements from their users, and they still need to collaborate in a team environment.
So I decided to try out and see what would be the development lifecycle experience for a PL/SQL developer if they'll leverage the services provided by the Oracle Developer Cloud Service - here is a demo that shows a potential experience.
What you'll see in the demo:
- Using JDeveloper to create DB Diagrams, Tables and PL/SQL code
- Version manage PL/SQL and SQL with Git
- Defining a cloud project and adding users
- Check code in, and branch PL/SQL functions
- Tracking tasks for developers
- Code review by team members
- Build automation (with Ant) - and almost a deploy to the DB
As you can see it is quite a nice complete solution that is very quick to setup and use.
It seems that the concepts of continuous integration in the world of PL/SQL development are not yet a common thing. In the demo I use the Ant SQL command to show how you could run a SQL script you created to create the objects directly in the database - which is probably the equivalent of doing a deployment in the world of Java. However if you prefer you can use Ant for example to copy files, zip them, or do many other tasks such as run automated testing frameworks.
The Ant task I used is this:
<path id="antclasspath"> <fileset dir="."> <include name="ojdbc7.jar"/> </fileset> </path> <target name="deploy"> <sql driver="oracle.jdbc.OracleDriver" userid="hr2" password="hr" url="jdbc:oracle:thin:@//server:1521/sid" src="./script1.sql" classpathref="antclasspath"/> </target>
I had both the ojdbc7.jar file and the script file at the root of the project for convenience.
While my demo uses JDeveloper - you should be able to achieve similar functionality with any tool that supports Git. In fact if you rather not use a tool you can simply use command lines to check your files directly into the cloud.