IP Library Granted Patent US 8,910,193
Granted Patent B2
US 8,910,193 · App. 13/600,107 · Granted Dec 9, 2014

Dynamically binding data in an application

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,910,193
App. No.
13/600,107
Granted
Dec 9, 2014
Kind
B2
Abstract

A method for binding data in an application. An expression is created via a framework based on input from a developer. The expression is received at an expression engine wherein the expression describes a relation between a first property of a first data of the application to a first property of a second data of the application. A binding is created between the first data and the second data based on the relation via the expression engine. The first property of the second data is changed based on a change to the first property of the first data wherein the changing occurs because of the binding. The receiving the expression, the creating the binding, and the changing the first property are orchestrated via the framework to manage when the expression is executed in the application.

Claims (42)

1. A non-transitory computer readable medium having instructions embodied therein that when executed cause a computer system to perform a method for dynamically binding data in an application, said method comprising:

creating an expression via a framework based on input from a developer;

receiving said expression at an expression engine wherein said expression describes a relation between a first property of a first data of said application to a first property of a second data of said application, wherein said first data is associated with a presentation layer of said application and wherein said second data is associated with a database layer of said application;

creating a binding between said first data and said second data based on said relation via said expression engine;

changing said first property of said second data based on a change to said first property of said first data wherein said changing occurs because of said binding;

orchestrating said receiving said expression, said creating said binding, and said changing said first property via said framework to manage when said expression is executed in said application;

moving said second data from said database layer of said application to said presentation layer of said application based on said binding during an execution of said application;

modifying said second data in said presentation layer of said application based on information received from a user; and

moving said second data from said presentation layer of said application back to said database layer of said application after said modifying said second data.

2. The non-transitory computer readable medium of claim 1 wherein said receiving said expression and said creating said binding are accomplished using run time type information (RTTI) associated with said first data and said second data.

3. The non-transitory computer readable medium of claim 1 wherein said receiving said expression and said creating said binding occur during development of said application.

4. The non-transitory computer readable medium of claim 3 wherein said development of said application occurs via a manipulation of visual components associated with a graphical user interface.

5. The non-transitory computer readable medium of claim 1 wherein said receiving said expression and said creating said binding occur dynamically during an execution of said application.

6. The non-transitory computer readable medium of claim 1 wherein said binding occurs to allow said first data or said second data to move unidirectional.

7. The non-transitory computer readable medium of claim 1 wherein said binding occurs to allow said first data or said second data to move bidirectional.

8. The non-transitory computer readable medium of claim 1 wherein said first data is a control object of said application and said second data is a source object of said application.

9. The non-transitory computer readable medium of claim 1 wherein said changing said first property of said second data converts a data type of said second data to a new data type.

10. The non-transitory computer readable medium of claim 1 wherein said receiving said expression, said creating said binding and said moving said second data are repeated to create a plurality of bindings based on a plurality of expressions.

11. The non-transitory computer readable medium of claim 1 , further comprising:

altering a property of said second data based on said binding; and

altering a property of a third data bound to said second data based on said altering said property of said second data.

12. The non-transitory computer readable medium of claim 1 wherein said application was developed using C++ programming language.

13. The non-transitory computer readable medium of claim 1 wherein said creating said expression creates a plurality of expressions and said creating said binding creates a plurality of bindings based on said plurality of said expressions.

14. A non-transitory computer readable medium having computer readable program code embedded therein that when executed causes a computing system to dynamically bind data in an application, said program code comprising:

a first data with a first property, wherein said first data is associated with a presentation layer of said application;

a second data with a first property, wherein said second data is associated with a database layer of said application;

an expression relating said first data to said second data; and

an expression engine for querying said first data and said second data for run time type information (RTTI), receiving said expression, binding said first data to said second data based on said RTTI and said expression and for changing said first property of said second data based on a change to said first property of said first data wherein said changing occurs because of said binding, wherein said expression engine is for moving said second data from said database layer of said application to said presentation layer of said application based on said binding during an execution of said application; and

a framework for creating said expression based on input from a developer and for orchestrating a movement of said first data and said second data in said application to control when said expression is executed in said application.

15. The non-transitory computer readable medium of claim 14 wherein said application was developed using C++ programming language.

16. The non-transitory computer readable medium of claim 14 , further comprising:

a graphical user interface at said computing system for manipulating said expression and properties of said first data and said second data.

17. The non-transitory computer readable medium of claim 14 wherein said binding is a managed binding.

18. The non-transitory computer readable medium of claim 14 wherein said binding is an unmanaged binding.

19. A non-transitory computer readable medium having instructions embodied therein that when executed cause a computer system to perform a method for dynamically binding data in an application, said method comprising:

creating an expression via a framework based on input from a developer;

receiving said expression at an expression engine wherein said expression describes a relation between a first property of a first data of said application to a first property of a second data of said application, wherein said first data is associated with a presentation layer of said application and wherein said second data is associated with a database layer of said application;

querying said first data and said second data for run time type information (RTTI) via said expression engine;

creating a binding between said first data and said second data based on said relation and said RTTI via said expression engine;

changing said first property of said second data based on a change to said first property of said first data wherein said changing occurs because of said binding;

orchestrating the receiving the expression, the creating the binding, and the changing the first property via the framework to manage when the expression is executed in the application; and

moving said second data from said database layer of said application to said presentation layer of said application based on said binding during an execution of said application.

Assignments (5)
SECOND LIEN SECURITY AGREEMENT Recorded Oct 14, 2015
From: IDERA, INC.; CODEGEAR LLC; EMBARCADERO TECHNOLOGIES, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 036863/0137 →
FIRST LIEN SECURITY AGREEMENT Recorded Oct 13, 2015
From: IDERA, INC.; CODEGEAR LLC; EMBARCADERO TECHNOLOGIES, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 036842/0410 →
RELEASE OF SECURITY INTEREST Recorded Oct 12, 2015
From: WELLS FARGO CAPITAL FINANCE, LLC (FORMERLY KNOWN AS WELLS FARGO CAPITAL FINANCE, INC. AND WELLS FARGO FOOTHILL, INC.)
To: EMBARCADERO TECHNOLOGIES, INC.; EMB HOLDING CORP., A DELAWARE CORPORATION; SHC AMBEO ACQUISITION CORP., A DELAWARE CORPORATION
Reel/Frame 036773/0786 →
AMENDMENT NUMBER ONE TO FIRST LIEN PATENT SECURITY AGREEMENT Recorded Dec 28, 2012
From: EMB HOLDING CORP.; EMBARCADERO TECHNOLOGIES, INC.; SHC AMBEO ACQUISITION CORP.
To: WELLS FARGO CAPITAL FINANCE, INC., FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC., AS AGENT
Reel/Frame 029549/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2012
From: TIERNEY, JAMES; THOMAS, JOHN RAY
To: EMBARCADERO TECHNOLOGIES, INC.
Reel/Frame 028879/0485 →