wweichel

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

Discussion created by wweichel on Feb 11, 2019
Latest reply on Apr 17, 2019 by rs0048203

Updated 8 March 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. We previously announced this change with the introduction of OpenJDK 11 as part of Blackboard Learn release 3600.0, scheduled for release to SaaS Continuous Delivery production environments on 4 April 2019. Based on the results of testing with Technical Preview participants and our partners, we concluded that Java 11 adoption should be removed from this release due to compatibility issues with extensions. The new target release timeframe for SaaS Continuous Delivery Production environments is JUNE 2019. The delay allows for continued testing to uphold the user experience and minimize disruptions.

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 us to update multiple libraries in 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 large enough that Blackboard is delaying the change to Java 11 in Learn SaaS. The new target of June 2019 was selected to avoid major exam periods for the majority of our global clients. Please confirm in future release notes details about specifically which version of Learn has changes to Java.

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.

 

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.

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?

We are working on a new, extended early-access program. Details will be posted soon here on the Blackboard Community site.


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. Please continue to monitor the SaaS FDO release schedule and release notes for details.

 

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 will 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.

 

Outcomes