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

Discussion created by wweichel on Feb 11, 2019

To address recent changes by Oracle to the Java support model, Blackboard Learn has transitioned to adopting the latest version of OpenJDK as it is released. The upcoming Learn release, version 3600.0, will reflect this change with the adoption of OpenJDK 11.


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. Therefore, testing Building Blocks for compatibility is highly recommended because libraries may have changed, and recompiling Building Blocks for updated Java libraries is also a best practice and should be performed for Java 11.


For Learn SaaS, the time between version availability in test environments prior to production release is approximately 3 weeks. In order to accommodate a longer period of testing and Building Block confirmation, a new Learn SaaS Technical Preview program is being started. This technical preview program will be for partners, developers, and SaaS clients specifically for testing Building Blocks. Participants in this program will have access to a technical preview build including OpenJDK 11 compatibility. See the Frequently Asked Questions (FAQ) section for details of this optional program.



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 version 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. For example, the upcoming Learn 9.1 Q2 2019 release will require a different version of Java than 9.1 Q4 2018.


Developers are highly recommended to recompile Building Blocks to include library updates, especially with the Java 11 upgrade. As before, clients can sign up to participate in an early availability technical preview program or wait until general availability to begin testing and planning. One change for self-hosted clients announced previously is that security updates for the 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


What are the details of the Learn SaaS Technical Preview program?

This new program is geared toward our Blackboard Developers’ Network and clients in Learn SaaS. It is intended specifically to grant additional time for the testing of Building Blocks and to support change management practices when new versions of Java JDK are introduced.

Sign-up for the first instance of this program is open now. SaaS clients and Blackboard Channel Partners should complete this sign-up form to participate. Partners in the Blackboard Developers’ Network (BbDN) or Signature/Premier Partners should enter a support case requesting to participate in the program.

The kick-off meeting is tentatively planned for February 19th. At that time, participants will have access to two different shared SaaS instances with a preview build—one in Original Experience and another with the Ultra Experience base navigation enabled. Participants will request installation of Building Blocks they commit to testing. For Blackboard Developers’ Network (BbDN) partners and client developers, a Learn installer and a Learn virtual image will be made available for further testing in non-shared environments.

The program will end on March 12th once SaaS test environments are updated to version 3600.0.


How do I participate in technical preview programs?

There are now two technical preview programs:

  • The pre-existing Learn Technical Preview program is for early access to feature changes and updated installers for major releases of Learn Original Experience and is primarily for partners and clients in our self-hosted, Managed Hosting and SaaS Flexible Deployment Option (FDO) deployment types. As before, the call to participate will be announced on the Blackboard Community.
  • The new Learn SaaS Technical Preview program is focused solely on changes to Java versions. The sign-up for the first instance of the Learn SaaS Technical Preview program is open now. Partner members of the Blackboard Developers’ Network (BbDN) wishing to participate should enter a support case with their request.


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?

Yes. 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, it isn’t mandatory to participate in the technical preview program. The program is meant to be optional for developers and clients who need additional time to validate Building Blocks.


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.


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.