IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0625250
(2009-11-24)
|
등록번호 |
US-8156140
(2012-04-10)
|
발명자
/ 주소 |
- Roshen, Waseem A.
- Malik, Nadeem
|
출원인 / 주소 |
- International Business Machines Corporation
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
12 인용 특허 :
12 |
초록
▼
A method and apparatus for discovering services in a service registry. When an enterprise service bus receives a service request, the enterprise service bus determines whether the service name in the request exists in a service registry. If not, the enterprise service bus parses the service name int
A method and apparatus for discovering services in a service registry. When an enterprise service bus receives a service request, the enterprise service bus determines whether the service name in the request exists in a service registry. If not, the enterprise service bus parses the service name into constituent words, obtains synonyms for each constituent word, and constructs new service names using the synonyms in the same word order as the constituent words in the service name. The enterprise service bus determines whether the constructed service names exist in the registry. If so, the enterprise service bus obtains an address of a service provider application associated with the constructed service name in the registry and sends a request for the service matching the constructed service name to the service provider application.
대표청구항
▼
1. A computer implemented method in an enterprise service bus for discovering services in a service registry, the computer implemented method comprising: receiving, by the enterprise service bus, a request for a service from a service consumer application;determining a service name specified in the
1. A computer implemented method in an enterprise service bus for discovering services in a service registry, the computer implemented method comprising: receiving, by the enterprise service bus, a request for a service from a service consumer application;determining a service name specified in the service request;querying the service registry for the service name;responsive to a determination that the service registry does not contain a service matching the service name, parsing the service name in the service request into at least one constituent word;obtaining synonyms for each constituent word;constructing new service names using the synonyms in a word order matching the service name to form constructed service names;querying the service registry for the constructed service names;responsive to locating a service matching a constructed service name in the service registry, obtaining an address of a service provider application associated with the constructed service name in the service registry; andsending a request for the service matching the constructed service name to the service provider application. 2. The computer implemented method of claim 1, wherein parsing the service name in the service request into at least one constituent word is performed by a name parser component in the enterprise service bus, and wherein the name parser component parses the service name based on service naming conventions. 3. The computer implemented method of claim 1, wherein obtaining synonyms for each constituent word is performed by a dictionary lookup component within the enterprise service bus, and wherein the dictionary lookup component retrieves synonyms for each constituent word in a dictionary and creates a synonym list for each constituent word. 4. The computer implemented method of claim 3, wherein the dictionary is a custom dictionary comprising only words, definitions, and associated synonyms applicable to a specific enterprise, a set of related enterprises, or a specific type of industry. 5. The computer implemented method of claim 3, wherein the dictionary is a file-based dictionary comprising a dictionary map, wherein the dictionary map comprises at least one word line, wherein each word line of the at least one word line comprises a respective index word and zero or more synonyms of the respective index word. 6. The computer implemented method of claim 5, wherein retrieving synonyms and creating a synonym list for each constituent word further comprises: selecting a first constituent word of the service name;discovering an index word of the dictionary map that matches the first constituent word;storing a word line of the dictionary map that begins with the discovered index word to a first synonym list; andrepeating the selecting, discovering, and storing for each constituent word in the service name. 7. The computer implemented method of claim 5, wherein constructing new service names further comprises: replacing a first constituent word of the service name with a first synonym from a first synonym list, wherein the first synonym list comprises zero or more synonyms of the first constituent word;storing a result from the replacing to a first constructed service name;iterating the replacing and storing for each synonym in the first synonym list of the first constituent word; andrepeating the iterating for another synonym list of another constituent word of the service name. 8. The computer implemented method of claim 3, wherein the dictionary is a dictionary database, wherein the dictionary database comprises at least one record, wherein each record comprises a respective primary key and zero or more synonyms of the primary key. 9. The computer implemented method of claim 8, wherein retrieving synonyms and creating a synonym list for each constituent word further comprises: composing a first database query that retrieves a first record from the dictionary database, wherein the primary key of the first record matches a first constituent word of the service name;executing the first database query against the dictionary database;storing the first record acquired from the executing to a first synonym list; anditerating the composing, executing, and storing for each constituent word in the service name. 10. The computer implemented method of claim 8, wherein constructing new service names further comprises: replacing a first constituent word of the service name with a first synonym from a first synonym list, wherein the first synonym list comprises zero or more synonyms of the first constituent word;storing a result from the replacing to a first constructed service name;iterating the replacing and storing for each synonym in the first synonym list of the first constituent word; andrepeating the iterating for another synonym list of another constituent word of the service name. 11. The computer implemented method of claim 1, wherein the enterprise service bus is connected to the service consumer application via a universal port type that handles messages and communications in any message format and communication protocol. 12. A computer program product in an enterprise service bus for discovering services in a service registry, the computer program product comprising: a computer readable storage medium having computer readable program code stored thereon, the computer readable program code for execution by a computer, comprising:computer readable program code for receiving, by the enterprise service bus, a request for a service from a service consumer application;computer readable program code for determining a service name specified in the service request;computer readable program code for querying a service registry for the service name;computer readable program code for responsive to a determination that the service registry does not contain a service matching the service name, parsing the service name in the service request into at least one constituent word;computer readable program code for obtaining synonyms for each constituent word;computer readable program code for constructing new service names using the synonyms in a word order matching the service name to form constructed service names;computer readable program code for querying the service registry for the constructed service names;computer readable program code for responsive to locating a service matching a constructed service name in the service registry, obtaining an address of a service provider application associated with the constructed service name in the service registry; andcomputer readable program code for sending a request for the service matching the constructed service name to the service provider application. 13. The computer program product of claim 12, wherein the computer readable program code for obtaining synonyms for each constituent word is performed by a dictionary lookup component within the enterprise service bus, and wherein the dictionary lookup component retrieves synonyms for each constituent word in a dictionary and creates a synonym list for each constituent word. 14. The computer program product of claim 13, wherein the dictionary is a file-based dictionary comprising a dictionary map, wherein the dictionary map comprises at least one word line, wherein each word line of the at least one word line comprises a respective index word and zero or more synonyms of the respective index word. 15. The computer program product of claim 14, wherein the computer readable program code for retrieving synonyms and creating a synonym list for each constituent word further comprises: computer readable program code for selecting a first constituent word of the service name;computer readable program code for discovering an index word of the dictionary map that matches the first constituent word;computer readable program code for storing a word line of the dictionary map that begins with the discovered index word to a first synonym list; andcomputer readable program code for repeating the selecting, discovering, and storing for each constituent word in the service name. 16. The computer program product of claim 14, wherein the computer readable program code for constructing new service names further comprises: computer readable program code for replacing a first constituent word of the service name with a first synonym from a first synonym list, wherein the first synonym list comprises zero or more synonyms of the first constituent word;computer readable program code for storing a result from the replacing to a first constructed service name;computer readable program code for iterating the replacing and storing for each synonym in the first synonym list of the first constituent word; andcomputer readable program code for repeating the iterating for another synonym list of another constituent word of the service name. 17. The computer program product of claim 13, wherein the dictionary is a dictionary database, wherein the dictionary database comprises at least one record, wherein each record comprises a respective primary key and zero or more synonyms of the primary key. 18. The computer program product of claim 17, wherein the computer readable program code for retrieving synonyms and creating a synonym list for each constituent word further comprises: computer readable program code for composing a first database query that retrieves a first record from the dictionary database, wherein the primary key of the first record matches a first constituent word of the service name;computer readable program code for executing the first database query against the dictionary database;computer readable program code for storing the first record acquired from the executing to a first synonym list; andcomputer readable program code for iterating the composing, executing, and storing for each constituent word in the service name. 19. The computer program product of claim 17, wherein the computer readable program code for constructing new service names further comprises: computer readable program code for replacing a first constituent word of the service name with a first synonym from a first synonym list, wherein the first synonym list comprises zero or more synonyms of the first constituent word;computer readable program code for storing a result from the replacing to a first constructed service name;computer readable program code for iterating the replacing and storing for each synonym in the first synonym list of the first constituent word; andcomputer readable program code for repeating the iterating for another synonym list of another constituent word of the service name. 20. An apparatus comprising: a bus;a storage device connected to the bus, wherein the storage device contains computer usable code; anda processing unit connected to the bus, wherein the processing unit executes the computer usable code to receive a request for a service from a service consumer application; determine a service name specified in the service request; query the service registry for the service name; responsive to a determination that the service registry does not contain a service matching the service name, parse the service name in the service request into at least one constituent word; obtain synonyms for each constituent word; construct new service names using the synonyms in a word order matching the service name to form constructed service names; query the service registry for the constructed service names; responsive to locating a service matching a constructed service name in the service registry, obtain an address of a service provider application associated with the constructed service name in the service registry; and send a request for the service matching the constructed service name to the service provider application.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.