Ausoug glassfish perth


Published on

This presentation will take you on a journey to better understand this quiet, shy and unassuming member of the Oracle family and ask the question: Should you consider Glassfish for your Production environment?
Presented at AUSOUG Perth 2013 Conference by Andrew Rosson from Lansen.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Apache Tomcat and GlassFish are used in same types of project. Both are positioned as fully functional yet lightweight alternatives to the classic heavy application servers. Although Tomcat is popular but, GlassFish is growing in popularity in that market share.JBoss, Oracle Weblogic and IBM WebSphere compete for pretty much the same market segment. The majority of their projects are large and complex, and you will see their redeploy times reflect that.
  • The average redeploy time is 4 times an hour.So, if a developer spends about 10.5 minutes an hour redeploying, this is about 17.5% of total coding time. Or 5.3 40-hour workweeks per year are spent exclusively redeploying and restarting.
  • Ausoug glassfish perth

    1. 1. Glassfish & WebLogic Sibling Rivalry? Andrew Rosson – Solution Director - Middleware Lansen
    2. 2. Agenda 1. The Oracle stables 2. Comparison debate 3. Conclusions
    3. 3. Takeaways from today. • Glassfish is true contender and a sensible choice for Java development environments. – What helped? Clustering from v3.1 onwards. • WebLogic is Oracle’s Application Certified Server of choice to support the applications portfolio and the Fusion Middleware Stack. • GlassFish has a community (free) edition.
    4. 4. Lansen Middleware 1. Java Application Servers 2. Unstructured Data 3. Application Development Product Specialties • • • • Oracle WebLogic, Oracle Glassfish, Oracle jRockit JVM, Oracle HotSpot JVM ____________________________________________ Lansen has a number of engineers who focus on this area and ensure the establishment, tuning and maintenance of the WebLogic or Glassfish application servers is done correctly and is aligned with the performance and architectural expectations of each customer.
    5. 5. Loads of choices…
    6. 6. The Two Adopted Brothers
    7. 7. Not Born of this House “The rivalry is with ourself. I try to be better than is possible. I fight against myself, not against the other.” Luciano Pavarotti
    8. 8. Origins – The Oracle Stable • Oracle Application Server 10g, – Formally Orion • Oracle Weblogic 11g, 10.3.6 – Formally BEA • Oracle Glassfish 3.1 – Formally SUN
    9. 9. Market Share 2013 • WebLogic up from 10% in 2011 • Glassfish up from 8% in 2011 Source:
    10. 10. Glassfish4 - Released mid-2013 Oracle announced the availability of GlassFish Server Open Source Edition 4, the world's first Java EE 7 compatible application server. • GlassFish Server Open Source Edition 4.1 is scheduled for 2014 • GlassFish Server Open Source Edition 5 is the foundation for the Java EE 8 reference implementation “The primary role of GlassFish Server Open Source Edition has been, and continues to be, driving adoption of the latest release of the Java Platform, Enterprise Edition.” November 4th Update from Oracle. • Oracle will no longer provide GlassFish commercial support • Commercial Java EE 7 support will be provided from WebLogic Server • Oracle GlassFish Server will not be releasing a 4.x commercial version
    11. 11. Comparison Points • • • • • • Download Architecture Administration & Configuration Deploy applications Performance Cost and Licencing
    12. 12. Download • The download size differences are dramatic. 87Mb 1Gb Glassfish ZIP Generic WebLogic 11g JAR 97Mb 880Mb Glassfish 4.0 ZIP Generic WebLogic 12c JAR 182Mb Generic WebLogic 12c ZIP
    13. 13. Architecture - WebLogic • A machine is a virtual representation of the host. • Servers have their own directory structure • Applications are deployed from the $ServerName/stage directory into the onto the $ServerName/tmp/_WL_user directory Managed Server 1 Deployed & Runtime apps Admin Server With Domain Config Managed Server 2 Cluster Machine and Node Manager Domain
    14. 14. Architecture - Glassfish • The node directory is separate from the domain directory • Applications are deployed from the $domains/$DomainName/applications directory to the $nodes/$NodeName/$InstanceName/applications directory Domain Config changes Instance 1 Deployed apps Instance 2 Cluster Runtime apps Admin Server (DAS) Node Domain
    15. 15. Administration & Configuration • Both have Graphical UI’s. • Both provide a scripting interface. – Glassfish: asadmin – WebLogic: wlst
    16. 16. WebLogic Administration
    17. 17. Glassfish Administration
    18. 18. Administration & Configuration
    19. 19. Scripting tools
    20. 20. Scripting tools [oracle@inpergf1 bin]$ ./asadmin Use "exit" to exit and "help" for online help. asadmin> list-domains domain1 not running Command list-domains executed successfully. asadmin> exit wls:/wcuat01_domain/serverConfig> nmEnroll(domainDir='/u02/projects/domains/wcuat01_domain',nmHome ='/u01/app/middleware/wlserver_10.3/common/nodemanager') wls:/wcuat01_domain/serverConfig> exit()
    21. 21. Glassfish asadmin Utility [oracle@inpergf1 bin]$ ./asadmin Use "exit" to exit and "help" for online help. asadmin> list-domains domain1 not running Command list-domains executed successfully. asadmin> asadmin> start-domain domain1 Waiting for domain1 to start ........ Successfully started the domain : domain1 domain Location: /u01/app/glassfish3/glassfish/domains/domain1 Log File: /u01/app/glassfish3/glassfish/domains/domain1/logs/server.log Admin Port: 4848 Command start-domain executed successfully. asadmin>
    22. 22. Glassfish asadmin Utility asadmin>deploy --user admin -W /tmp/admin_password.txt --target some_cluster --force true /var/some/project/application.ear Application deployed with name application Command deploy executed successfully. asadmin> asadmin>create-jdbc-resource --user admin -W /tmp/admin_password.txt -connectionpoolid jdbc/poolName --enabled true jdbc/jndiName domain1 Successfully created the jdbc resource: jdbc/jndiName Command create-jdbc-resource executed successfully. asadmin> asadmin> stop-domain domain1 Waiting for the domain to stop .... Command stop-domain executed successfully. asadmin>
    23. 23. Admin & Config – Our findings Admin tasks. We use the asadmin utility 90% of the time. Jenkins: CI remote deployment easier than WebLogic Easy to set-up security realms • JDBC authentication way easier than WLS
    24. 24. Deployment At Lansen we use a “Continuous Integration” automated deployment approach. An automated build compiles the code, runs the tests, and does anything that regularly needs to be done as part of the project’s build process.
    25. 25. Deployment – How often? Average redeploy time. 4 times an hour. A developer spends 10.5 minutes an hour or 17.5% of total coding time – Redeploying!! 5.3 40-hour workweeks per year are spent exclusively redeploying and restarting. Source:
    26. 26. Deployment – How long? • WLS average redeploy time is 6% longer than Glassfish. • The choice of application server correlates to the time spent redeploying, – bigger application servers are not slower, – bigger applications influence the choice of application server.
    27. 27. Deployment – Our findings ADF via jDeveloper • The deployment to WebLogic is smoother and overall quicker. Assisted with the Iterative Development page refresh utility. • The same app needs to be “ear-ed” and then deployed to Glassfish each time we change anything. • Makes CSS skinning and layout positioning very challenging. • There must be a PermGen size leak as we need to do a complete bounce of GlassFish @ each 5th deployment attempt. Java Application .ear or .war (not ADF) • Glassfish deployment is great for non-ADF deployments. High Availability • No side-by-side/rolling deployments option in GF.
    28. 28. Performance Andrejus B’s ADF Performance Results • “ADF Essentials is certified on Glassfish server so we can run performance tests and compare ADF runtime performance on both Glassfish and WebLogic.” • Spoiler Alert** ADF runs faster on Glassfish server. “Probably because Glassfish server is much lighter compared to WebLogic and in turn executes the ADF runtime faster.” Source:
    29. 29. Performance – Benchmark Test The ADF application contains two tabs. Stress test is recorded for each user to 1. navigate through records, 2. go to last/first record, 3. open long list LOV for Album Id Source:
    30. 30. Performance - Benchmark Results • 25 concurrent users. • Glassfish: 0.8 seconds in average • WebLogic: 1.4 seconds in average Source:
    31. 31. Performance – Benchmark Results • 50 concurrent users. • Glassfish: 8.7 seconds in average • WebLogic: 17.2 seconds in average Source:
    32. 32. Performance – Our findings His results show WebLogic to be 2 x slower than Glassfish when running the same ADF application. Our tests. • We have not noticed such bad WLS results. • WLS: We manage consistent <2 second page times • GF: Closer to <4 seconds – Our GF cluster was not as substantial as our WLS one – It was also not optimized and highly tuned
    33. 33. Cost & Licensing No FMW products are certified with Glassfish. Glassfish Community Edition: $Free GlassFish 4: $5000.00 / per CPU (List) Update Nov 4th: Now not available!! WebLogic EE: $25000.00 / per CPU (List)
    34. 34. Conclusions Could you use WebLogic on your desktop and Glassfish in Production? Should you consider Glassfish for pure java projects? Should you consider Glassfish for your Production environment?
    35. 35. Glassfish asadmin Utility