Hosted Application Adaptor for IDE Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software integrated development environments (IDEs) are unable to effectively integrate the functionality of unmanaged hosted applications, making it complicated and time-consuming to incorporate rich designer features, as they lack seamless integration with the development workspace.

Innovation Solution

The architecture integrates unmanaged applications into the design environment through a hosting component with an application adaptor, providing an interface between the unmanaged application and the IDE, allowing developers to access native functionality while leveraging IDE productivity features, using a designer framework and integration interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If unmanaged hosted applications are integrated into the IDE, then functionality and productivity features are improved, but integration complexity and difficulty increase

Engineering Contradiction:
Improvefunctionality integrationVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an application adaptor as an intermediary component that bridges unmanaged hosted applications and the IDE. The adaptor translates and adapts the application's functionality to work within the IDE environment, enabling integration without requiring complex direct coupling between the application and IDE core systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The integration architecture is segmented into distinct components: the hosted application, the application adaptor, and the IDE framework. This segmentation allows each component to be developed, maintained, and modified independently, reducing overall integration complexity while preserving functionality.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If tight integration with hosted applications is implemented, then native functionality access is improved, but development time and effort increase

Engineering Contradiction:
Improvenative functionality accessVSAvoiddevelopment time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The application adaptor is pre-configured with knowledge of the hosted application's interface and functionality. This preliminary preparation allows the adaptor to automatically translate and expose native application features within the IDE without requiring developers to manually implement integration logic for each functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The adaptor framework provides universal integration capabilities that can work with multiple different hosted applications through a standardized interface. This multi-functionality reduces development time by reusing the same adaptor infrastructure across different applications rather than creating custom integration code for each one.

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

3Productivity

If rich designer features are incorporated, then productivity is improved, but integration difficulty with unmanaged applications increases

Engineering Contradiction:
Improvedesigner productivityVSAvoidintegration difficulty
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The application adaptor serves as a mediator that enables rich designer features to interact with unmanaged applications through a controlled interface. The adaptor handles the complexity of communicating with unmanaged code while exposing simplified, IDE-friendly APIs that enable productivity features like design-time checking, property editing, and event handling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7676785B2Hosted application as a designer in an integrated development environment
Publication Date: 2010.03.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7676785B2 patent drawing
  • US7676785B2 patent drawing
  • US7676785B2 patent drawing

AI summary

Architecture that integrates an unmanaged application as a hosted application into a design environment in a coherent yet usable manner such that the developer can use the hosted application's native functionality yet leverage rich productivity features provided by the IDE. The IDE includes a hosting component that comprises an application adaptor for providing an interface from the unmanaged application to the IDE. The IDE further includes a designer framework that provides user access to designer capabilities of the IDE. The host adaptor interfaces to the designer framework either directly and/or through an integration interface. Thus, the developer/user can then access the native functionality of the unmanaged application as well as the IDE functionality. This provides rich integration between the development environment and the hosted application, the end result of which is the designer interacting with the IDE.