Managing reusable software assets
First Claim
1. A computer-implemented system for managing software for assembling a software application from web-based software resources within an enterprise, comprising:
- a capture module executing on the computer-implemented system to retrieve, from an asset source, a reusable software asset generated from one or more repositories of software resources, wherein the software resources are web services having functional interfaces that provide a set of functions, wherein the capture module allows a user to map data types of the web services to elements of a domain model representing a business process and to map the functions provided by the web services to the elements of the domain model, wherein upon retrieving the reusable software asset from the asset source, the capture module maps the data types and the functions of the web services to the domain model, and wherein the mappings are saved as metadata for searching to identify reusable assets;
a database to store the reusable software asset, data representative of the mapping, and information for the software resources including location information and functionality information for the software resources, the functionality information specifying the functions provided by the functional interfaces of the web services, wherein the database stores the data and the reusable software asset in a searchable form and provides access to the reusable software asset for retrieval of software resources;
an asset retrieval module executing on the computer-implemented system that presents a graphical user interface (GUI) to present a graphical view of the domain model to the user for viewing the domain model, wherein the asset retrieval module receives input from the user selecting one of the model elements of the domain model, and in response to the selection, the asset retrieval model constructs a search specification to selectively retrieve a subset of one or more software assets from the database based on the selected elements of the domain model; and
a search engine for performing a model-driven search of the database based on the search specification to select one or more of the software assets for reuse and to locate one or more of the software resources usable by a software developer for a software development project, wherein the search engine selects the one or more software assets for reuse by accessing the mappings stored by the database based on user-supplied criteria describing elements for the domain model.
14 Assignments
0 Petitions
Accused Products
Abstract
In general, techniques are described that facilitate the reuse of software assets within an enterprise. A software asset, as used herein, refers to a set of one or more related artifacts that have been created or harvested for the purpose of applying that asset repeatedly in subsequent development environments. A system, for example, is described that includes a repository to store artifacts, and an asset source to generate a software asset based on the artifacts. The system further includes an asset management system to receive the software asset from the asset source and store the software asset within an asset library. The system may further include a model having one or more elements, and an asset retrieval module to selectively retrieve a subset of the software assets from the asset library based on input from a user identifying one or more of the elements.
74 Citations
15 Claims
-
1. A computer-implemented system for managing software for assembling a software application from web-based software resources within an enterprise, comprising:
-
a capture module executing on the computer-implemented system to retrieve, from an asset source, a reusable software asset generated from one or more repositories of software resources, wherein the software resources are web services having functional interfaces that provide a set of functions, wherein the capture module allows a user to map data types of the web services to elements of a domain model representing a business process and to map the functions provided by the web services to the elements of the domain model, wherein upon retrieving the reusable software asset from the asset source, the capture module maps the data types and the functions of the web services to the domain model, and wherein the mappings are saved as metadata for searching to identify reusable assets; a database to store the reusable software asset, data representative of the mapping, and information for the software resources including location information and functionality information for the software resources, the functionality information specifying the functions provided by the functional interfaces of the web services, wherein the database stores the data and the reusable software asset in a searchable form and provides access to the reusable software asset for retrieval of software resources; an asset retrieval module executing on the computer-implemented system that presents a graphical user interface (GUI) to present a graphical view of the domain model to the user for viewing the domain model, wherein the asset retrieval module receives input from the user selecting one of the model elements of the domain model, and in response to the selection, the asset retrieval model constructs a search specification to selectively retrieve a subset of one or more software assets from the database based on the selected elements of the domain model; and a search engine for performing a model-driven search of the database based on the search specification to select one or more of the software assets for reuse and to locate one or more of the software resources usable by a software developer for a software development project, wherein the search engine selects the one or more software assets for reuse by accessing the mappings stored by the database based on user-supplied criteria describing elements for the domain model. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for managing software for assembling a software application from web-based software resources within an enterprise, the method comprising:
-
retrieving, from an asset source, a reusable software asset generated from one or more repositories of software resources, wherein the software resources are web services having functional interfaces that provide a set of functions, wherein the capture module allows a user to map data types of the web services to elements of a domain model representing a business process and to map the functions provided by the web services to the elements of the domain model; mapping the data types and the functions of the web services to the domain model upon retrieving the reusable software asset from the asset source, wherein the mappings are saved as metadata for searching to identify reusable assets; storing the reusable software asset, data representative of the mapping, and information for the software resources including location information and functionality information for the software resources in a database, the functionality information specifying the functions provided by the functional interfaces of the web services, wherein the database stores the data and the reusable software asset in a searchable form and provides access to the reusable software asset for retrieval of software resources; presenting a graphical user interface (GUI) to present a graphical view of the domain model to the user for viewing the domain model; receiving input from the user selecting one of the model elements of the domain model; constructing, with a computer, a search specification to selectively retrieve a subset of one or more software assets from the database based on the selected elements of the domain model in response to the selection; and performing a model-driven search of the database based on the search specification to select one or more of the software assets for reuse and to locate one or more of the software resources usable by a software developer for a software development project, wherein the model-driven search selects the one or more software assets for reuse by accessing the mappings stored by the database based on user-supplied criteria describing elements for the domain model. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
Specification