Updated: Changes to Java JDK and impact to Building Blocks in Learn SaaS

Discussion created by wweichel on Feb 11, 2019
Latest reply on Jun 12, 2019 by heather.crites

Updated 10 June 2019


To address recent changes in Oracle’s Java support model, Blackboard Learn is transitioning to adopt the latest version of OpenJDK as it’s released. Our new target for adopting Java 11 is 3700.7.0, which is scheduled for SaaS Continuous Delivery release into test on 16 July 2019 and into production on 8 August 2019. Dates may be adjusted, so confirm with the SaaS release schedule.


As with prior Java version changes, it is generally expected that Building Blocks will continue to work as-is. However, Java 9 onwards has significant changes to library management and class reflection which has required numerous changes to the Learn application. In Technical Preview testing, clients and partners found issues with a portion of Building Blocks. Not all Building Blocks have been affected, but the volume is significant enough that we encourage all clients and partners to test their Building Blocks for compatibility.


For developers, partners, and institutions, testing Building Blocks for compatibility is highly recommended because libraries may have changed. For developers, recompiling Building Blocks using the updated Java libraries is also a best practice and should be performed for Java 11. Partners and clients can access early builds of Learn with Java 11 by requesting to join the Learn SaaS Technical Preview program.


We previously announced this change to Java 11 to be part of Blackboard Learn release 3600.0, scheduled for April 2019. Later, we'd communicated a new target of June 2019. Based on the results of testing with Technical Preview participants and our partners, we concluded that Java 11 adoption should be delayed further. This update announces our new target for production to be in 3700.7.0 for SaaS Continuous Delivery. Java JDK is a set of common libraries on which the Learn application runs.


Impact to Self- and Managed-Hosting deployments


There aren’t significant changes for self-hosted and Managed Hosting environments with the exception of frequency of Java JDK version changes and access to JDK security updates.

As before, supported Java-version changes will occur with specific Learn-version changes. When upgrading to a specific release of Learn requiring a new version of Java, it is recommended to test Building Blocks, just as with prior Learn releases where supported Java versions changed. There is no impact to 9.1 release plans for this year--as before, there are two releases planned this year: 9.1 Q2 2019 and 9.1 Q4 2019. Release notes and support bulletins will clarify which release of Learn 9.1 has Java 11 support. Release 9.1 Q2 2019 will continue to use Java 8. We are presently targeting for Java 11 support to be part of Release 9.1 Q4 2019.

One change for self-hosted clients announced previously is that security updates for Java JDK will be made available on Behind the Blackboard rather than on Oracle’s website due to a licensing agreement between Oracle and Blackboard made on behalf of Blackboard Learn clients.



Frequently Asked Questions


How do I get access to an early build with Java 11 so I can work on development and testing?

You can get access to builds by requesting to join the Learn SaaS Technical Preview program. The program is open any client, partner, and developer and isn't restricted just to SaaS users. The title of the program reflects that the testing builds are SaaS-targeted builds, but these same Java 11 changes will eventually become part of an upcoming Learn 9.1 installer so the builds are appropriate for testing.

What actions will Blackboard take if a critical Java security issue is identified prior to a Learn release compatible with an updated version of OpenJDK?

We would triage, mitigate, and remediate the issue through our normal processes. Sometimes that means configuration or infrastructure changes that can be implemented for mitigation without changes to Java; other times software patches are required. If the remediation approach requires a Java update, this may require accelerating release of a new Learn version in SaaS. In this circumstance of accelerating a Learn update to accommodate an updated OpenJDK, this could mean moving forward upgrade option dates for SaaS Flexible Deployment Option (FDO) environments.

For Managed Hosting environments, this would follow our current practice—if the remediation plan requires software patches, upcoming maintenance windows would be leveraged and required downtimes communicated to administrators of affected environments.

For self-hosted environments, this would also follow our current practice—if the remediation plan requires software patches, appropriate extended support Java patch installers would be posted on Behind the Blackboard and a security bulletin posted encouraging the installation of the software patch.

I’m a Building Block developer. Can I wait until my SaaS test environment is upgraded to the new release before testing?

If you feel the design of your Building Block has a lower risk profile for changes to Java versions and you have the ability to quickly address any issues identified in a Building Block in the three weeks between a Learn release in test and production, you could wait. However, our results from early testing indicate that all Building Blocks should be recompiled and tested as soon as possible.

How can I avoid having to do frequent testing and recompiling of Building Blocks?

Because Building Blocks use Java APIs and run in-process with the application, they are inherently affected by changes to Java libraries. Going forward, Oracle will be releasing new versions of Java every six months rather than every few years. If you would like to avoid the overhead of maintaining Building Blocks through these frequent library changes, we encourage you to investigate our ever-expanding support for LTI and REST APIs to determine when it would appropriate for you to transition your solution to these integration frameworks that aren’t impacted by library changes.

What is the impact to Learn SaaS Flexible Deployment Option (FDO)?

Learn SaaS FDO releases always follow Learn SaaS Continuous Delivery releases, so the change for Learn SaaS Continuous Delivery also results in a delay to Java 11 for SaaS FDO. The release version and release timelines for FDO are still being determined but are presently targeted for sometime in Q4 2019. Please continue to monitor the SaaS FDO release schedule and release notes for details. Version 3700.0 (Q2 2019) will continue to use Java 8 and won't be affected by these changes to Java.


I’m a developer in the Open Innovation program. Am I impacted?

No. The Open Innovation initiative is intended to give any developer access to Learn environments for developing in our newer and standards-based integration frameworks—LTI and REST. The older, proprietary Building Blocks framework is not part of this program, so you aren’t impacted by Java changes. You can continue to access the latest Learn builds for development and testing through the Amazon Machine Images (AMIs) provided in the Developer Community.

What are the Oracle changes requiring a different approach for Java and Blackboard Learn?

Starting in February 2019, changes to Oracle’s Java support practices prevent access to critical security fixes on all but the most recent version of Oracle Java without an extended support contract. While this strategy aligns with the global trend toward cloud-based applications, it introduces change for products such as Blackboard Learn that has the option of shipped software installed and maintained by end users.

For Learn SaaS environments, OpenJDK updates will be incorporated into the standard SaaS version update lifecycle. For self-hosted and Managing Hosting environments where the supported Java version is specific to a particular release, Blackboard has entered into an extended support agreement with Oracle on behalf of these Learn clients.