Java Tag Library Preprocessing for Embedded Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Deploying Java applications in resource-constrained environments is challenging due to limited memory, low performance processors, and limited persistent storage, as existing solutions like WBXML still require XML parsing and do not fully address the resource constraints of embedded devices.
Innovation Solution
The method involves identifying resource constraints of a target system and filtering the Java application by preprocessing the tag library, replacing static XML deployment descriptors with parser-free descriptors, and storing classes as separate files to reduce processing requirements and eliminate the need for XML parsing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If Java applications are deployed on embedded devices using traditional methods (e.g., WBXML), then XML parsing is required which increases processing overhead, but removing XML parsing capabilities eliminates the ability to process standard Java deployment descriptors
Solution Approach 1:
The patent extracts and removes the XML parsing requirement from the embedded device by pre-processing deployment descriptors into a simplified format during the build process. The deployment descriptor is transformed from XML to a plain text format with key-value pairs that can be directly parsed without XML parsers, eliminating the harmful XML parsing step while retaining all necessary deployment information.
Solution Approach 2:
The patent applies preliminary action by performing the deployment descriptor transformation during the build process rather than at runtime. The Ant build script pre-processes the XML deployment descriptor and generates a simplified configuration file that the embedded device can read directly, moving the complex XML parsing operation to a development stage where resources are abundant.
2Productivity
If Java applications include complete tag library descriptors for full functionality, then runtime processing capabilities are improved, but memory requirements increase which is problematic for resource-constrained devices
Solution Approach 1:
The patent extracts only the essential elements from the complete tag library descriptor and places them in a simplified format. By removing unnecessary XML structure and metadata, the deployment descriptor retains only the critical tag library information needed for runtime processing, significantly reducing memory requirements while maintaining functionality.
Solution Approach 2:
The patent applies local quality by making the deployment descriptor format different for different stages: a complete XML format during development and a simplified key-value format for embedded deployment. This localized adaptation of the descriptor format optimizes it for the specific constraints of the embedded environment.
3Productivity
If Java applications are optimized for resource-constrained environments by removing XML parsing, then processing requirements are reduced, but compatibility with standard Java deployment processes is lost
Solution Approach 1:
The patent introduces an intermediary build process using Ant scripts that acts as a mediator between the standard Java XML-based deployment process and the simplified embedded deployment format. This intermediary automatically transforms standard XML deployment descriptors into the optimized format, maintaining compatibility with standard Java processes while enabling resource-efficient deployment on embedded devices.
Solution Approach 2:
The patent creates a universal build process that can handle both standard Java projects and embedded Java projects. The Ant build script is configured to detect the target platform and automatically apply the appropriate transformation, making the same build infrastructure compatible with both full-featured and resource-constrained environments.
Data Source
AI summary
Methods, systems, and products are provided for deploying Java applications in resource constrained environments. Embodiments include identifying a resource constraint of a target system and filtering the Java application in dependence upon the identified resource constraint. In many embodiments, identifying a resource constraint of a target system includes identifying limited runtime processing capabilities of the target system and filtering the Java application in dependence upon the identified resource constraint includes preprocessing a tag library of the Java application. In some embodiments, preprocessing a tag library is carried out by identifying a tag library descriptor of the Java application and copying a listener from the tag library descriptor to a deployment descriptor for the Java application.


