Java 8 vs Java 17 comparison in IBM App Connect Enterprise

Compare the differences between Java 8 and Java 17 integration servers in IBM® App Connect Enterprise 13.0.7.0, including SOAP stack architecture, WS-Security, WS-ReliableMessaging, and configuration approaches.

Overview

IBM App Connect Enterprise 13.0.7.0 introduces a new SOAP stack for Java 17 integration servers, replacing the WebSphere Application Server-based implementation used in Java 8. This comparison helps you understand the key differences and plan your migration strategy.

General Java architecture comparison

Component Java 8 Java 17
XML Binding javax.xml (Java EE) jakarta.xml (Jakarta EE)
Classloading Architecture Standard classloading Dual stack classloading (can toggle between old and new stacks)
Build Requirements Can build with Java 8 Build JavaCompute nodes with Java 17 by default, can be changed in toolkit Build configuration for a Java project

SOAP stack architecture comparison

Component Java 8 (Old Stack) Java 17 (New Stack)
SOAP Engine WebSphere Application Server Axis2 Open Source Apache Axis2
WS-Security Implementation WebSphere WS-Security with callbacks Apache Rampart with configuration
WS-ReliableMessaging Implementation WAS-packaged Apache Sandesha Open Source Apache Sandesha
WS-Trust Support Supported as a Security Provider outside the SOAP stack, resulting tokens read by SOAP stack from Properties folder

WS-Security configuration comparison

Aspect Java 8 Java 17
Policy Set File .wssecpolicy.xml .wspolicy.xml (largely compatible format)
Policy Binding File .wssecbindings.xml .policyxml (WS-Security policy type)
Policy Editor Policy Set Wizard (full version) Simplified Policy Set Editor (focused view)
Binding Configuration Policy Set Wizard Standard Policy Editor with WS-Security policy type
Virtual Folder "WS Policy Sets and Bindings" "WS Policy" (separate folder)
SOAP Node Property Policy Set and Policy Set Bindings (can only be set in BAR file) WS-Security policy (can be set in node properties during development or in BAR file)
Certificate Selection for Signature Validation Explicit certificate alias can be specified Automatic selection based on certificate-id from inbound message
Key Selection for Decryption Explicit key alias can be specified Automatic selection based on certificate-id from inbound message
Multiple Keys/Certificates Different keys/certificates can be used for different message parts Only a single key/certificate may be used (although signing/encryption of different parts is supported)
Asymmetric Encryption Can be configured on just Inbound or Outbound parts Must be performed on both Inbound and Outbound parts
SAML Token Support Supported (propagation and authentication) Not currently supported
Kerberos Token Support Authentication, signing and encryption supported by runtime Not currently supported
LTPA Token Support Supported (WebSphere family native) Not supported (not available in newer framework)
UserNameToken Support Supported Supported
Message Signing Supported Supported
Message Encryption Supported Supported
Timestamp Validation Supported Supported

WS-ReliableMessaging configuration comparison

Aspect Java 8 Java 17
Policy Set Required Yes (.wssecpolicy.xml) No
Policy Binding Required Yes (.wssecbindings.xml) No
Basic Configuration Complex configuration through Policy Set Wizard Simple boolean property: Use WS-ReliableMessaging
Advanced Configuration Through policy sets and bindings Optional WS-ReliableMessaging policy (.policyxml)
Delivery Assurance AtMostOnce, AtLeastOnce, ExactlyOnce, InOrder AtMostOnce, AtLeastOnce, ExactlyOnce, InOrder
Sequence Management Automatic Automatic
Acknowledgments Automatic Automatic
Retransmission Configurable Configurable

Toolkit comparison

Feature Java 8 Toolkit Java 17 Toolkit
Policy Set Editor Full wizard with Add/Delete buttons, tree navigation Simplified editor (no Add/Delete, focused view, auto-expand to Authentication Tokens)
File Organization Single "WS Policy Sets and Bindings" virtual folder Separate "WS Policy" virtual folder for .wspolicy.xml files
Policy Creation Create policy set + binding together in wizard Create WS-Security policy in Policy Editor, then configure/browse to policy set
Node Configuration Selection of policy set and bindings only in bar file editor Select WS-Security policy from WS Extensions tab

Feature support comparison

Feature Java 8 Java 17
SOAP Services ✓ Supported ✓ Supported
WS-ReliableMessaging ✓ Supported ✓ Supported
WS-Trust ✓ Supported ✓ Supported
Global Cache ✓ Supported ✓ Supported
CORBARequest Node ✓ Supported ✗ Not Supported
WSRR Nodes ✓ Supported ✗ Not Supported
SAML Tokens ✓ Supported ✗ Not currently supported
Kerberos Tokens ✓ Supported ✗ Not currently supported
LTPA Tokens ✓ Supported ✗ Not Supported

Performance and resource usage

Aspect Java 8 Java 17
JVM Version Java 8 (1.8.x) Java 17 (17.x)
Garbage Collection Parallel GC (default) G1GC (default), improved performance
Memory Management Traditional heap management Improved memory management with better GC algorithms
Startup Time Baseline Comparable or slightly faster
Throughput Baseline Comparable or improved (depends on workload)
Latency Baseline Comparable or improved (especially with G1GC)