Hybrid Application Server Integrating Java EE and OSGi
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software development frameworks, such as Java EE and OSGi, offer modular design benefits but lack integration of transactional data access and dynamic module management, limiting the ability to create hybrid applications that leverage both enterprise application server containers and dynamic module systems effectively.
Innovation Solution
A hybrid application server is configured to manage components deployed on both Java EE and OSGi containers, enabling seamless integration by deploying bundles as both Java EE-managed components and OSGi services, with an extender bundle determining readiness and registering proxy handles in the service registry for transparent service invocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If components are deployed as independent modules in a dynamic module system (OSGi), then system flexibility and dynamic reconfiguration are improved, but integration with enterprise application server containers (Java EE) and transactional data access capabilities deteriorate
Solution Approach 1:
The patent merges the dynamic module system (OSGi) with the enterprise application server container (Java EE) into a hybrid application server. This combination allows components to benefit from both the dynamic deployment capabilities of OSGi and the transactional data access capabilities of Java EE, resolving the contradiction between adaptability and reliability.
Solution Approach 2:
The hybrid application server provides multi-functionality by supporting both dynamic module management (OSGi services, bundle deployment, service registry) and enterprise application server functions (Java EE container, transaction management, data access). This universal platform eliminates the need to choose between dynamic reconfiguration and transactional reliability.
2Reliability
If components are managed by an application server component container (Java EE), then transactional data access and enterprise services are improved, but system dynamism and independent module deployment capabilities deteriorate
Solution Approach 1:
The patent combines the Java EE container with the OSGi dynamic module system into a unified hybrid application server. This merger enables components to be both container-managed (for transactional reliability) and dynamically deployable as OSGi bundles (for system adaptability), simultaneously achieving both goals.
Solution Approach 2:
The hybrid application server introduces dynamics by allowing bundles to be deployed, activated, and updated at runtime through the OSGi framework, while maintaining the structured transactional management of Java EE. This dynamic capability enables independent module deployment without sacrificing enterprise service support.
3Adaptability or versatility
If a hybrid application server integrates both Java EE and OSGi containers, then component reusability and flexibility are improved, but system complexity increases
Solution Approach 1:
The patent merges Java EE and OSGi into a single hybrid application server architecture, allowing components to leverage both frameworks' capabilities. This integration improves component reusability by enabling the same component to benefit from Java EE's enterprise services and OSGi's dynamic deployment, while the unified architecture manages the complexity internally.
Solution Approach 2:
The hybrid application server acts as an intermediary layer between Java EE and OSGi, managing the integration complexity internally. This mediator handles the coordination between the two containers, exposing a simplified interface to developers while managing the architectural complexity behind the scenes.
4Loss of time
If components are deployed dynamically at runtime in OSGi, then system downtime is eliminated, but integration with enterprise application services deteriorates
Solution Approach 1:
The patent merges OSGi's runtime deployment capability with Java EE's enterprise application services in a hybrid application server. This combination allows components to be deployed and updated dynamically at runtime (eliminating downtime) while simultaneously maintaining access to enterprise services such as transaction management, security, and data access.
Solution Approach 2:
The hybrid application server provides multi-functionality by supporting both dynamic runtime deployment (OSGi bundles) and enterprise application services (Java EE). This universal platform enables zero-downtime deployments while preserving all enterprise services, allowing the system to achieve both goals simultaneously.
Data Source
AI summary
A computer-implemented method, system, and medium is disclosed for implementing a hybrid application server. The server is configured to determine that a bundle deployed onto a dynamic module system defines a component that is manageable by an application server component container. In response to the determining, the application server deploys the component onto the component container and creates an instance of the component in the container so that the container can manage the component. Finally, the application server registers a proxy handle to the component as a service in the dynamic module system. Thereafter, the proxy handle is discoverable and invocable by another component.


