Contextual Code Identification in IDEs via MIME Type Syntax

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in building agile Java EE applications due to the complexity of implementing Service-Oriented Architecture (SOA) principles, which requires significant infrastructure code and complicates the development process, especially for those creating their first Java EE application.

Innovation Solution

Oracle Application Development Framework (ADF) provides a standardized approach to contextual code identification in editors and integrated development environments (IDEs), allowing developers to determine the context of a cursor position within a document and generate a context reference that can be used by editor assist tools to provide insights, simplifying the development process by decoupling the user interface from the business service layer and enabling a visual, declarative approach to Java EE development.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers implement Service-Oriented Architecture (SOA) principles manually, then application functionality and architecture quality are improved, but development complexity and infrastructure code requirements increase significantly

Engineering Contradiction:
Improvearchitecture qualityVSAvoiddevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (ADF framework with declarative bindings) between the UI and business service layers that automatically handles SOA principles. This mediator translates simple UI definitions into complex service interactions, reducing development complexity while maintaining architecture quality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the application into distinct layers (UI layer, binding layer, service layer) with clear responsibilities. Each layer is developed independently using declarative definitions, allowing developers to focus on specific concerns without managing the complexity of other layers, thus reducing overall development complexity.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If developers create custom infrastructure code for SOA implementation, then application-specific functionality is achieved, but development time and effort increase

Engineering Contradiction:
Improveapplication functionalityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by providing pre-configured ADF components and declarative binding mechanisms that automatically establish service connections and data flows. Developers use ready-made templates and definitions rather than creating infrastructure code from scratch, significantly reducing development time while maintaining functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by providing reusable ADF component templates and declarative binding patterns that can be replicated across different applications. Once a service binding is established, it can be copied and reused in multiple UI contexts, reducing repetitive development work.

Inventive Principle:
Principle #26Copying

3Ease of manufacture

If tight coupling exists between UI and business service layers, then implementation simplicity is maintained, but application agility and maintainability decrease

Engineering Contradiction:
Improveimplementation simplicityVSAvoidapplication agility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent introduces a declarative binding layer as an intermediary between UI and service layers. This binding layer uses standardized definitions that automatically generate the coupling logic, maintaining implementation simplicity through convention while enabling loose coupling and high agility through configurability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables parameter changes by allowing developers to modify service binding configurations declaratively without changing the underlying UI code. Changes in service implementations or UI requirements can be made independently by adjusting binding parameters, enhancing application agility while maintaining simplicity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10268456B2Standardized approach to contextual code identification in editors and IDEs
Publication Date: 2019.04.23 ORACLE INT CORP
  • US10268456B2 patent drawing
  • US10268456B2 patent drawing
  • US10268456B2 patent drawing

AI summary

In various aspects, systems and methods provide a standardized approach to contextual code identification in editors and integrated development environments (IDEs). Thus, a given cursor position inside a language file like cascading style sheets (CSS), JavaScript, or java can be represented by storing language type and hierarchy information at the current position in a mime type or mime type-like syntax. Different editor assist handler modules can then be chained to process the syntax to provide a particular feature or insight. Features or products can evolve incrementally by adding a new handler module that processes the same syntax. In one aspect, the actual handler modules used can be determined depend on the cursor context.