AJax Bridge for Java Swing RIA Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client-server applications based on Java Swing are limited in scalability and require extensive hand coding for developing rich user interfaces, making it difficult and costly to deploy them as Rich Internet Applications (RIAs) on J2EE servers, and there is a lack of a viable migration path from Swing applications to RIA.

Innovation Solution

A mechanism that uses Asynchronous JavaScript and XML (AJax) to facilitate efficient communication between server and client for Java Swing UI applications, allowing them to be deployed as Internet applications on a J2EE server, leveraging existing Swing tools and eliminating the need for re-coding, while providing a rich user interface experience similar to traditional desktop applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If Java Swing applications are deployed as traditional client-server applications, then rich user interface functionality is achieved, but scalability is limited and extensive hand coding is required for deployment as Rich Internet Applications

Engineering Contradiction:
ImprovescalabilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer that translates between Swing application architecture and web-based RIA architecture. This intermediary enables Swing applications to be deployed on J2EE servers and accessed through web browsers without requiring extensive rewriting, thus improving scalability while maintaining relatively simple development processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal deployment mechanism that allows Java Swing applications to run in multiple environments - both traditional client-server and web-based RIA contexts. This multi-functionality enables the same application codebase to serve different deployment scenarios, enhancing adaptability without proportionally increasing development complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If Swing applications are migrated to RIA model, then internet deployability is improved, but extensive re-coding is required increasing development costs

Engineering Contradiction:
Improveinternet deployabilityVSAvoiddevelopment cost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent employs a copying approach where the Swing application architecture and event handling mechanisms are replicated and adapted for web-based deployment. By copying and translating the existing Swing event model to work with AJAX and web protocols, the patent enables internet deployability while preserving the original application logic and minimizing re-coding requirements.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent applies parameter changes by modifying deployment parameters rather than application logic parameters. The same Swing application can be deployed with different configuration parameters to run either as a traditional client-server application or as a web-based RIA, thereby reducing development costs while improving internet deployability.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If traditional document data model is used for information delivery, then simplicity of implementation is maintained, but bandwidth utilization is inefficient as entire document is retransmitted even for small changes

Engineering Contradiction:
Improveimplementation simplicityVSAvoidbandwidth utilization
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The patent segments the document data model into granular components that can be independently transmitted. Instead of transmitting entire documents, the system transmits only specific data elements or components that have changed, thereby improving bandwidth utilization while maintaining implementation simplicity through the use of standardized segmentation mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by transmitting only the necessary portion of data rather than complete documents. When only small portions of information change, the system transmits only those specific changes rather than performing excessive action of retransmitting entire documents, thus improving bandwidth utilization without significantly complicating the implementation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7861213B2Mechanism for developing AJax applications using java swing framework and method for using the same
Publication Date: 2010.12.28 ORACLE INT CORP
  • US7861213B2 patent drawing
  • US7861213B2 patent drawing
  • US7861213B2 patent drawing

AI summary

In one embodiment, a mechanism makes use of AJax to enable Swing applications deployable as Internet applications that runs on a J2EE server. The mechanism enables an application developer to develop and deploy Swing applications to the J2EE server while providing users with the equivalent of a Rich Internet Application (RIA). The mechanism builds a bridge between a browser event model and a server resident Swing UI event model.