IP Library Granted Patent US 9,098,497
Granted Patent B1
US 9,098,497 · App. 13/533,002 · Granted Aug 4, 2015

Methods and systems for building a search service 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 9,098,497
App. No.
13/533,002
Granted
Aug 4, 2015
Kind
B1
Abstract

A method for building an application is disclosed and includes receiving a request to build a search service application for a first object, where the object is associated with attributes and each attribute is associated with a value, receiving a first indication selecting an end-user input field that corresponds to a first attribute associated with the first object, and receiving a second indication selecting a search result output field that corresponds to an attribute associated with the first object. The method also includes selecting a code template from a plurality of code templates in a code library that comprises programming code for creating a search model of a search service application. Using the selected code template, the search model representing the search service application is generated based on the end-user input and the search result output fields.

Claims (58)

1. A system for building a search service application, the system comprising:

a processor-based search service application builder component, which when executed on a computer, will cause the processor to:

receive a request to build a search service application for a first object of a plurality of objects, wherein each object is associated with a plurality of attributes and wherein each of the plurality of attributes is associated with a value;

receive a first indication of a selection of an end-user input field and an operator associated with the end-user input field, wherein the end-user input field corresponds to a first attribute of the plurality of attributes associated with the first object;

receive a second indication of a selection of a search result output field, wherein the search result output field corresponds to a second attribute of the plurality of attributes associated with the first object;

select a code template from a plurality of code templates in a code library, the selected code template comprising programming code for creating a search model of a search service application; and

generate a search model representing the search service application for the first object using the selected code template, and based at least on the end-user input field and the search result output field, wherein the search model includes a plurality of software components for retrieving information relating to the first object from a backend data store.

2. The system of claim 1 wherein the processor-based search service application builder component, when executed will further cause the processor to receive a third indication specifying a query type for the first object, wherein the specified query type is associated with one of a plurality of backend storage structure types and wherein the query type is one of a full-text query, a real-time query, a historical query, and a task-list query.

3. The system of claim 2 wherein the selected code template comprises programming code for creating a search model corresponding to the specified query type and wherein the search model includes a software component configured to generate a search query that is compatible with the backend storage structure type associated with the specified query type.

4. The system of claim 1 wherein the search model includes at least one software component configured to:

receive from an end-user a request for information relating to the first object and a value for the first attribute corresponding to the end-user input field;

generate a search query including a search criterion based on the value for the first attribute corresponding to the end-user input field, and including the second attribute corresponding to the search result output field;

retrieve at least one data record of a plurality of data records relating to the first object, wherein the at least one retrieved data record includes the information requested by the end-user;

generate a search result based at least on the at least one retrieved data record; and

provide the search result to the end-user.

5. The system of claim 4 wherein the processor-based search service application builder component is further configured for receiving a third indication of a selection of a search result filtering field corresponding to an attribute of the plurality of attributes associated with the first object, the third indication also selecting an operator for the attribute corresponding to the search result filtering field, and identifying a value for the attribute corresponding to the search result filtering field.

6. The system of claim 5 wherein the search model includes a software component configured for generating the search result by filtering the at least one retrieved data record based on the value for the attribute corresponding to the selected search result filtering field.

7. The system of claim 4 wherein the processor-based search service application builder component, when executed will further cause the processor to receive a third indication selecting a facets field corresponding to an attribute of the plurality of attributes associated with the first object.

8. The system of claim 7 wherein the search model includes a software component configured for generating the search result by grouping the at least one retrieved data object by the attribute corresponding to the facets field.

9. The system of claim 1 wherein the processor-based search service application builder component, when executed will further cause the processor to:

receive a request to design an end-user interface template for the search model representing the search service application for the first object;

receive a third indication of a selection of a first widget and a second widget from a plurality of widgets, wherein the selected first widget is associated with the end-user input field and the selected second widget is associated with the search result output field; and

generate the user interface template for the search model for the first object, wherein the search model representing the search service application includes at least one software component configured for providing the user interface template to an end-user when a request for information relating to the first object is received from the end-user.

10. The system of claim 1 further comprising a processor-based case management application for a business process executed on the computer, the case management application comprising configuration information defining the plurality of objects including the first object for the business process, and configured for receiving a request for information relating to the first object from an end-user, and for invoking the search service application for the first object in response to receiving the request.

11. A computer program product comprising computer-readable program code to be executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code including instructions to:

receive a request to build a search service application for a first object of a plurality of objects, wherein each object is associated with a plurality of attributes and wherein each of the plurality of attributes is associated with a value;

receive a first indication of a selection of an end-user input field, wherein the end-user input field corresponds to a first attribute of the plurality of attributes associated with the first object;

receive a second indication of a selection of a search result output field, wherein the search result output field corresponds to a second attribute of the plurality of attributes associated with the first object;

select a code template from a plurality of code templates in a code library, the selected code template comprising programming code for creating a search model of a search service application; and

generate the search model representing the search service application for the first object using the selected code template, and based at least on the end-user input field and the search result output field, wherein the search model includes a plurality of software components for retrieving information relating to the first object from a backend data store.

12. A method for building an application, the method comprising:

receiving, by a server, a request to build a search service application for a first object of a plurality of objects, wherein each object is associated with a plurality of attributes and wherein each of the plurality of attributes is associated with a value;

receiving, by the server, a first indication of a selection of an end-user input field, wherein the end-user input field corresponds to a first attribute of the plurality of attributes associated with the first object;

receiving, by the server, a second indication of a selection of a search result output field, wherein the search result output field corresponds to at least one of the first attribute and a second attribute of the plurality of attributes associated with the first object;

selecting, by the server, a code template from a plurality of code templates in a code library, the selected code template comprising programming code for creating a search model of a search service application; and

generating, by the server, the search model representing the search service application for the first object using the selected code template, and based at least on the end-user input field and the search result output field, wherein the search model includes a plurality of software components for retrieving information relating to the first object from a backend data store.

13. The method of claim 12 further comprising:

receiving, by the server, a third indication specifying a query type for the first object, wherein the specified query type is associated with one of a plurality of backend storage structure types and wherein the query type is of one of a full-text query, a real-time query, a historical query, and a task-list query.

14. The method of claim 13 wherein the selected code template comprises programming code for creating a search model corresponding to the specified query type, and wherein the search model includes a software component configured to generate a search query that is compatible with the backend storage structure type associated with the specified query type.

15. The method of claim 12 further comprising:

receiving, by the server, a request from an end-user for information relating to the first object, and a value for the first attribute corresponding to the end-user input field;

generating, by the server, a search query including a search criterion based on the value for the first attribute corresponding to the end-user input field;

retrieving at least one data record of a plurality of data records relating to the first object, wherein the at least one retrieved data record includes the information requested by the end-user;

generating a search result based at least on the at least one retrieved data record; and

providing the search result to the end-user.

16. The method of claim 15 further comprising receiving, by the server, a third indication of a selection of a search result filtering field corresponding to an attribute of the plurality of attributes associated with the first object, the third indication also selecting an operator for the attribute corresponding to the search result filtering field, and identifying a value for the attribute corresponding to the search result filtering field.

17. The method of claim 16 wherein generating the search result includes filtering the at least one retrieved data record based on the value for the attribute corresponding to the selected search result filtering field.

18. The method of claim 15 further comprising receiving, by the server, a third indication selecting a facets field corresponding to an attribute of the plurality of attributes associated with the first object, wherein generating the search result includes grouping the at least one retrieved data object by the attribute corresponding to the facets field.

19. The method of claim 12 further comprising:

receiving, by the server, a request to design an end-user interface template for the search model representing the search service application for the first object;

receiving, by the server, a third indication selecting a first widget and a second widget from a plurality of widgets, wherein the selected first widget is associated with the end-user input field and the selected second widget is associated with the search result output field;

generating, by the server, the user interface template for the search model for the first object using the second code template; and

providing the user interface template to an end-user when a request for information relating to the first object is received from the end-user.

20. The method of claim 12 further comprising:

providing, by the server, a case management application for a business process, the case management application comprising configuration information defining the plurality of objects including the first object for the business process;

receiving, by the case management application, a request for information relating to the first object from an end-user;

invoking, by the case management application, the search service application for the first object in response to receiving the request; and

transmitting the request for information from the end-user to the search service application for the first object.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041579/0133 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2015
From: BRETTE, MARC; BRUN, GHISLAIN; CIMINERA, FREDERIC
To: EMC CORPORATION
Reel/Frame 035815/0076 →