Updated: Changes to Java JDK and impact to Building Blocks in Learn SaaS
Updated 23 January 2020 (minor corrections)
To address recent changes in Oracle’s Java support model, Blackboard Learn is transitioning to adopt a more recent version of Java, Java 11 JDK. Our new target for adopting Java 11, version 3800.0 was released for SaaS test/stage environments on 19 December 2019 and is targeted to be put into production as version 3800.2 for SaaD Flexibile Deployment Option (FDO) and version 3800.2 for SaaS Continuous Delivery in February 2020. The delay to early 2020 was based on feedback from clients and partners seeking additional time to resolve potential Building Block issues and not to disrupt current academic terms.
Additional releases, 3700.14 and 3700.16 were added to the schedule for production releases in November and December, respectively. We skipped a January 2020 production release to accommodate a longer Building Block testing cycle for all clients between 19 December 2019 and early February 2020. Dates may be adjusted, so confirm with the SaaS release schedule.
In Technical Preview testing, clients and partners found a number of Building Blocks are not compatible with the updated Java libraries. 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. We have started to track status for a number of common partner Building Blocks and are sharing that here. We will be updating this document about once a week through roughly the end of the year.
For developers, partners, and institutions, testing Building Blocks for compatibility is highly recommended because software 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.
As part of this change, we are transitioning from the Oracle-supported version of Java 11 to the AWS-supported version of Java 11 called Corretto. Both the Oracle and AWS versions of JDK come from the open source OpenJDK project--the difference is in the support models between the two providers. We will transition from Oracle to AWS for receiving ongoing support for Java in terms of maintenance and security releases. This does not impact SaaS or Managed Hosting clients. Operational changes for self-hosted clients are minimal and outlined below.
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 targets of June 2019 and September 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 announced our new target for production to be in 3800.0 for SaaS test stage, 3800.0 for SaaS FDO production, and 3800.2 for SaaS Continuous Delivery production. 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 2019--as before, there were two releases for the 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. Java 11 is supported in Release 9.1 Q4 2019.
One change for self-hosted clients announced previously is that Java JDK security updates for Oracle--applicable for Learn 9.1 Q2 2019 and earlier--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. An additional change starting with Learn 9.1 Q4 2019 is that the required version of Java 11, Java Corretto, will be provided by AWS. Administrators should review release notes and support information for that release for details about access to Java Corretto installers and maintenance releases.
Frequently Asked Questions
How do I get access to a release with Java 11 so I can work on development and testing?
As of 19 December 2019, SaaS clients can test in their test/stage environments. Managed Hosting clients can request an upgrade to 9.1 Q4 2019 in a test/stage environment, and self-hosted clients can download the installer
What actions will Blackboard take if a critical Java security issue is identified prior to a Learn release compatible with an updated version of Java JDK?
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 Java JDK, 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. Newer versions of Java are expected to be released more frequently than in the past. 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)?
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 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 on Learn 9.1 Q2 2019 releases and prior. For Learn SaaS environments and for Learn 9.1 Q4 2019 and newer, we are transitioning to Java support provided by AWS.