The present invention relates to visual application design generally.
Software may be written in many different ways depending on the programmer skills and possibly the platform on which it is to run. Software is often written in one of the many programming languages, like C++ and Java. However, for many programmers, it is easier to write their application using visual application creation tools, such as Visual Basic, which let the developer create application entities using a palette of elements that are dragged to an editor canvas that represents a visual abstraction of the whole application or part of it. The palette may contain entities that represent visual entities such as page, view, input box, entry field etc. as well as “business logic” entities that encapsulate logic execution, such as data manipulation. Entities on the editor canvas are normally connected using link lines that may represent application control flow, data flow etc. The visual application creation tool may create the software application for the programmer.
As can be seen in
To set up the application, the programmer may select the type of each entity to be utilized and may define how the entity is to operate. This may involve defining the program variables, defining how they change, what data they access and the operations they are to perform. Once this is done, the visual application creation tool may generate the software code for the catalog application.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.
In accordance with a preferred embodiment of the present invention, the palette of entities for a visual application creation tool may include data entities, allowing the developer to drag and drop data elements on the canvas. Data entities on the canvas may show a different icon for each source type, e.g., a table for a relational database, a cogwheel for Web service, a coffee bean for a Java Bean, etc.
Reference is now made to
In accordance with one embodiment of the present invention, the developer may select a data entity 20 and may connect it, using a data link entity 21, to non-data-source entities (be they business logic nodes (entity 24), view nodes (entity 26), web page nodes (entity 28) or any other entity) on the canvas. The semantics of the data link(s), such as exemplary data links 30A and 30B, may be defined by the tool. Each data link 30 may visually represent the data access of the non-data-source entity to the data source and may represent a specific action or code within the connected, non-data-source entity that may act on data entity 20. Data link 30 may further be specialized to visualize different data manipulation operations (e.g., a blue line for a read operation and a red line for a write operation). The developer may further configure the data entities and data links using other methods (e.g., fill in database parameters such as developer-name and password in a pop-up dialog or in a properties sheet).
For example, a data link of a data source entity to a business logic entity may signify the business logic action that performs an SQL query within the business logic entity. It may be configured by editing the properties of the data link, and may be colored blue to indicate a READ operation.
In the example of
Reference is also made to
Before defining the two READ actions, the developer may define the presentation of the data in Books webpage 14′. This is shown in
In order to define BooksList 32A, the developer may define data source entity, BookData 22, and may define the data source it refers to, such as a specific database, and its contents (e.g. fields). Afterward, the developer may select the fields of BookData 22 that s/he desires to have in BooksList 32A.
The developer may now define the operation of fill book list entity 12′. An exemplary operation, reading from BookData 22, is shown in
To search through the book records, the developer may define READ operation 30B by linking BookData 22 to Search entity 16′ (
It will be appreciated that data link 30 may be generated when defining the operations of a non-data-source entity on a data source, as shown for operation 30A, or when linking the data source entity to a non-data-source entity, as shown for operation 30B. It will also be appreciated that the data operations indicated by data links 30 form part of the internals of the non-data-source entities and are not part of the data source entity 20.
Reference is now made to
In step 52, the tool developer may define data links 21. This may involve defining how such data links are shown in the various views (which color to represent which action, etc.), and what happens when a user selects a data link.
In step 54, the tool developer may define the semantics for the actions indicated by data links 21. This may involve defining windows, dialog boxes or any other means to define the operations, the variables they operate on and the conditions on the operations. It may further involve defining the code behind each operation and how that code is added to the non-data-source entity to which the data source entity is linked.
In order to maintain consistency, the tool developer may define how a data link may be added when code that represents an action is added to a non-data-source entity.
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.