EP1889153A1 - Gestion d'objets personnalisables pour une bibliotheque logicielle repartie reutilisable - Google Patents

Gestion d'objets personnalisables pour une bibliotheque logicielle repartie reutilisable

Info

Publication number
EP1889153A1
EP1889153A1 EP06770546A EP06770546A EP1889153A1 EP 1889153 A1 EP1889153 A1 EP 1889153A1 EP 06770546 A EP06770546 A EP 06770546A EP 06770546 A EP06770546 A EP 06770546A EP 1889153 A1 EP1889153 A1 EP 1889153A1
Authority
EP
European Patent Office
Prior art keywords
asset
software
assets
management system
artifacts
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP06770546A
Other languages
German (de)
English (en)
Inventor
Brent A. Carlson
Timothy J. Graser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LogicLibrary Inc
Original Assignee
LogicLibrary Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LogicLibrary Inc filed Critical LogicLibrary Inc
Publication of EP1889153A1 publication Critical patent/EP1889153A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Definitions

  • the invention relates to computer software and, more particularly, systems for managing software assets.
  • a software asset refers to a set of one or more related electronic artifacts that have been created or harvested for the purpose of applying that asset repeatedly in subsequent development environments.
  • Source code and binary code are examples of artifacts for software assets.
  • Other examples of artifacts include related documentation, such as requirement specifications, design documents, operation manuals, and the like.
  • Additional examples of artifacts include models, such as a process model, structural model, resource model, implementation model, and the like, that may include use cases, object models, collaboration diagrams, deployment models, and the like.
  • a computer-implemented system comprises a set of repositories to store electronic artifacts, wherein at least a portion of the artifacts comprise software instructions.
  • the system comprises a set of asset sources executing on one or more computers to monitor the repositories and to generate software assets in a normalized format automatically upon detecting a new or changed artifact in a respective one of the repositories, wherein each of the software assets represents a set of related artifacts in the repositories that are reusable in different software development environments.
  • the system also comprises an asset management system executing on one or more computers to capture the software assets from the asset sources and to store the software assets in an asset library, wherein the asset management system performs a control process that governs how the asset management system captures the software assets and stores the software assets.
  • the control process is customizable by an administrator of the asset management system.
  • a method comprises performing a control process that governs how an asset management system captures software assets from a set of asset sources and publishes the software assets to an asset library, wherein the process is customizable by an administrator.
  • the asset sources monitor one or more repositories and automatically generate software assets in a normalized format when the asset sources detect a new or changed artifact in the repositories.
  • the software assets represent sets of related artifacts in the repositories that are reusable in different software development environments. Further, at least a portion of the artifacts comprise software instructions that are reusable in different development environments.
  • a computer-readable medium comprises instructions.
  • the instructions cause a processor to perform a control process that governs how an asset management system captures software assets from an asset source and publishes the asset to an asset library.
  • the process is customizable by an administrator.
  • the asset source monitors a repository and automatically generates a software asset in a normalized format when the asset source detects a new or changed artifact in the repository and the software asset represents a set of related artifacts in the repository that are reusable in different software development environments.
  • at least a portion of the artifacts comprise software instructions.
  • an enterprise may make use of distributed asset sources to provide generalized interfaces to diverse repositories, and to generate software assets in a normalized form that complies with a data description language.
  • the software assets may be generated, for example, in accordance with one or more asset templates that define schemas for the assets.
  • a user such as a library administrator, may readily modify the asset templates to easily control the content and structure of the reusable software assets.
  • This level of abstraction can be leveraged to automate or semi- automate the process of capturing artifacts from the repositories.
  • the asset management system provides users with a centralized asset library that offers a consistent, normalized view of the artifacts maintained over the many diverse repositories.
  • an enterprise can make use of the system for bulk entry of assets, thereby simplifying and accelerating the process of capturing legacy software assets within the enterprise.
  • the asset management system can be configured to provide a full range of asset capture activities, ranging from fully-automated asset capture to semi-automated or manual approaches that require at least some manual intervention during the capture process. Accordingly, the asset management system can be configured to automatically capture assets from the repositories and produce normalized assets, or to automatically require the augmentation of the assets with artifacts not present within the repositories.
  • the asset management system provides for the association of software assets captured from diverse repositories with elements of software models, such as a process model, a structural model, a resource model, an implementation model, and the like. Accordingly, users can develop specifications for software projects, for example, and easily identify reusable software assets within the asset library that may be leveraged for the project.
  • users of the system can easily customize asset governance processes and extend the behavior of the system through an event driven mechanism. For example, the user could define custom groups of users to be informed when an asset is updated.
  • FIG. 1 is a block diagram illustrating an example system that facilitates the reuse of assets within an enterprise generally.
  • FIG. 2 is a block diagram illustrating an example embodiment of an asset management system.
  • FIG. 3 is a block diagram illustrating an example embodiment of an asset source.
  • FIG. 4 is a flowchart illustrating in further detail the interactions between the asset management system and the asset sources to facilitate the reuse of assets within an enterprise.
  • FIG. 5 is a block diagram illustrating an asset source hierarchy.
  • FIG. 6 is a block diagram illustrating in further detail one embodiment of an asset capture module of the asset management system
  • FIG. 7 is a flowchart further illustrating an example mode of operation of the asset capture module.
  • FIG. 8 is a flowchart illustrating an example of retrieving reusable assets from the asset management system.
  • FIG. 9 is a block diagram illustrating an example embodiment in which a production and deployment control (PDC) module facilitates customizable procedures for managing behavior of an asset management system.
  • PDC production and deployment control
  • FIG. 10 is a block diagram illustrating an embodiment of the production and deployment control module in greater detail.
  • FIG. 11 is a flowchart illustrating an exemplary production and deployment control procedure.
  • FIG. 1 is a block diagram illustrating an example system 2 that facilitates the reuse of software assets within an enterprise generally.
  • a reusable software asset refers to a set of related artifacts that have been created or harvested for the purpose of applying that asset repeatedly in different subsequent software development environments.
  • artifacts for software assets include the source code or binary code for the software asset.
  • Other examples include documentation such as a requirements specification, design document, and the like.
  • Additional examples of artifacts include use cases, object models, collaboration diagrams, deployment models, and the like.
  • Further examples include operational artifacts deployed within operational environments of the enterprise, such as component instances deployed within an application server.
  • Repositories 4A- 4N represent any data source within an enterprise that stores information (herein artifacts) relevant to the management of reusable assets.
  • Repository 4A may store, for example, reusable modular software components that may be deployable as components of multiple software systems. These components may be independently deployable code elements that often conform to a standardized component model, such as Enterprise JavaBeans (EJB) and the Component Object Model (COM). These components typically have well-defined interfaces that provide access to the encapsulated services or functions.
  • EJB Enterprise JavaBeans
  • COM Component Object Model
  • An example of this type of repository includes a source code development environment that often stores the source code and the executable code within a repository to provide version control and to facilitate collaborative development.
  • repository 4B may store code elements that present functional interfaces to web services (web svcs) for remote access by client software via networking protocols, such as HTTP, HTTPS, FTP, SOAP, XML messaging, and the like. The enterprise may make use of these assets for quickly assembling web- based applications.
  • This type of software asset includes a server-side code element for providing web-based financial transactions.
  • repository 4C may store schemas that conform to a data description language, such as XML, that can be used to assemble metadata for data transfer within the enterprise.
  • Repository 4D may store modeling information (models) that provides formal representations of various software components.
  • the modeling information may include use cases, object models, collaboration diagrams, deployment models, and the like.
  • the modeling information may conform to the Unified Modeling Language (UML), for example.
  • UML Unified Modeling Language
  • Repository 4N may store documentation related to the software components, including requirements specifications, design documents, and the like.
  • the artifacts stored by repositories 4 are not limited to those artifacts generated during the development of the software components, but can encompass artifacts related to the deployment of the asset, such as particular instances of the software components. Accordingly, system 2 can be used to aggregate artifacts generated through the lifecycle of the asset, including artifacts generated during the development of the asset through the deployment of various instances of the asset, and artifacts generated through ongoing tracking of that asset within the operational environment. Examples of operational artifacts deployed within operational environments of the enterprise include component instances deployed within an application server.
  • Repositories 4 may also comprise "active" repositories that manage data related to an asset in arbitrary form, and present "views" of that assemble the data into a consumable form.
  • a defect tracking system may manage any number of defects that can be organized into views related to specific assets, e.g., views that show only those defects pertinent to particular versions of assets under development.
  • repositories 4 may comprise a variety of storage facilities having very diverse interfaces.
  • System 2 makes use of one or more asset sources 12A-12N (herein asset sources 12) that provide a generalized, abstract interface to the underlying repositories 4.
  • Asset sources 12 interact with repositories 4 to extract the artifacts, and assemble related artifacts to provide composite, normalized views of the reusable assets.
  • asset sources 12 generate assets that describe related artifacts in repositories 4 in a normalized form.
  • Asset sources 12 output the software assets in a normalized form that complies with a data description language.
  • the assets include or reference artifact data from repository 4A, as well as metadata that conforms to the data description language.
  • the data description language describes the format, organization and structure of the asset.
  • the normalized software assets produced by asset sources 12 may take the form of electronic documents, files, scripts, data streams, software objects, and the like, that contain the metadata conforming to the data description language.
  • Other example languages include Extensible Style Language (XSL), Extensible Linking Language (XLL), Standardized Multimedia Authoring Language (SMIL), as well as variations of the Standard Generalized Markup Language (SGML).
  • Asset management system 6 provides a centralized resource for collecting software assets from asset sources 12, and for publishing the software assets to users 8A-8P (herein users 8) within the enterprise. For instance, asset management system 6 may provide a comprehensive, searchable view of the software assets and related artifacts stored within the various repositories 4. By interacting with asset management system 6, users 8 can identify and utilize the assets.
  • System 2 may provide one or more advantageous features for capturing and managing reusable software assets.
  • asset sources 12 to provide a generalized interface to diverse repositories 4 can be leveraged to automate or semi- automate the process of capturing artifact information from repositories 4. Accordingly, an enterprise can make use of system 2 for bulk entry of assets, thereby simplifying and accelerating the process of capturing legacy software assets within the enterprise.
  • asset management 6 and asset source 12 provide users 8 with a consistent, normalized view of the artifacts maintained over the many diverse repositories 4.
  • asset management system 6 and asset sources 12 may interact so as to provide a current view of repositories 4, even though repositories 4 may change over time.
  • asset management system 6 and asset sources 12 can be configured to provide a full range of asset capture activities, ranging from fully- automated asset capture to semi-automated or manual approaches that requires at least some manual intervention of users 8 during the capture process. Accordingly, asset management system 6 and asset sources 12 automatically make available to users 8 assets that are automatically generated from repositories 4. In addition, asset management system 6 and asset sources 12 can be configured to allow users 8 to augment the assets with artifacts not present within repositories 12 during the capture process.
  • FIG. 2 is a block diagram illustrating an example embodiment of asset management system 6 of FIG. 1.
  • Asset management system 6 comprises a number of cooperative modules that facilitate the management of reusable software assets.
  • asset management system 6 may include publishing module 24 and asset capture module 26 that interact with asset sources 12 to collect and aggregate artifacts from repositories 4 (FIG. 1), such as asset source 12A and repository 4A, as illustrated for exemplary purposes in FIG. 2.
  • asset source 12A collects and normalizes assets from repository 4 A.
  • asset source 12A provides an abstract interface for interaction with publishing module 24 and asset capture module 26, thereby hiding the specific requirements of repository 4 A from these modules.
  • asset capture module 26 can augment the information extracted from repository 4A, and provides for resolution of conflicts between the extracted information and information required for publication of the asset by asset source 12 A.
  • asset capture module 26 Upon receiving notification 28 from asset source 12A indicating the availability of a new or updated asset, asset capture module 26 issues one or more messages 30 to asset source 12Ato retrieve the asset.
  • Messages 30 may comprise, for example, Simple Object Access Protocol (SOAP) messages, Remote Method Invocation (RMI) calls, or any other mechanism for communication between modules.
  • SOAP Simple Object Access Protocol
  • RMI Remote Method Invocation
  • asset capture module 26 may access asset library 36 to retrieve a current instance of the asset being produced by asset source 12 A.
  • Asset capture module 26 may present the current instance of the asset as well as the asset produced by asset 12A to users 8 for reconciliation.
  • Asset source 12A and asset capture module 26 make use of asset templates 47 to validate the asset information.
  • asset source 12 A or a schema generation module, generates a virtual schema in accordance by applying asset templates 47 to a base schema for an asset.
  • Asset templates conform to a data description language, such as the extensible markup language (XML), and may include definition templates and constraint templates.
  • the base schema conforms to a schema definition language, and defines a class of elements that conform to the data description language. In this manner, the base schema may remain static and need not be modified to support new classes of assets.
  • a user may create definition templates, constraint templates, or both. More specifically, the user may create one or more definition templates that define subclasses for the elements defined by base schema. In this manner, the user can extend the element definitions of base schema without modifying base schema. [0041] In addition, the user may create one or more constraint templates that define requirements for instances of the elements. Constraint templates may define requirements for instances of elements belonging to the classes defined by base schema, instances of elements belonging to the sub-classes defined by definition templates, or both.
  • constraint templates may define a required cardinality for the instances of the elements, a required minimum or maximum number of the instances, a range for a required number of the instances of the elements, a required attribute for the instances, a required parameter value for the instances of the elements, specific required instances of the elements, and the like.
  • Asset source 12A generates the schema information of virtual schema by first generating a data structure representing the classes of elements defined by base schema. Asset source 12A then applies definition templates to base schema to extend the schema information to include the sub-classes of elements defined within definition templates. Finally, Asset source 12A applies constraint templates to update the schema information to include the restrictions defined by constraint templates.
  • Definition templates and constraint templates conform to the data description language to which the elements of base schema comply, e.g., XML. Accordingly, the user can easily create and modify definition templates and constraint templates, and need only modify base schema in order to support new classes of assets.
  • Asset source 12A and asset capture module 26 may use asset templates 47 to drive the asset capture process. Based on the content and structure described by the asset schemas, which may be dynamically generated from asset templates 47, asset source 12A and asset capture module 26 identify any incomplete artifact data that needs to be added to the capture asset, either manually or in automated fashion. In this manner, asset source 12A can produce assets in a normalized form that complies with the schema information. The assets are normalized in the sense that the assets are described in a data description language, such as XML, and the elements and attributes are substantially similar.
  • the following pseudocode illustrates an exemplary base schema, definition template and constraint template that may be used for capturing information related to reusable software assets.
  • the following exemplary base schema defines a parent class of elements named ASSET, and two child classes of elements named KEYWORD and RELATION.
  • the following exemplary definition template illustrates the definition of subclasses for the classes of elements KEYWORD and RELATION, thereby extending the definitions provided by the above-listed exemplary base schema.
  • the above-illustrated exemplary definition template makes use of elements DEFINE-KEYWORD and DEFINE-RELATION to define specific sub-classes for these respective classes of elements defined by the exemplary base schema. More specifically, for class KEYWORD, the exemplary definition template defines a subclass CATEGORY having two possible values: FINANCE and BANKING. The exemplary definition template defines two additional sub-classes for the class KEYWORD including PRICE and ALIAS. For the class RELATION, the definition template defines two sub-classes of USES and PREDECESSOR. [0048] The following exemplary constraint template provides requirements for the use of, and constraints for, the instances of the elements.
  • the above-illustrated exemplary constraint template makes use of elements USE-KEYWORD and USE-RELATION to define specific requirements for instances for the sub-classes of elements defined by the definition template. More specifically, the exemplary constraint template allows at least one instance of an element belonging to the sub-class CATEGORY. The exemplary constraint template further allows at most one instance of an element belonging to the sub-class PRICE. Similarly, the exemplary constraint template allows at least one instance of an element belonging to the sub-class PREDECESSOR, and requires at least one instance of an element belonging to the sub-class USES.
  • asset capture module 26 may vary depending on whether asset management system 6 is configured for manual, semi-automated, or automated asset capture.
  • Asset capture module 26 may comprise, for example, editing tools by which a user 39 can manually supply information to complete or augment the information captured from repository 4A. In addition, the user may interact with the editing tools to resolve any conflicts between the extracted asset information and the required information.
  • asset capture module 26 may invoke one or more scripts to automate the augmentation of information with the asset information extracted by asset source 20.
  • Asset capture module 26 may be embedded within asset management system 6 as illustrated, or remotely connected to the asset management system 6.
  • asset source 12A may bypass asset capture module 26 by withholding notification 28, and may issue notification 32 to publishing module 24 indicating that the asset is ready for publishing to asset library 36.
  • asset source 12A validates the asset information using asset templates 47.
  • publishing module 24 Upon receiving notification 32, publishing module 24 issues messages 34 to asset source 12Ato retrieve the normalized asset from asset source 12 A. Upon retrieving the normalized asset, publishing module 24 stores the asset within asset library 36.
  • Asset management system 6 may further include a modeling module 38 that allows users 8 to develop models 37 having one or more elements that represent functionality of interest to the enterprise.
  • user 8 may interact with modeling module 38 to develop models 37 that may include process models, structural models, resource models, implementation models, and the like, for a software development project.
  • Modeling module 38 may comprise an integrated proprietary modeling tool, or any conventional modeling tool capable of producing modeling information, such as Rational RoseTM from the Rational Software Corporation of Cupertino, California, or combinations of both such tools.
  • Asset retrieval module 42 allows users 8 to access and manage asset data within asset library 36.
  • asset retrieval module 42 allows one or more users 8 to develop model -driven search specifications (search specs) 48.
  • asset retrieval module 42 allows users 8 to select elements from one or more of models 37 to build search specifications 48.
  • Scoring engine 44 scores each asset published by publishing module 24 against search specifications 48 to aid in identifying the most relevant assets within asset library 36.
  • users 8 can selectively retrieve assets from asset library 36 using modeling data from models 37 to guide the search process.
  • Asset library 36 may be implemented as any data source, such as a relational database management system (RDBMS), an object- oriented database, flat files, and the like.
  • RDBMS relational database management system
  • FIG. 3 is a block diagram illustrating an example embodiment of asset source 12 A.
  • Extraction and validation (EV) module 56 provides the core logic of asset source 12A, and may include one or more software components. EV module 56 monitors repository 4A, or receives notifications from repository 4A, to identify any new or updated artifacts. Upon identifying any such artifact, EV module 56 generates an asset having metadata and data that may include or reference the new or updated artifact.
  • EV module 56 caches an instance of the asset within staging area 58.
  • EV module 56 validates the asset using asset templates 47 to identify whether the asset is ready for publishing, or perhaps requires reconciliation or further artifact data.
  • EV module 56 generates the assets in a form compliant with a data description language, and may include metadata as well as actual artifact data, or references to artifacts stored within either repository 4 A or artifact storage 60.
  • Asset source 12A manages artifact storage 60 to store artifact data retrieved from repository 4A as needed, and provides artifact interface 53 for external access. Accordingly, upon publication to asset library 36 (FIG. 2), the stored assets may comprise metadata, artifact data, references to artifact data within artifact storage 60 of one or more asset sources 12 or a central artifact storage, or any combination thereof.
  • Asset source 12A includes a read-only interface 54 for use by publishing module 24 (FIG. 2) for extracting assets in a normalized form compliant with a data description language.
  • publishing module 24 invokes read-only interface 54 to direct EV module 56 extract one or more asset from staging area 58.
  • publishing module 24 Upon receiving the assets from staging area 58 via read-only interface 54, publishing module 24 stores the assets within asset library 36.
  • asset source 12A may include a writable interface 52 that allows asset capture module 26 to augment the artifact information of the underlying repository 4A or artifact storage 60.
  • Asset capture module 26 invokes read-only interface 54 to direct EV module 56 to extract one or more asset from staging area 58.
  • asset capture module 26 Upon receiving the assets from staging area 58 via read-only interface 54, asset capture module 26 augments the artifact data via writable interface 52 using manual, semi-automated, or automated techniques, as described herein.
  • the following code illustrates exemplary embodiments for interfaces 52, 53, and 54, that may be provided by asset source 50.
  • This method is used as a callback from the "consumer" of this AssetSource, such as the publishing module, to indicate that it is now using the asset and that the AssetSource should not allow changes to the visble artifacts of the asset.
  • This method may be used to give the AssetSource an XML structure consisting of a list of classifier criteria which is then used by the AssetSource to expose only those assets from its underlying sources that meet the given criteria.
  • FIG. 4 is a flowchart illustrating in further detail the interactions between an example asset management system 6 (FIG. 1) and asset sources 12 to facilitate the reuse of assets within an enterprise.
  • publishing module 24 (FIG. 2) and asset capture module 26 of asset management system 6 register with each of asset sources 12 as potential "consumers" of assets (68).
  • each of publishing module 24 and asset capture module 26 may communicate a unique communication handle, such as a port number, socket handle, callback pointer, and the like, which asset sources 12 use to communicate with the modules.
  • asset sources 12 may use the communication handles to notify publishing module 24 and asset capture module 26 of new or updated assets.
  • asset sources 12 detect new or updated artifacts within repositories 4 (70)
  • the asset sources 12 extract the information from repositories 4 (72).
  • Asset source 12 A may extract new or updated artifact information stored within repository 4A.
  • FIG. 4 is described in reference to asset source 12A and repository 4 A.
  • asset source 12A After extracting the artifact information, asset source 12A, generates the asset based on the extracted artifact information in a form that complies with a data description language, such as XML, and stores the asset within staging area 58 (74). Asset source 12A selects one or more asset templates 47 that provide an asset schema for controlling the generation. During this process, asset source 12A validates the generated asset to determine whether any additional information is needed to augment or reconcile the artifact information (76).
  • a data description language such as XML
  • asset source 12A determines whether the asset is an editable asset, possibly based on configuration information or the asset schema provided by asset templates 47 (78). If so, asset source 12A sets a status of the asset as "editable” (80), and issues notification 28 to asset capture module 26 to indicate that an editable asset is available within staging area 58 (82). [0066] In response, asset capture module 26 provides the required information, possibly in a manual, semi-automated, or fully-automated manner (84). In addition, asset capture module 26 may assist users 8 in reconciling the instance of the asset stored within staging area 58 with a current version of the asset that may be stored within asset library 36.
  • asset source 12A Upon completion of the editing process by asset capture module 26, asset source 12A changes the status of the asset within staging area 58 from “editable” to “publishable” (86). Similarly, if the asset was non-editable, or if additional information was not needed (no branch of 78), asset source 12A bypasses asset capture module 26 and marks the asset as "publishable” (86). [0067] Next, asset source 12A issues notification 32 to publishing module 24 that an asset within staging area 58 is ready for publishing (88). Finally, publishing module 24 retrieves the asset from asset source 12A (90), and publishes the asset to asset library 36, possibly in a manual, semi-automated, or fully-automated manner, thereby making the asset available to users 8 via asset retrieval module 42. Asset source 12A sets the status of the asset within the staging area as "published” (90), and repeats the process for subsequent new or updated asset artifacts.
  • FIG. 5 is a block diagram illustrating exemplary an asset source hierarchy 100 in which asset sources 102A-102E (herein asset sources 102) are coupled to repositories 104 A-D.
  • asset sources 102 need not have a one-to-one relationship with repositories 104, and may be hierarchically arranged to provide multiple abstract levels as assets are captured and published.
  • Hierarchy 100 is illustrated for exemplary purposes. Accordingly, asset sources 102 may be hierarchically arranged as required to capture assets from a wide-variety of environments.
  • asset sources 102A-102C are coupled to repositories 104, and form a first layer of asset source hierarchy 100. More specifically, asset source 102 A is configured to generate assets based on artifacts stored within repository 104A. Similarly, asset source 102B is configured to generate assets based on artifacts stored within repository 104B. Asset source 102C is configured to generate assets based on artifacts stored within repository 104C and repository 104D. In other words, asset source 102 C monitors both repository 104C and repository 104D, and generates assets based on new or updated artifacts.
  • asset sources 102A-102C comprise read-only asset sources, and publish assets to upper levels of asset source hierarchy 100 without invoking a capture tool. Accordingly, asset sources 102A-102C need not support writeable interfaces.
  • Asset source 102D receives and aggregates assets from asset sources 102 A, 102B.
  • asset source 102D may receive incomplete assets from asset sources 102 A, 102B, and may combine the artifacts, or references thereto, of the received assets to form aggregate assets.
  • Asset source 102D may invoke asset capture tool 106A to augment or reconcile the aggregate assets.
  • asset source 102E receives and aggregates assets from asset sources 102 C, 102D, and may invoke asset capture tool 106B to augment or reconcile the aggregate assets. Accordingly, the aggregate assets produced by asset source 102E should be complete, and in a state for publishing to asset library 36.
  • asset sources 102D, 102E may treat assets from each of sources 102A, 102B, 102 C as independent assets for publishing to asset library 36.
  • FIG. 6 is a block diagram illustrating in further detail one embodiment of asset capture module 26 of asset management system 6.
  • asset capture module 26 offers users 8 and library administrator 48 (FIG. 2) the flexibility of changing asset capture workflow, as well as the structure and content of the captured assets, by changing asset templates 47.
  • capture logic 112 maps the artifacts of the asset produced by asset source 12A to searchable elements of models 37.
  • capture logic 112 makes use of rules engine 120 to map the metadata and artifact data of the generated assets to elements of models 37.
  • rules engine 120 may comprise a Java-based rules engine, such as JRulesTM from ILOG Incorporated of Paris, France. Other embodiments may implement the mapping process through other techniques, e.g., hard-coded procedural logic.
  • FIG. 7 is a flowchart further illustrating an example mode of operation of asset capture module 26.
  • capture logic 112 receives notification 28 from asset source 12A indicating an asset within staging area 58 has been generated and is ready for editing (122).
  • capture logic 112 retrieves the current asset from asset source 12A (124), and augments or reconciles the artifacts of the current asset (126).
  • asset templates 47 as described above, capture logic 112 may drive user interface 110 to capture the required information from users 8.
  • capture logic 112 may invoke one or more scripts or other components to automate the process.
  • capture logic 112 maps the asset to one or more model elements of models 37 (128).
  • Capture logic 112 may, for example, invoke rules engine 120 to perform the mapping based on mapping rules 118.
  • capture logic 112 may drive user interface 110 to map the assets to model elements based on input from users 8. In this manner, capture logic 112 builds associations between generated assets and the elements of models 37.
  • Assets may be associated with, for example, interfaces, components, functions, case steps, and other elements that may be described within models 37.
  • capture logic 112 updates the asset to include additional metadata based on the developed mapping, as well as any additional artifacts and other metadata that may have been provided by users 8 or automated scripts (130). Finally, capture logic 112 communicates the updated asset to asset source 12A for storage in staging area 58 (132).
  • FIG. 8 is a flowchart illustrating an example operation of retrieving reusable assets from asset management system 6.
  • asset retrieval module 42 selects one or more elements of models 37 (140) and constructs a model-based search specification 48 (142). The user may, for example, graphically view one or more of models 37, and identify elements, such as interfaces, components, functions, case steps, and the like, for inclusion within the search specification.
  • asset retrieval module 42 may receive additional search criteria, such as keywords and other classifiers including an operating system, license type or language, for inclusion within the search specification 48 (144).
  • asset retrieval module 42 directs scoring engine 44 to search asset library 36 in accordance with the search specification 48 (146). Based on the search specification, scoring engine 44 ranks the assets within asset library 36 using a scoring algorithm that determines, for example, how closely each asset satisfies the criteria of the search specification 48 (148).
  • Asset retrieval module 42 displays to the user the ranked assets found within asset library 36 by scoring engine 44 (150), and selects one or more of the assets in response to user input (152). Based on user request, asset retrieval module 42 attaches the selected assets to the search specification 48 (154). In this fashion, the user can selectively retain the assets for a software project.
  • scoring engine adaptively updates the search specification 48 based on the assets attached by the user, thereby dynamically refining scoring algorithm (156).
  • FIG. 9 is a block diagram illustrating an alternative embodiment in which asset management system 6 includes a Production and Deployment Control (“PDC”) module 170.
  • PDC Production and Deployment Control
  • PDC module 170 performs a production and deployment control process each time asset management system 6 receives an external event or generates an internal event. For example, an external event might occur when user 8 manually submits an asset to be included in asset library 36 or when asset capture module 26 discovers a new asset.
  • the production and deployment control process governs how asset management system 6 handles the event.
  • library administrator 49 can manage the behavior of asset management system 6. For instance, library administrator 49 can utilize PDC module 170 to define asset management validations, processes and roles, which asset management system 6 then automates. For simple deployments, automation can occur entirely within asset management system 6. For more sophisticated uses, library administrator 49 can program PDC module 170 to exploit external tools, workflows (both manual and automated) and other mechanisms. [0084] As illustrated in FIG. 9, PDC module 170 communicates with several other components of asset management system 6. For example, PDC module 170 communicates with library administration module 46 to receive input from library administrator 49. In addition, PDC module 170 interacts with asset capture module 26 in a variety of ways.
  • PDC module 170 may instruct asset capture module 26 to automatically validate one or more asset artifacts gathered during the asset capture process, or to delay completion of the asset capture process (i.e., step 88 of Figure 4) until a supervisor approves inclusion of the asset.
  • PDC module 170 may communicate with publishing module 24 to prevent publication unless some event occurs.
  • PDC module 170 may interact with asset retrieval module 42 to prescribe a production and deployment control process that must occur before user 8 retrieves an asset from asset library 36. In this way, library administrator 49 could automate a procedure for requesting permission to view assets. [0085] In this manner, PDC module 170 allows users to easily customize asset governance processes and extend the standard behavior of asset management system 6 through an event driven extension mechanism.
  • LPC Library Process Configuration
  • PDC module 170 may read the LPC document, parse task specifications from the LPC document, and parse task preconditions from the LPC document. For instance, PDC module 170 may allow customers to define "Listeners” that encapsulate custom behavior and specify the events and conditions that will cause this behavior to be invoked.
  • the LPC document is in a format that complies with a data description language such as extensible markup language (XML).
  • FIG. 10 is a block diagram illustrating an example embodiment of PDC module 170 in greater detail.
  • PDC module 170 consists of several components. Foremost among these items is a control unit 172.
  • Control unit 172 may represent a software module capable of interpreting XML documents, receiving events from an event receiver 176, receiving input from a network interface 178, and performing input/output operations on an asset request store 184.
  • library administrator 49 can define sets of events, filters, listeners, actions, groups, and process integration points.
  • PDC module 170 stores these sets in Library Process Configuration ("LPC") document 174.
  • LPC Library Process Configuration
  • PDC module 170 supplies various default events, listeners, actions, roles, groups, and process integration points in a default LPC store 180.
  • PDC module 170 may store LPC document 174 in XML format.
  • Events represent the occurrence of a change of state within asset management system 6. This change of state may be the result of an automatic or user driven process.
  • PDC module 170 pre-defines a set of events for known significant changes. Typically, pre-defined events contain context information in attributes or properties of the event. In addition to pre-defined events, PDC module 170 also supports custom events introduced in LPC document 174. Each kind of event may be uniquely identified by its "event type" and may be additionally classified by the following attributes:
  • Asset ID - the id of the asset associated with this event.
  • Group Name the name of the organizational group associated with this event.
  • Filters encapsulate filtration criteria that control module 172 applies to an event or set of events. Filters allow more precise triggering of listener behavior than simple events. For example, library administrator 49 (FIG. 9) can program a filter to trigger an action when any one of a set of specified events have occurred. In addition, library administrator 49 may also specify one or more classification criteria sets, each of which supply a set of conditions that must occur before PDC module 170 notifies a listener. PDC module 170 stores specific classification criteria sets in user data 182.
  • Using a classification criteria set permits library administrator 49 to select the precise conditions under which control unit 172 invokes a listener. Filters also allow library administrator 49 to add event severities, categories, user IDs, asset IDs, and Group names to the filtration criteria. For example, library administrator 49 might include the following XML code in LPC document 174:
  • This code creates a filter that triggers a listener only when either the ARTIF ACT_CREATED and ARTIF ACTJJPD ATES events have occurred and the conditions of the "WebserviceAssets" Classification Criteria Set have been fulfilled.
  • Library administrator 49 may also select the compliment of the specified Classification Criteria Sets in a filter by specifying the Boolean attribute "complement" as "true”. This allows all events pertaining to assets that do not match the specified Classification Criteria Sets. For example,
  • control module 172 checks a set of actions to see whether all of the preconditions for an action are fulfilled. When all of the preconditions of a filter are met, control unit 172 invokes the listener or listeners associated with the action. In addition, an action may define one or more result events. Control module 172 releases such result events when control module 172 completes the execution of the specified listener or listeners.
  • Actions take a list of one or more trigger events (events or filters). By default, if any event matching the list of specified events or filters occurs, control unit 172 invokes the specified listener. Alternatively, if library administrator 49 uses the "SYNCHRONIZED" flag, control unit 172 only invokes the listener when all specified trigger-events (events or filters) have occurred.
  • Library administrator 49 may associate a result event with a listener return value (a "result-condition"). Doing so instructs control unit 172 to trigger different events based on the success or failure of the listener's processing. If the action does not specify a listener, but does specify a result event, control unit 172 simply raises the specified result event. In effect, such an action converts the trigger events or filters into the result event. Under such circumstances, control unit 172 passes the attributes and properties of the triggering event to the result events. [0094] The following exemplary XML code defines an action. Specifically, when the ASSET_SUBMIT event occurs, control unit 172 invokes the "WSDLValidator” listener. When control unit 172 has finished processing the "WSDLValidator” listener, this code causes control unit 172 to raise the ASSET_PUBLISH_READY event and sets the result-condition to 0.
  • Listeners define the substantive behavior of a task that PDC module 170 undertakes. Specifically, a listener provides a reference to a class or service that encapsulates custom behavior of the asset management system.
  • Library administrator 49 defines listeners using a "listener" element within the "listeners" section of LPC document 174. Library administrator 49 must give each listener a unique name within LPC document 174. Library administrator 49 must also associate each listener must with a listener class. The listener class is name of the actual implementation of the listener.
  • a listener definition may also include the properties used by control unit 172 to configure the listener class instance.
  • the following is an example of a listener definition that defines a listener named "WSDLValidator” that uses the listener class "XMLArtifactValidator”.
  • the WSDLValidator listener could describe a method that validates Web Service Description Language (WSDL) files. (WSDL files are encoded in XML.)
  • WSDL files are encoded in XML.
  • a value is specified for the property "target-artifact- category" that is used to configure the listener instance.
  • PDC module 170 supports both internal and external listeners.
  • PDC module 170 provides a library of internal listener classes to perform such tasks as Universal Description, Discovery, and Integration (UDDI) publishing and XML validation. For instance, in the example used above, "XMLArtifactValidator" was an internal listener.
  • UDDI Universal Description, Discovery, and Integration
  • External listeners are listeners provided by library administrator 49 rather than PDC module 170.
  • external listeners are web services that implement an ExternalListener service interface definition.
  • Library administrator 49 may define an external listener in a similar fashion in LPC document 174 as an internal listener.
  • the "class" attribute is set to "ExternalSOAPListener".
  • the properties for an external listener may include the URL of a web service implementing the ExternalListener interface, and optionally a user ID and password to use for basic hyper-text transfer protocol (HTTP) authentication to the web service.
  • PDC module 170 may use additional properties to the external listener service and used for configuration specific to that listener implementation.
  • PDC module 170 when PDC module 170 invokes an external listener, PDC module 170 transfers properties specified in LPC document 174 to the implementation of the external listener. In some circumstances, PDC module 170 may transmit a request that includes the properties to a web service on a remote system through network interface 178 that processes the external listener implementation. Subsequently, PDC module 170 may receive a result from the listener implementation. [0099] The following is an example of an external listener definition:
  • PDC module 170 allows library administrator 49 to define custom roles for users and groups. These custom roles may supplement the any standard roles included in default LPD store 180. Custom roles allow library administrator 49 to define which users are to be involved in a particular library process. For example, library administrator 49 can specify a custom role such that a representative from the performance team that must approve assets prior to their publication. Like events, filters, and listeners, library administrator 49 defines custom group roles in the "group-roles" element in LPC document 174. Defining a group-role in LPC 174 document makes the group role available in the list of roles to assign to a user through the interface of library administration module 46. [0101] The following example defines three group roles:
  • default LPC store 180 contains pre-defined group roles. For instance, default LPC store 180 may contain groups such as "Project Manager”, “ACE”, “Publisher”, and "Asset Owner”.
  • library administrator 49 can define the complement of the set of specified groups by using the "complement” attribute on the "groups” sub-element. For example, by using the "complement” attribute, library administrator 49 could make an event apply to all users 8 who are not members of the specified groups.
  • the following XML code allows events for all groups except “group 1" and "group2".
  • PDC module 170 also includes predefined user actions referred to herein as "process integration points.” Because a primary task of PDC module 170 is to control submissions to and deletions from asset library 36, PDC module 170 provides a default method for request/approval processes. Process integration points allow library administrator 49 to customize the request/approval process. [0105] When library administrator 49 has enabled a particular process integration point, control unit 172 directs the web browser of user 8 to a "submit request" page. A "submit request" page gives user 8 the opportunity to submit an asset request. For example, user 8 might submit a request to add the new software module she designed to library 36. The submission of this request triggers an event.
  • This event may trigger an approval/rejection process within the PDC process.
  • This approval/rejection process may request approval of the artifact from a set of users. Subsequently, the approval/rejection process may receive replies from the set of users. The approval/rejection process may be aborted if any member of the set of users rejects the artifact.
  • the supervisor of user 8 (where user 8 has been previously associated with the group role "supervisor" by a library administrator) might review the software module for defects before approving the inclusion of the software module into library 36.
  • PDC module 170 defines an "ASSET_SUBMISSION" and an
  • control unit 172 creates and initializes an asset request record.
  • PDC module 170 keeps such asset request records in an asset request record store 184.
  • Each asset request record contains information regarding the current state of a user's request for an asset.
  • Control unit 172 updates this asset request record as the request progresses through the approval process.
  • An asset request record may contain the following information:
  • the submission of a request causes an event that, in turn, may lead control unit 172 to invoke one or more listeners.
  • the listeners involved in the approval process update the current state, the active status, and the pending approvers of an asset request record. For example, a process for an asset request may occur as follows:
  • User 8 submits a request for an asset through a user interface supplied by asset management system 6.
  • Control unit 172 creates and initializes an asset request record for the request.
  • the request for the asset causes an event that triggers a listener. 4.
  • the listener notifies some set of users with designated role or roles in a particular group specified in the asset request record.
  • the approver's action to either approve or reject the asset request triggers a different listener. This listener, in turn, might notify users in another group role.
  • a listener Upon reaching the final approval state of the asset request, a listener is triggered that performs the requested action (e.g. asset deletion). At this point the asset request record is marked as inactive.
  • the requested action e.g. asset deletion
  • Asset management system 6 may provide a graphical or textual user interface to facilitate any of these steps.
  • asset management system 6 may provide an internal listener class called "GenericRequestHandler" that library administrator 49 can use to configure standard processes as shown here.
  • PDC module 170 supplies a special class of events associated with approval and rejection of an asset request.
  • the act of approving an asset request generates an event of the form:
  • FIG. 11 is a flowchart illustrating an exemplary approval/rejection process facilitated by PDC module 170. Initially, user 8 requests permission to submit an asset to asset management system 6 (190).
  • PDC module 170 After user 8 has submitted the request, PDC module 170 automatically notifies (e.g., via an electronic message) the owners of the asset (192) and requests their approval or rejection (194). If the owners of the asset reject the request (e.g., via electronic messages), PDC module 170 informs user 8 that the asset owners have denied the request of user 8 (196). Else, if the asset owners approve the request, PDC module 170 simultaneously notifies a database architect (198) and a security architect (200) and requests their acceptance or rejection (202). Upon approval by both the database architect and the security architect, PDC module 170 allows the request of user 8 to proceed (206).
  • PDC module 170 automatically notifies (e.g., via an electronic message) the owners of the asset (192) and requests their approval or rejection (194). If the owners of the asset reject the request (e.g., via electronic messages), PDC module 170 informs user 8 that the asset owners have denied the request of user 8 (196). Else, if the asset owners approve the request,
  • PDC module 170 informs user 8 of the rejection (196).
  • the approval of the security architect or the database architect might not be necessary.
  • the dashed line of FIG. 11 indicates the provisional nature of their approval.
  • library administrator 49 may specify several elements of XML code within LPC document
  • These elements include process integration points, sets of group roles, sets of filters, sets of actions, and sets of listeners.
  • 49 includes the following code to instruct control unit 172 to use the process integration point:
  • library administrator 49 defines which groups are to be involved in the asset submission process:
  • filters define as set of conditions, such that when all of the conditions are fulfilled, the filter is triggered.
  • filters there are four filters:
  • each filter references a classification criteria set: "SecurityApplicableAssets" or “DatabaseApplicableAssets”. These classification criteria sets define which assets require the approval of the security architect or the database architect. Thus, for instance, if the "SecurityApplicableAssets" does not contain a certain asset type, then the security architect does not need to approve the submission of assets of that type. This property is reflected in the "Security ArchitectApprovalNotRequired" filter.
  • control unit 172 takes when an event or filter occurs.
  • an action informs control unit 172 which listener to invoke and whether control unit 172 should raise any subsequent events.
  • FIG. 11 details a relatively complex approval/rejection process, library administrator 49 must define nine separate actions.
  • the first action is responsible for making control unit 172 notify the asset owner.
  • control unit 172 invokes the "AssetOwnerNotification” listener (defined below).
  • the flowchart of FIG. 11 reflects this action as step 192.
  • Library administrator 49 next specifies the actions relating to approval by the security architect and the database architect. These actions do not use an event as a trigger, but rather control unit 172 triggers these actions based on the filters defined above.
  • Control unit 172 does not need to perform further activities because approval of these groups is not necessary for the approval process to continue. Further note that these actions cause control unit 172 to raise an associated approval event.
  • control unit 172 invokes the submissionApproval listener only when both of the trigger events have occurred. [0123] Similarly, library administrator 49 creates an action that specifies what control unit 172 must do when a party rejects the submission. Notice in the XML code below that library administrator does not include the SYNCHRONIZED flag. This is because control unit 172 should reject the submission if any of the parties reject.
  • library administrator 49 creates actions for the final submission of the asset or the deletion of the asset.
  • VaIUe 11 APPROVER-ACTION-REQuIRED 11 I> ⁇ /properties> ⁇ /listener>
  • each listener uses the built-in "GenericRequestHandler” class.
  • the various properties associated with each of these listeners act as input parameters for a particular invocation of this class.
  • each of these listeners provides GenericRequestHandler with information concerning how to update the asset request record and who to inform. For instance, in the "DatabaseArchitectNotification” listener, the listener specification tells GenericRequestHandler to update the "request- state" field of the asset request record to "Pending Architect Approvals". In addition, the "recipient-role” field tells GenericRequestHandler to notify “DatabaseArchitect.” Note that specialized Listeners may be implemented to handle more complex approval mechanisms.
  • a "majority rules" Listener could be implemented that accumulates approval/rejection votes from all users associated with a group role and raises the appropriate approval or rejection event based upon the results of the vote.
  • a "unanimous approval” Listener could be implemented that requires all users associated with a group role to vote in favor of approval in order for an approval event to be raised; otherwise a rejection event will occur.
  • library administrator 49 defines the "AssetSubmission” listener.
  • the "AssetSubmission” listen is associated with the "AssetSubmissionListener” class.
  • the "AssetSubmissionListener” class is another built-in class that contains instructions for control unit 172 to proceed with the asset submission as requested. This listener corresponds with item 206 of the flowchart in FIG. 11.
  • an LPC document corresponding to the flowchart of FIG. 11 may look like this:

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

De façon générale, des techniques facilitant la réutilisation de biens logiciels à l'intérieur d'une entreprise sont décrites. Un bien logiciel, tel qu'utilisé dans cette invention, se rapporte à un ensemble d'un ou plusieurs artefacts associés qui ont été créés ou récoltés dans le but d'appliquer ce bien de façon répétée dans des environnements de développement subséquents. Un système qui comprend, par exemple, un répertoire destiné à stocker des artefacts, et une source de bien destinée à générer un bien logiciel basé sur ces artefacts. Le système comprend en outre un système de gestion de biens qui reçoit le bien logiciel de la source de bien et stocke le bien logiciel dans une librairie de bien. Le système peut enfin comprendre un modèle possédant un ou plusieurs éléments, et un module d'extraction de biens afin d'extraire de façon sélective un sous-ensemble de biens logiciels de la librairie de biens basés sur l'entrée par un utilisateur identifiant un ou plusieurs des éléments. Le système peut aussi comporter un sous-système qui permet à des utilisateurs de personnaliser les processus de gestion de biens et un système d'adaptation se comportant à travers un mécanisme commandé par transition.
EP06770546A 2005-05-20 2006-05-17 Gestion d'objets personnalisables pour une bibliotheque logicielle repartie reutilisable Withdrawn EP1889153A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68293705P 2005-05-20 2005-05-20
PCT/US2006/019189 WO2006127377A1 (fr) 2005-05-20 2006-05-17 Gestion de bien personnalisable destinee a une librairie logicielle reutilisable repartie

Publications (1)

Publication Number Publication Date
EP1889153A1 true EP1889153A1 (fr) 2008-02-20

Family

ID=36809250

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06770546A Withdrawn EP1889153A1 (fr) 2005-05-20 2006-05-17 Gestion d'objets personnalisables pour une bibliotheque logicielle repartie reutilisable

Country Status (3)

Country Link
EP (1) EP1889153A1 (fr)
CA (1) CA2607129C (fr)
WO (1) WO2006127377A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT13448U1 (de) * 2013-02-05 2013-12-15 Schnitzhofer Florian Programmlogik zur Spezifikation der Anforderungen an ein Entwicklungsergebnis

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230380A (ja) * 1994-02-15 1995-08-29 Internatl Business Mach Corp <Ibm> 適用業務プログラムの利用管理方法およびシステム
US6460023B1 (en) * 1999-06-16 2002-10-01 Pulse Entertainment, Inc. Software authorization system and method
US6640249B1 (en) * 1999-08-31 2003-10-28 Accenture Llp Presentation services patterns in a netcentric environment
WO2002041144A1 (fr) * 2000-11-01 2002-05-23 Aeroflex Altair Cybernetics Corporation Moteur logiciel pour transformation de l'information
JP2004530185A (ja) * 2001-02-01 2004-09-30 エイビーエヌ アムロ サービスィズ カンパニー,インコーポレイテッド 自動ライセンス設備のためのシステムおよび方法
US7149734B2 (en) * 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
US7322024B2 (en) * 2002-03-18 2008-01-22 Logiclibrary, Inc. Generating reusable software assets from distributed artifacts

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006127377A1 *

Also Published As

Publication number Publication date
CA2607129C (fr) 2014-09-30
CA2607129A1 (fr) 2006-11-30
WO2006127377A1 (fr) 2006-11-30

Similar Documents

Publication Publication Date Title
US8412813B2 (en) Customizable asset governance for a distributed reusable software library
US7322024B2 (en) Generating reusable software assets from distributed artifacts
CA2451523C (fr) Gestion de biens logiciels reutilisables
US8954375B2 (en) Method and system for developing data integration applications with reusable semantic types to represent and process application data
AU2002346038A1 (en) Managing reusable software assets
US8429527B1 (en) Complex data merging, such as in a workflow application
US7519976B2 (en) Collaborative business plug-in framework
US7080092B2 (en) Application view component for system integration
US20040187140A1 (en) Application framework
JP2007506170A (ja) オンデマンド・ビジネス・コラボレーション用の情報ハイパーチェーン管理のための方法および装置
US20140006216A1 (en) Distributed order orchestration system that transforms sales products to fulfillment products
WO2003034285A1 (fr) Composant de vue d&#39;application pour intégration de systèmes
Blake An agent-based cross-organizational workflow architecture in support of web services
Cachero et al. Advanced Conceptual Modeling of Web Applications: Embedding Operation Interfaces in Navigation Design.
CA2607129C (fr) Gestion de bien personnalisable destinee a une librairie logicielle reutilisable repartie
Holliday Professional SharePoint 2007 Records Management Development: Managing Official Records with Microsoft Office SharePoint Server 2007
Tombros An event-and repository-based component framework for workflow system architecture
Gavin et al. WebSphere Business Integration Adapter Development: An Introduction to the Basics
Martin An extended workflow pattern for automating user interface design and implementation
Concha Contreras Analysis and Design of a Collaboration Opportunity Characterization Tool for Virtual Organization Creation-Edición Única
Sadtler et al. Using WebSphere Message Broker as an ESB with WebSphere Process Server
AU2002347920A1 (en) Application view component for system integration

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20071023

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB

RIN1 Information on inventor provided before grant (corrected)

Inventor name: GRASER, TIMOTHY, J.

Inventor name: CARLSON, BRENT, A.

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE FR GB

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB

17Q First examination report despatched

Effective date: 20161205

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20170419