Do you currently have a firstrun script?
If not you should look at creating one. Easiest thing to do is have your apps which you want to install after enrollment packaged and ready to go in the JSS. Give them all a custom trigger and reference them in your firstrun script
the policy to run this firstrun script could have the trigger of enrolment.
Java is a little tricky where it is a .app, so right click, show package contents and navigate to contents/resources. This should give you the JavaAppletPlugin.pkg. Add this to your JSS using casper admin.
We moved from a monolithic image a while ago and have a small firstrun script installing a few important apps such as java and antivirus so we can ensure they are on the machines and kept up to date.
The easiest way to do everything else is through self service. Just promote the use of self service, use the featured category and have your apps and updates available there.