J2EE Software Factory for Artifact Reuse and Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for developing Java 2 Platform, Enterprise Edition (J2EE) applications are time-consuming and lack flexibility, as they require developers to create applications from scratch and lack efficient integration and reuse of artifacts, particularly in generating user interfaces and persistence layers.

Innovation Solution

A method is introduced to create a software factory that includes identifying and storing artifacts, templates, and relationships in repositories, enabling the reuse of user experience and persistence layers through defined schemas and templates, thereby automating the generation of J2EE applications and reducing development time and effort.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If J2EE applications are developed from scratch using traditional techniques, then developers have full control over customization, but development time and effort increase significantly

Engineering Contradiction:
Improvecustomization flexibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent creates software factories with pre-configured templates, schemas, and artifacts that define relationships between components before development begins. These preliminary structures enable automated generation of J2EE applications, reducing development time while maintaining customization capability through configurable parameters in the templates and schemas.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent establishes templates and schemas that can be copied and reused across multiple J2EE application projects. These templates contain predefined patterns for user interface layers, persistence layers, and other components, allowing developers to replicate proven designs quickly while adapting them to specific requirements through configuration rather than rewriting from scratch.

Inventive Principle:
Principle #26Copying

2Loss of time

If code generation tools are used to generate J2EE application layers, then development time is reduced, but flexibility and control over generation details are lost

Engineering Contradiction:
Improvedevelopment timeVSAvoidgeneration flexibility
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic templates and schemas that can be configured and adjusted based on specific project requirements. The software factory allows developers to modify template parameters, schema definitions, and relationship configurations to control the generation process, providing flexibility while maintaining automated code generation benefits.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables different levels of customization at various stages of the generation process. Developers can control specific aspects of code generation (such as user interface templates or persistence layer configurations) independently while leaving other aspects automated, allowing localized adjustments without affecting the entire generation process.

Inventive Principle:
Principle #3Local quality

3Productivity

If predefined templates and schemas are created for software factory, then artifact reuse and integration improve, but initial setup complexity increases

Engineering Contradiction:
Improveartifact reuse efficiencyVSAvoidsoftware factory setup complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent designs templates and schemas with universal applicability across different J2EE application types. The software factory framework provides multi-functional capabilities that can generate various layers (user interface, persistence, business logic) using a unified approach, reducing the need for separate tooling for each generation task and justifying the initial setup investment through broad reusability.

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

Solution Approach 2:

The patent divides the software factory setup into manageable segments: templates for specific layers, schemas for relationships, and configurations for generation parameters. This segmentation allows developers to create and maintain smaller, focused template files rather than one monolithic system, reducing the perceived complexity while enabling comprehensive artifact reuse across the project.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9886248B2Method for creating software factory for developing J2EE applications
Publication Date: 2018.02.06 INFOSYS LTD
  • US9886248B2 patent drawing
  • US9886248B2 patent drawing
  • US9886248B2 patent drawing

AI summary

Methods for creating a factory, such as a software factory, a user experience factory, and a persistence factory, for developing one or more Java 2 Platform, Enterprise Edition (J2EE) applications. One or more artifacts related to the J2EE applications, such as code components, workflow scripts, and build scripts, are identified. Further, one or more templates are created for generating the one or more artifacts. The templates may be created based on a predefined architecture and coding conventions. These templates are stored in a repository to enable their subsequent reuse. Thereafter, one or more relationships between the artifacts are defined in a factory schema. Subsequently, the factory is created using the factory schema and the templates. The factory thus created may be used to develop the J2EE applications.