This is an automated email from the ASF dual-hosted git repository.
robertlazarski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git
The following commit(s) were added to refs/heads/master by this push:
new d0702dbd34 docs: Modernize feature list on site home page
d0702dbd34 is described below
commit d0702dbd3466cca3c002ba5a0d90a6aa775091b5
Author: Robert Lazarski <[email protected]>
AuthorDate: Fri May 15 12:27:50 2026 -1000
docs: Modernize feature list on site home page
Replaced the 2006-era feature bullet list (15 items, many redundant)
with 9 focused bullets leading with current capabilities:
- JSON-RPC (Gson/Moshi), OpenAPI 3.0, MCP tool catalogs, HTTP/2
streaming, Spring Boot Starter, Hibernate schema generation,
pagination, hot deployment
- SOAP legacy consolidated into a single bullet acknowledging
SOAP 1.1/1.2, WSDL, WS-Security, WS-Addressing, MTOM, and the
handler chain architecture
Removed: Speed/AXIOM/Low Memory (implementation details, not features),
Flexibility/Stability/Composability (vague), Transport Framework (too
internal), Component-oriented Deployment (redundant with hot deploy).
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
---
src/site/site.xml | 15 +-
src/site/xdoc/docs/http2-integration-guide.xml | 14 +-
src/site/xdoc/docs/http2-transport-additions.xml | 2 +-
.../docs/json-springboot-tomcat11-userguide.xml | 205 +++-----------------
src/site/xdoc/docs/json-springboot-userguide.xml | 212 ++++-----------------
src/site/xdoc/index.xml | 149 +++++----------
6 files changed, 123 insertions(+), 474 deletions(-)
diff --git a/src/site/site.xml b/src/site/site.xml
index df2432d7e6..c9173d9080 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -78,25 +78,18 @@
</menu>
<menu name="Resources">
<item name="FAQ" href="faq.html" />
- <item name="Articles" href="articles.html" />
- <item name="Wiki"
href="https://wiki.apache.org/ws/FrontPage/Axis2/" />
- <item name="Reference Library" href="refLib.html" />
- <item name="Online Java Docs" href="apidocs/index.html" />
+ <item name="Source Code"
href="https://github.com/apache/axis-axis2-java-core" />
</menu>
<menu name="Get Involved">
<item name="Overview" href="overview.html" />
- <item name="Checkout the Source" href="git.html" />
<item name="Mailing Lists" href="mail-lists.html" />
<item name="Release Process" href="release-process.html"/>
<item name="Developer Guidelines" href="guidelines.html" />
- <item name="Build the Site" href="siteHowTo.html" />
+ <item name="Build the Site" href="siteHowTo.html" />
</menu>
<menu name="Project Information">
- <item name="Project Team" href="team-list.html" />
- <item name="Issue Tracking" href="issue-tracking.html" />
- <item name="Source Code"
- href="https://github.com/apache/axis-axis2-java-core" />
- <item name="Acknowledgements" href="thanks.html" />
+ <item name="Contributors"
href="https://github.com/apache/axis-axis2-java-core/graphs/contributors" />
+ <item name="Issues"
href="https://github.com/apache/axis-axis2-java-core/issues" />
</menu>
<menu name="Apache" inherit="bottom">
<item name="License"
diff --git a/src/site/xdoc/docs/http2-integration-guide.xml
b/src/site/xdoc/docs/http2-integration-guide.xml
index 43e852fd3c..af571c7b55 100644
--- a/src/site/xdoc/docs/http2-integration-guide.xml
+++ b/src/site/xdoc/docs/http2-integration-guide.xml
@@ -341,7 +341,7 @@ chunked HTTP/2 DATA frames and flow control
automatically.</p>
<div style="background-color: #e8f5e8; border: 1px solid #4CAF50; padding:
10px; margin: 10px 0;">
<strong>✅ Automatic Optimization:</strong> Intelligent defaults are already
optimized for:
<ul>
- <li><strong>Memory-Constrained Environments</strong> (2GB heap) -
Conservative connection limits</li>
+ <li><strong>Memory-Constrained Environments</strong> - Conservative
connection limits for smaller deployments</li>
<li><strong>Enterprise Big Data Processing</strong> - 64KB buffers for 50MB+
JSON payloads</li>
<li><strong>Enhanced Moshi H2 Integration</strong> - Async processing
thresholds and memory management (GSON H2 also supported)</li>
</ul>
@@ -481,7 +481,7 @@ enableALPN = true
(Required for HTTP/2)
<h3>Production-Ready Defaults</h3>
<ul>
- <li><strong>Memory-Constrained Optimization</strong>: Defaults tuned for 2GB
heap environments</li>
+ <li><strong>Memory-Constrained Optimization</strong>: Defaults are
conservative and work across deployment sizes</li>
<li><strong>Large Payload Support</strong>: Automatic 64KB buffer alignment
for 50MB+ JSON</li>
<li><strong>Enterprise Integration</strong>: Enhanced Moshi H2 parameters
pre-configured</li>
<li><strong>Security Hardening</strong>: Modern TLS and cipher suite
defaults</li>
@@ -501,10 +501,10 @@ enableALPN = true
(Required for HTTP/2)
<h3>Key Performance Indicators</h3>
<ul>
- <li>Request latency (target: 30% reduction vs HTTP/1.1)</li>
- <li>JSON processing time (target: 40% improvement for 50MB payloads)</li>
+ <li>Request latency improvement vs HTTP/1.1</li>
+ <li>JSON processing time for large payloads</li>
<li>Memory usage (target: 20% reduction in peak usage)</li>
- <li>Connection efficiency (target: 80% fewer connections via
multiplexing)</li>
+ <li>Connection efficiency (multiplexing reduces connection count)</li>
</ul>
<h3>JVM Parameters</h3>
@@ -533,7 +533,7 @@ No JVM system properties are required for HTTP/2
support.</p>
<li>Large JSON Payload Tests (50MB+): Core business requirement</li>
<li>JSON-RPC over HTTP/2: Verify HTTP/2 multiplexing benefits</li>
<li>Performance Benchmarks: HTTP/1.1 vs HTTP/2 comparison</li>
- <li>Memory Constraint Testing: Operation within 2GB heap limits</li>
+ <li>Memory usage under load</li>
</ul>
<h4>Phase 3: HTTP/2 Specific Feature Tests</h4>
@@ -560,7 +560,7 @@ No JVM system properties are required for HTTP/2
support.</p>
<h3>Overall Project Success</h3>
<ul>
<li>✅ <strong>Performance</strong>: 30% latency reduction, 40% JSON
processing improvement</li>
- <li>✅ <strong>Memory</strong>: 20% reduction in peak memory usage</li>
+ <li>✅ <strong>Memory</strong>: Reduced peak memory usage via streaming</li>
<li>✅ <strong>Stability</strong>: No regression in existing
functionality</li>
<li>✅ <strong>Scalability</strong>: Support for 100+ concurrent streams</li>
<li>✅ <strong>Production</strong>: Successful deployment with modern JVM and
garbage collection</li>
diff --git a/src/site/xdoc/docs/http2-transport-additions.xml
b/src/site/xdoc/docs/http2-transport-additions.xml
index 062dc1384a..804c838a83 100644
--- a/src/site/xdoc/docs/http2-transport-additions.xml
+++ b/src/site/xdoc/docs/http2-transport-additions.xml
@@ -88,7 +88,7 @@ request.setEntity(new StringEntity(jsonPayload,
ContentType.APPLICATION_JSON));
<p>H2TransportSender provides enterprise-grade HTTP/2 transport capabilities
using HttpClient 5.x
with advanced features for large payload processing, connection multiplexing,
and performance optimization.
This transport is specifically designed for big data applications requiring
50MB+ JSON payload support
-within enterprise memory constraints (2GB heap).</p>
+with memory-efficient 64 KB flush intervals.</p>
<p>HTTP/2 offers significant advantages over HTTP/1.1:</p>
<ul>
diff --git a/src/site/xdoc/docs/json-springboot-tomcat11-userguide.xml
b/src/site/xdoc/docs/json-springboot-tomcat11-userguide.xml
index 15f7315a60..eaf2ec9fb5 100644
--- a/src/site/xdoc/docs/json-springboot-tomcat11-userguide.xml
+++ b/src/site/xdoc/docs/json-springboot-tomcat11-userguide.xml
@@ -28,20 +28,17 @@
<body dir="ltr" lang="en-US">
<a name="_Toc96697849" id="_Toc96697849"></a>
-<h1 align="center">Apache Axis2 HTTP/2 JSON and REST with Spring Boot 3 and
Apache Tomcat 11 User's Guide</h1>
-
-<p>This guide will help you get started with Axis2 HTTP/2 transport and JSON
via REST, using
-<a href="https://spring.io/projects/spring-security">Spring Security</a> with
-<a href="https://spring.io/projects/spring-boot">Spring Boot 3</a> deployed on
-<a href="https://tomcat.apache.org/">Apache Tomcat 11</a>.
-It gives a detailed description on how to write HTTP/2 optimized JSON based
REST Web services for
-enterprise big data processing, including large payload handling (50MB+),
connection multiplexing,
-streaming optimization, and memory-efficient processing within 2GB heap
constraints.
-</p>
-
-<p><strong>New in Axis2 2.0.1:</strong> Complete HTTP/2 transport
implementation with enterprise
-big data processing capabilities, streaming optimization for large JSON
payloads, and
-production-ready performance enhancements.</p>
+<h1 align="center">Apache Axis2 JSON and REST with Spring Boot 3 and Apache
Tomcat 11 User's Guide</h1>
+
+<p>This guide covers writing and deploying JSON-RPC and REST services using
+Axis2 with
+<a href="https://spring.io/projects/spring-boot">Spring Boot 3</a> and
+<a href="https://spring.io/projects/spring-security">Spring Security</a>
+on <a href="https://tomcat.apache.org/">Apache Tomcat 11</a>. For the
+WildFly equivalent, see the
+<a href="json-springboot-userguide.html">WildFly guide</a>.
+For the Spring Boot Starter (one-dependency setup), see the
+<a href="spring-boot-starter.html">Starter guide</a>.</p>
<p>More docs concerning Axis2 and JSON can be found in the <a href="
json_support_gson.html">Pure JSON Support documentation</a> and <a href="
json_gson_user_guide.html">JSON User Guide</a>
@@ -131,54 +128,18 @@ covers a camera control service that uses this approach.
This is a notable milestone: the previous Axis2/C release was 1.6 in 2009.
</p>
-<h2>HTTP/2 Transport Features</h2>
-
-<p>Axis2 2.0.1 introduces a complete HTTP/2 transport implementation designed
for enterprise
-big data processing requirements. The HTTP/2 transport provides significant
performance
-improvements over HTTP/1.1, especially for large JSON payloads and concurrent
requests.
-For comprehensive HTTP/2 configuration details and advanced features, see the
-<a href="http2-transport-additions.html">HTTP/2 Transport
documentation</a>.</p>
-
-<p><strong>OpenAPI Integration:</strong> For REST API documentation and
enterprise features,
-see the <a href="openapi-rest-userguide.html">OpenAPI REST User Guide</a>.</p>
-
-<h3>Key HTTP/2 Benefits</h3>
-
-<ul>
-<li><strong>Connection Multiplexing:</strong> Process multiple requests over a
single connection,
-reducing connection overhead by up to 80% (from 50 connections to 10
multiplexed connections)</li>
-<li><strong>Streaming Optimization:</strong> Memory-efficient processing of
large JSON payloads
-(50MB+) with 20% reduction in memory usage</li>
-<li><strong>Enhanced Performance:</strong> 30% reduction in request latency
and 40% improvement
-in JSON processing throughput for enterprise workloads</li>
-<li><strong>Memory Management:</strong> Adaptive flow control and memory
pressure detection
-for operation within 2GB heap constraints</li>
-<li><strong>Security:</strong> HTTPS-only enforcement (RFC 7540 compliance)
with TLS 1.2+
-and ALPN support</li>
-</ul>
-
-<h3>HTTP/2 Processing Modes</h3>
-
-<p>The HTTP/2 transport automatically selects the optimal processing mode
based on payload size:</p>
-
-<ul>
-<li><strong>Standard Processing (<10MB):</strong> Regular HTTP/2 transport
with multiplexing benefits</li>
-<li><strong>Multiplexing Optimization (10-50MB):</strong> Enhanced concurrent
processing with
-connection multiplexing and flow control</li>
-<li><strong>Streaming Optimization (50MB+):</strong> Memory-efficient
streaming with chunked
-processing and adaptive windowing for enterprise big data requirements</li>
-</ul>
-
-<h3>Enterprise Big Data Support</h3>
+<h2>HTTP/2 Transport</h2>
-<p>The HTTP/2 transport is specifically optimized for enterprise big data
processing:</p>
+<p>Axis2's HTTP/2 support is integrated into the serialization pipeline —
+the <a href="json-streaming-formatter.html">streaming JSON formatter</a>
+flushes every 64 KB, producing HTTP/2 DATA frames during serialization,
+not after. This keeps server memory flat regardless of response size.
+For configuration details, see the
+<a href="http2-transport-additions.html">HTTP/2 Transport documentation</a>
+and the <a href="http2-integration-guide.html">HTTP/2 overview</a>.</p>
-<ul>
-<li><strong>Large Payload Support:</strong> Tested with JSON payloads up to
100MB+</li>
-<li><strong>Memory Constraints:</strong> Designed for 2GB heap environments
with adaptive memory management</li>
-<li><strong>Concurrent Processing:</strong> Support for multiple simultaneous
large dataset operations</li>
-<li><strong>Performance Monitoring:</strong> Built-in metrics collection for
throughput and memory usage</li>
-</ul>
+<p>See also: <a href="openapi-rest-userguide.html">OpenAPI REST User Guide</a>
+for auto-generated API documentation.</p>
<a name="tomcat11-http2"></a>
<h2>Enabling HTTP/2 on Tomcat 11</h2>
@@ -475,129 +436,23 @@ Response, HTML encoded to prevent XSS. For the results
with encoding see src/sit
{"response":{"messageout":"<script
xmlns=\"http://www.w3.org/1999/xhtml\">alert('Hello');</script>
\">","status":"OK"}}
</pre>
-<h2>HTTP/2 Big Data Service Examples</h2>
-
-<p>The BigDataH2Service demonstrates HTTP/2 transport capabilities for
different dataset sizes.
-Here are examples of how to invoke the service using cURL:</p>
-
-<h3>Small Dataset Processing (<10MB)</h3>
-
-<p>For small datasets, the service uses standard HTTP/2 processing:</p>
-
-<pre>
-curl -v -H "Authorization: Bearer 95104Rn2I2oEATfuI90N" \
- -H "Content-Type: application/json" \
- -X POST \
- --data @small_dataset.dat \
- https://localhost:8443/services/BigDataH2Service
-</pre>
-
-<p>Where the contents of small_dataset.dat are:</p>
-
-<pre>
-{"processBigDataSet":[{"arg0":{
- "datasetId": "small_dataset_001",
- "datasetSize": 5242880,
- "processingMode": "standard",
- "analyticsType": "standard_analytics",
- "enableMemoryOptimization": false
-}}]}
-</pre>
-
-<h3>Medium Dataset Processing (10-50MB)</h3>
+<h2>BigDataH2Service Example</h2>
-<p>For medium datasets, the service automatically enables HTTP/2 multiplexing
optimization:</p>
+<p>The BigDataH2Service demonstrates HTTP/2 streaming for large JSON
payloads:</p>
<pre>
-curl -v -H "Authorization: Bearer 95104Rn2I2oEATfuI90N" \
+curl -v -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-X POST \
- --data @medium_dataset.dat \
+ --data
'{"processBigDataSet":[{"arg0":{"datasetId":"test_001","datasetSize":52428800}}]}'
\
https://localhost:8443/services/BigDataH2Service
</pre>
-<p>Where the contents of medium_dataset.dat are:</p>
-
-<pre>
-{"processBigDataSet":[{"arg0":{
- "datasetId": "medium_dataset_001",
- "datasetSize": 26214400,
- "processingMode": "multiplexing",
- "analyticsType": "advanced_analytics",
- "enableMemoryOptimization": true
-}}]}
-</pre>
-
-<h3>Large Dataset Processing (50MB+)</h3>
-
-<p>For large datasets, the service automatically enables HTTP/2 streaming
optimization:</p>
-
-<pre>
-curl -v -H "Authorization: Bearer 95104Rn2I2oEATfuI90N" \
- -H "Content-Type: application/json" \
- -X POST \
- --data @large_dataset.dat \
- https://localhost:8443/services/BigDataH2Service
-</pre>
-
-<p>Where the contents of large_dataset.dat are:</p>
-
-<pre>
-{"processBigDataSet":[{"arg0":{
- "datasetId": "large_dataset_001",
- "datasetSize": 78643200,
- "processingMode": "streaming",
- "analyticsType": "enterprise_big_data",
- "enableMemoryOptimization": true
-}}]}
-</pre>
-
-<h3>Sample Response with HTTP/2 Optimization Metrics</h3>
-
-<p>The BigDataH2Service returns detailed metrics about HTTP/2 optimization and
performance:</p>
-
-<pre>
-{
- "response": {
- "status": "SUCCESS",
- "processedRecordCount": 153600,
- "totalProcessedBytes": 78643200,
- "processingTimeMs": 2150,
- "memoryOptimized": true,
- "http2Optimized": true,
- "optimizationDetails": "HTTP/2 streaming optimization applied for 50MB+
dataset",
- "throughputMBps": 35.2,
- "formattedProcessedSize": "75.00 MB",
- "formattedProcessingTime": "2.15 seconds",
- "optimizationSummary": "HTTP/2 Features: Enabled (Memory Optimized)",
- "resultSummary": "Processed 153600 records using HTTP/2 streaming
optimization. Total data processed: 75MB. Memory efficient chunked processing
applied."
- }
-}
-</pre>
-
-<h3>Performance Benefits Demonstrated</h3>
-
-<p>The HTTP/2 transport provides measurable performance improvements:</p>
+<p>The service returns processing metrics including throughput (MB/s),
+memory usage, and record count. For the
+<a href="http2-java-client.html">HTTP/2 Java client</a> example
+showing how to stream large responses without buffering, see the
+sample code.</p>
-<ul>
-<li><strong>Latency Reduction:</strong> 30% faster request processing compared
to HTTP/1.1</li>
-<li><strong>Throughput Improvement:</strong> 40% better JSON processing
performance for large payloads</li>
-<li><strong>Memory Efficiency:</strong> 20% reduction in peak memory usage
through streaming optimization</li>
-<li><strong>Connection Efficiency:</strong> 80% fewer connections through
multiplexing (10 vs 50 connections)</li>
-<li><strong>Concurrent Processing:</strong> Support for multiple large dataset
operations simultaneously</li>
-</ul>
-
-<h3>Monitoring and Metrics</h3>
-
-<p>The BigDataH2Service provides comprehensive performance metrics:</p>
-
-<ul>
-<li><strong>Processing Time:</strong> Total time to process the dataset</li>
-<li><strong>Throughput:</strong> Data processing rate in MB/s</li>
-<li><strong>Memory Optimization:</strong> Indicator of memory-efficient
processing</li>
-<li><strong>HTTP/2 Features:</strong> Details of HTTP/2 optimizations
applied</li>
-<li><strong>Record Count:</strong> Number of data records processed</li>
-<li><strong>Optimization Summary:</strong> Human-readable summary of
optimizations applied</li>
-</ul>
</body>
</html>
diff --git a/src/site/xdoc/docs/json-springboot-userguide.xml
b/src/site/xdoc/docs/json-springboot-userguide.xml
index e7ed156876..43b35ebe97 100644
--- a/src/site/xdoc/docs/json-springboot-userguide.xml
+++ b/src/site/xdoc/docs/json-springboot-userguide.xml
@@ -28,23 +28,20 @@
<body dir="ltr" lang="en-US">
<a name="_Toc96697849" id="_Toc96697849"></a>
-<h1 align="center">Apache Axis2 HTTP/2 JSON and REST with Spring Boot 3 User's
Guide</h1>
-
-<p>This guide will help you get started with Axis2 HTTP/2 transport and JSON
via REST, using
-<a href="https://spring.io/projects/spring-security">Spring Security</a> with
-<a href="https://spring.io/projects/spring-boot">Spring Boot 3!</a>
-It gives a detailed description on how to write HTTP/2 optimized JSON based
REST Web services for
-enterprise big data processing, including large payload handling (50MB+),
connection multiplexing,
-streaming optimization, and memory-efficient processing within 2GB heap
constraints.
-</p>
-
-<p><strong>New in Axis2 2.0.1:</strong> Complete HTTP/2 transport
implementation with enterprise
-big data processing capabilities, streaming optimization for large JSON
payloads, and
-production-ready performance enhancements.</p>
-<p>More docs concerning Axis2 and JSON can be found in the <a href="
-json_support_gson.html">Pure JSON Support documentation</a> and <a href="
-json_gson_user_guide.html">JSON User Guide</a>
-</p>
+<h1 align="center">Apache Axis2 JSON and REST with Spring Boot 3 User's
Guide</h1>
+
+<p>This guide covers writing and deploying JSON-RPC and REST services using
+Axis2 with
+<a href="https://spring.io/projects/spring-boot">Spring Boot 3</a> and
+<a href="https://spring.io/projects/spring-security">Spring Security</a>
+on <a href="https://www.wildfly.org/">WildFly 32</a> or later. For the
+Tomcat 11 equivalent, see the
+<a href="json-springboot-tomcat11-userguide.html">Tomcat 11 guide</a>.
+For the Spring Boot Starter (one-dependency setup), see the
+<a href="spring-boot-starter.html">Starter guide</a>.</p>
+
+<p>See also: <a href="json_support_gson.html">Pure JSON Support</a>,
+<a href="json_gson_user_guide.html">JSON User Guide</a>.</p>
<a name="Introduction"></a>
<h2>Introduction</h2>
@@ -69,54 +66,18 @@
href="mailto:[email protected]?subject=[Axis2]">[email protected]
(Subscription details are available on the <a href="../mail-lists.html">Axis2
site</a>.) Kindly
prefix the subject of the mail with [Axis2].</p>
-<h2>HTTP/2 Transport Features</h2>
-
-<p>Axis2 2.0.1 introduces a complete HTTP/2 transport implementation designed
for enterprise
-big data processing requirements. The HTTP/2 transport provides significant
performance
-improvements over HTTP/1.1, especially for large JSON payloads and concurrent
requests.
-For comprehensive HTTP/2 configuration details and advanced features, see the
-<a href="http2-transport-additions.html">HTTP/2 Transport
documentation</a>.</p>
-
-<p><strong>OpenAPI Integration:</strong> For REST API documentation and
enterprise features,
-see the <a href="openapi-rest-userguide.html">OpenAPI REST User Guide</a>.</p>
-
-<h3>Key HTTP/2 Benefits</h3>
-
-<ul>
-<li><strong>Connection Multiplexing:</strong> Process multiple requests over a
single connection,
-reducing connection overhead by up to 80% (from 50 connections to 10
multiplexed connections)</li>
-<li><strong>Streaming Optimization:</strong> Memory-efficient processing of
large JSON payloads
-(50MB+) with 20% reduction in memory usage</li>
-<li><strong>Enhanced Performance:</strong> 30% reduction in request latency
and 40% improvement
-in JSON processing throughput for enterprise workloads</li>
-<li><strong>Memory Management:</strong> Adaptive flow control and memory
pressure detection
-for operation within 2GB heap constraints</li>
-<li><strong>Security:</strong> HTTPS-only enforcement (RFC 7540 compliance)
with TLS 1.2+
-and ALPN support</li>
-</ul>
+<h2>HTTP/2 Transport</h2>
-<h3>HTTP/2 Processing Modes</h3>
+<p>Axis2's HTTP/2 support is integrated into the serialization pipeline —
+the <a href="json-streaming-formatter.html">streaming JSON formatter</a>
+flushes every 64 KB, producing HTTP/2 DATA frames during serialization,
+not after. This keeps server memory flat regardless of response size.
+For configuration details, see the
+<a href="http2-transport-additions.html">HTTP/2 Transport documentation</a>
+and the <a href="http2-integration-guide.html">HTTP/2 overview</a>.</p>
-<p>The HTTP/2 transport automatically selects the optimal processing mode
based on payload size:</p>
-
-<ul>
-<li><strong>Standard Processing (<10MB):</strong> Regular HTTP/2 transport
with multiplexing benefits</li>
-<li><strong>Multiplexing Optimization (10-50MB):</strong> Enhanced concurrent
processing with
-connection multiplexing and flow control</li>
-<li><strong>Streaming Optimization (50MB+):</strong> Memory-efficient
streaming with chunked
-processing and adaptive windowing for enterprise big data requirements</li>
-</ul>
-
-<h3>Enterprise Big Data Support</h3>
-
-<p>The HTTP/2 transport is specifically optimized for enterprise big data
processing:</p>
-
-<ul>
-<li><strong>Large Payload Support:</strong> Tested with JSON payloads up to
100MB+</li>
-<li><strong>Memory Constraints:</strong> Designed for 2GB heap environments
with adaptive memory management</li>
-<li><strong>Concurrent Processing:</strong> Support for multiple simultaneous
large dataset operations</li>
-<li><strong>Performance Monitoring:</strong> Built-in metrics collection for
throughput and memory usage</li>
-</ul>
+<p>See also: <a href="openapi-rest-userguide.html">OpenAPI REST User Guide</a>
+for auto-generated API documentation.</p>
<h2>See Also: Axis2/C 2.0.0</h2>
@@ -376,130 +337,23 @@ Response, HTML encoded to prevent XSS. For the results
with encoding see src/sit
{"response":{"messageout":"<script
xmlns=\"http://www.w3.org/1999/xhtml\">alert('Hello');</script>
\">","status":"OK"}}
</pre>
-<h2>HTTP/2 Big Data Service Examples</h2>
-
-<p>The BigDataH2Service demonstrates HTTP/2 transport capabilities for
different dataset sizes.
-Here are examples of how to invoke the service using cURL:</p>
-
-<h3>Small Dataset Processing (<10MB)</h3>
-
-<p>For small datasets, the service uses standard HTTP/2 processing:</p>
-
-<pre>
-curl -v -H "Authorization: Bearer 95104Rn2I2oEATfuI90N" \
- -H "Content-Type: application/json" \
- -X POST \
- --data @small_dataset.dat \
- https://localhost:8443/axis2-json-api/services/BigDataH2Service
-</pre>
-
-<p>Where the contents of small_dataset.dat are:</p>
-
-<pre>
-{"processBigDataSet":[{"arg0":{
- "datasetId": "small_dataset_001",
- "datasetSize": 5242880,
- "processingMode": "standard",
- "analyticsType": "standard_analytics",
- "enableMemoryOptimization": false
-}}]}
-</pre>
-
-<h3>Medium Dataset Processing (10-50MB)</h3>
+<h2>BigDataH2Service Example</h2>
-<p>For medium datasets, the service automatically enables HTTP/2 multiplexing
optimization:</p>
+<p>The BigDataH2Service demonstrates HTTP/2 streaming for large JSON
payloads:</p>
<pre>
-curl -v -H "Authorization: Bearer 95104Rn2I2oEATfuI90N" \
+curl -v -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-X POST \
- --data @medium_dataset.dat \
+ --data
'{"processBigDataSet":[{"arg0":{"datasetId":"test_001","datasetSize":52428800}}]}'
\
https://localhost:8443/axis2-json-api/services/BigDataH2Service
</pre>
-<p>Where the contents of medium_dataset.dat are:</p>
-
-<pre>
-{"processBigDataSet":[{"arg0":{
- "datasetId": "medium_dataset_001",
- "datasetSize": 26214400,
- "processingMode": "multiplexing",
- "analyticsType": "advanced_analytics",
- "enableMemoryOptimization": true
-}}]}
-</pre>
-
-<h3>Large Dataset Processing (50MB+)</h3>
-
-<p>For large datasets, the service automatically enables HTTP/2 streaming
optimization:</p>
-
-<pre>
-curl -v -H "Authorization: Bearer 95104Rn2I2oEATfuI90N" \
- -H "Content-Type: application/json" \
- -X POST \
- --data @large_dataset.dat \
- https://localhost:8443/axis2-json-api/services/BigDataH2Service
-</pre>
-
-<p>Where the contents of large_dataset.dat are:</p>
-
-<pre>
-{"processBigDataSet":[{"arg0":{
- "datasetId": "large_dataset_001",
- "datasetSize": 78643200,
- "processingMode": "streaming",
- "analyticsType": "enterprise_big_data",
- "enableMemoryOptimization": true
-}}]}
-</pre>
-
-<h3>Sample Response with HTTP/2 Optimization Metrics</h3>
-
-<p>The BigDataH2Service returns detailed metrics about HTTP/2 optimization and
performance:</p>
-
-<pre>
-{
- "response": {
- "status": "SUCCESS",
- "processedRecordCount": 153600,
- "totalProcessedBytes": 78643200,
- "processingTimeMs": 2150,
- "memoryOptimized": true,
- "http2Optimized": true,
- "optimizationDetails": "HTTP/2 streaming optimization applied for 50MB+
dataset",
- "throughputMBps": 35.2,
- "formattedProcessedSize": "75.00 MB",
- "formattedProcessingTime": "2.15 seconds",
- "optimizationSummary": "HTTP/2 Features: Enabled (Memory Optimized)",
- "resultSummary": "Processed 153600 records using HTTP/2 streaming
optimization. Total data processed: 75MB. Memory efficient chunked processing
applied."
- }
-}
-</pre>
-
-<h3>Performance Benefits Demonstrated</h3>
-
-<p>The HTTP/2 transport provides measurable performance improvements:</p>
-
-<ul>
-<li><strong>Latency Reduction:</strong> 30% faster request processing compared
to HTTP/1.1</li>
-<li><strong>Throughput Improvement:</strong> 40% better JSON processing
performance for large payloads</li>
-<li><strong>Memory Efficiency:</strong> 20% reduction in peak memory usage
through streaming optimization</li>
-<li><strong>Connection Efficiency:</strong> 80% fewer connections through
multiplexing (10 vs 50 connections)</li>
-<li><strong>Concurrent Processing:</strong> Support for multiple large dataset
operations simultaneously</li>
-</ul>
-
-<h3>Monitoring and Metrics</h3>
-
-<p>The BigDataH2Service provides comprehensive performance metrics:</p>
-
-<ul>
-<li><strong>Processing Time:</strong> Total time to process the dataset</li>
-<li><strong>Throughput:</strong> Data processing rate in MB/s</li>
-<li><strong>Memory Optimization:</strong> Indicator of memory-efficient
processing</li>
-<li><strong>HTTP/2 Features:</strong> Details of HTTP/2 optimizations
applied</li>
-<li><strong>Record Count:</strong> Number of data records processed</li>
-<li><strong>Optimization Summary:</strong> Human-readable summary of
optimizations applied</li>
-</ul>
+<p>The service returns processing metrics including throughput (MB/s),
+memory usage, and record count. For the
+<a href="http2-java-client.html">HTTP/2 Java client</a> example
+showing how to stream large responses without buffering, see the
+sample code.</p>
<h2>Response Field Filtering</h2>
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index bd9a3d9059..e9a4e7e9fc 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -93,108 +93,55 @@ message formatter.
Legacy SOAP services continue to work unchanged — the SOAP handler
chain,
WS-Security (<a href="https://axis.apache.org/axis2/java/rampart/">Apache
Rampart</a>),
and WS-Addressing are fully supported.</p>
-<p>Axis2 comes with many new features, enhancements and industry
-specification implementations. The key features offered are as
-follows:</p>
+<h3>Key Features</h3>
<ul>
-<li>
-<p style="margin-bottom: 0in"><strong>Speed</strong> - Axis2 uses
-its own object model and StAX (Streaming API for XML) parsing to
-achieve significantly greater speed than earlier versions of Apache
-Axis.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>Low memory foot
-print</strong>- Axis2 was designed ground-up keeping low memory
-foot print in mind.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>AXIOM</strong> - Axis2 comes
-with its own light-weight object model, AXIOM, for message
-processing which is extensible, highly performant and is developer
-convenient.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong><a name="Hot_Deployment" id=
-"Hot_Deployment"></a>Hot Deployment</strong> - Axis2 is equipped
-with the capability of deploying Web services and handlers while
-the system is up and running. In other words, new services can be
-added to the system without having to shut down the server. Simply
-drop the required Web service archive into the services directory
-in the repository, and the deployment model will automatically
-deploy the service and make it available for use.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>Asynchronous Web
-services</strong> - Axis2 now supports asynchronous Web services
-and asynchronous Web services invocation using non-blocking clients
-and transports.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>Flexibility</strong> - The
-Axis2 architecture gives the developer complete freedom to insert
-extensions into the engine for custom header processing, system
-management, and <em>anything else you can imagine</em>.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>Stability</strong> - Axis2
-defines a set of published interfaces which change relatively
-slowly compared to the rest of Axis.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>Component-oriented
-Deployment</strong> - You can easily define reusable networks of
-Handlers to implement common patterns of processing for your
-applications, or to distribute to partners.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>Transport Framework</strong>
-- We have a clean and simple abstraction for integrating and using
-Transports (i.e., senders and listeners for SOAP over various
-protocols such as SMTP, FTP, message-oriented middleware, etc), and
-the core of the engine is completely transport-independent.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>WSDL support</strong> - Axis2
-supports the Web Service Description Language, version <a href=
-"http://www.w3.org/TR/wsdl">1.1</a>, which allows you to easily
-build stubs to access remote services, and also to automatically
-export machine-readable descriptions of your deployed services from
-Axis2.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>JSON support</strong> - Axis2
-supports the creation of Web Services using JavaScript Object Notation, with
<a href=
-"https://github.com/google/gson">GSON</a> and <a href=
-"https://github.com/square/moshi">Moshi</a>, which allows you to easily
-build POJO based services that receive and return JSON.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>OpenAPI support</strong> - Axis2
-supports automatic generation of <a href=
-"https://spec.openapis.org/oas/latest.html">OpenAPI 3.0</a> specifications for
REST and JSON services, with integrated <a href=
-"https://swagger.io/tools/swagger-ui/">Swagger UI</a> for interactive API
documentation and testing, enabling modern API development workflows.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>MCP support</strong> - Axis2
-supports <a href="https://modelcontextprotocol.io/">Model Context Protocol</a>
(MCP),
-enabling AI assistants (Claude, custom agents) to discover and call Axis2
services
-as tools. The <a href="docs/json-rpc-mcp-guide.html">MCP tool catalog</a> is
-auto-generated from deployed services at <code>/openapi-mcp.json</code> with
full
-parameter schemas, types, and defaults. An <a
href="docs/mcp-architecture.html">MCP
-bridge</a> (stdio JAR) connects Claude Desktop to any Axis2 deployment over
-HTTPS+mTLS. See <a href="docs/mcp-examples.html">live benchmark examples</a>
with
-performance data.</p>
-</li>
-<li>
-<p style="margin-bottom: 0in"><strong>Composition and
-Extensibility</strong> - Modules and phases improve support for
-composability and extensibility. Modules support composability and
-can also support new WS-* specifications in a simple and clean
-manner. They are however not <a href="#Hot_Deployment">hot
-deployable</a> as they change the overall behavior of the
-system.</p>
-</li>
+<li><strong>JSON-RPC with
+<a href="https://github.com/google/gson">Gson</a> and
+<a href="https://github.com/square/moshi">Moshi</a></strong> —
+build POJO-based services that receive and return JSON. Streaming
+formatters flush every 64 KB for memory-efficient large responses.</li>
+
+<li><strong><a href="docs/openapi-rest-userguide.html">OpenAPI 3.0</a>
+auto-generation</strong> — specifications generated from deployed
+services with integrated
+<a href="https://swagger.io/tools/swagger-ui/">Swagger UI</a> for
+interactive API testing.</li>
+
+<li><strong><a href="docs/json-rpc-mcp-guide.html">MCP tool catalogs</a>
+for AI agents</strong> — AI assistants discover and call your services
+as tools via the auto-generated catalog at <code>/openapi-mcp.json</code>.
+See <a href="docs/mcp-examples.html">live examples</a>.</li>
+
+<li><strong><a href="docs/http2-integration-guide.html">HTTP/2
+streaming</a></strong> — integrated into the serialization pipeline,
+not just the transport layer. Response
+<a href="docs/json-streaming-formatter.html#Field_Selection">field
+selection</a> (<code>?fields=</code>) filters at serialization time.</li>
+
+<li><strong><a href="docs/spring-boot-starter.html">Spring Boot
+Starter</a></strong> — one Maven dependency for servlet registration,
+repository configuration, and OpenAPI/MCP activation. Supports WAR
+deployment and embedded Tomcat.</li>
+
+<li><strong><a href="docs/openapi-jpa-schema.html">OpenAPI schemas
+from Hibernate</a></strong> — generate read/write JSON Schemas from
+JPA annotations or <code>.hbm.xml</code> files, keeping API contracts
+in sync with the database model.</li>
+
+<li><strong><a href="docs/json-pagination.html">Built-in
+pagination</a></strong> — offset/limit with server-enforced safety
+limits, mapping directly to JPA/Hibernate DAOs.</li>
+
+<li><strong><a name="Hot_Deployment" id="Hot_Deployment"></a>Hot
+deployment</strong> — add or update services without restarting the
+server by dropping <code>.aar</code> archives into the services
+directory.</li>
+
+<li><strong>SOAP legacy</strong> — full SOAP 1.1/1.2 support
+including WSDL, WS-Security
+(<a href="https://axis.apache.org/axis2/java/rampart/">Apache Rampart</a>),
+WS-Addressing, MTOM attachments, and the pluggable handler chain
+architecture from the original 2004 design.</li>
</ul>
<p>We hope you enjoy using Axis2. Please note that this is an
open-source effort. If you feel the code could use new features or