The subject matter, which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
In this invention, a technique is provided to automatically identify data operations that are requested by business processes. These data operations are not explicitly defined in business processes. From the perspective of workplace users, a set of possible data operations is identified on data objects and the users are supported to complete tasks defined in business processes. These data operations can be used as default data operations for the site developers who will provide the implementations of the identified data operations for workplace applications. More specifically, the identified data operations allow a user to access and manipulate the data required by a task enactment or generated from a task completion. In this approach, the knowledge embedded in the business process modeling domain is leveraged. Data operations related to business items (i.e., data) are inferred by analyzing implicit knowledge, for example, data attributes and data flow information, contained in an underlying workflow. Data types are then utilized as defined in workflows to extract common operations for the data of the same data type. Moreover, constraints on the usages of the identified data operation are defined so as to avoid data operations that divert the business activities from the intended workflow. Finally, the data description in workflows is enhanced by adding newly identified data operations as new attributes to the related data. As a result, data and the associated data operations are added to the role model of our proposed workplace generation framework. In this manner, user interface components can be automatically generated to represent and manipulate data in a role-based and personalized workplace.
The detailed methodology includes first analyzing the workflow to obtain business items. As used herein, business items are generally defined as business artifacts or business data used in business operations. Examples of business items are documents, invoices, or sales catalogs. A business item is modeled by attributes. Moreover, a business item can have business item instances that inherit attributes and default values of a business item. For example, an “Invoice” can be modeled as a business item. Individual invoices (such as Invoice #1) are business item instances. In this case, a business item instance can serve as an input to a task or can be generated by the completion of a task. The workflows can be analyzed to retrieve all business items. For the workflows modeled by Websphere Business Integration software 5.1 commercially available from IBM, business items and their attributes are well defined. Furthermore, business item instances and their usages in workflow can be obtained. The usages of a business item instance keep track of tasks that require the business item instance as inputs, tasks that emit the business item instance as outputs, and the roles that perform tasks. Based on this usage information, access controls to business data items and display data related user interface components in a workplace in an appropriate context can be defined. A parser to automatically carry out the analysis of workflows can be used.
Next, data operations for the business items are modeled once the business items are captured. A collection of data operations associated with each business item is first identified. Possible data operations for a business item are obtained by examining associated attributes of the particular business item, tasks, and implicit knowledge in the workflows. Moreover, the identified data operations are used as a supporting function. In this case, the data operations are intended to be independent from business activities defined in workflows.
For attributes of a business item, the business item is automatically associated with setter and getter operations. From the perspective of user interface components, the setter operations of attributes can serve as templates for user interface components, and be represented as text fields that a user needs to fill in.
Business item instances can be either used as an input to a task or an output from a task. From the perspective of a role of a task the role is normally allowed to view the input information before he/she performs the task. When a business item instance appears as all output of a task, read, write and modify template operations can be associated for the business item instance. An example is illustrated in
From this, commonly used tasks are extracted as data operations for business items. Tasks are considered as lowest level and inseparable activities that can be performed in a business process. Default data operations for the business item can be assigned when the same business item is frequently specified as an input or output of the same tasks. However to avoid data operations diverting the control flows from the designed control flow, only read-only tasks are considered when a business item instance is taken as an input.
These data operations are associated with contextual information, such as conditions, access control of roles, and invocation (sender and receiver) information. Moreover, based on the contextual information, some of these data operations are necessary to manipulate on all business item instances, but the others are optional.
Once data operations are identified, data operations are then categorized to facilitate the invocation of data operations according to specific context or constraints. The identified data operations are divided into two categories, including common data operations (e.g., read-only template operations) and specific data operations (e.g., write-only template operations). Common data operations are associated to business items, and specific data operations that can be applied based on the context of workflow and used by particular business item instances are attached thereto. Business item instances can directly inherit operations defined in business items. In this sense, a hierarchical structure is created to classify operations for a business item and its instances. A business item is considered as a parent class, which contains the common data operations. In contrast, each instance of a business item is treated as its subclass, which includes specialized, contextual sensitive data operations.
In the context of workflows, a role is then assigned permissions to access certain data items. These permissions restrict the data operations allowed by the role to access data items. For example, if a data item can only be read by a role, then the data operations available to the role can be view/select. If a data item can be modified by a role, then the data operations available to the role can be view/change/select. Moreover, workflows contains constrains for the use of business items. Examples of constraints can be life cycles of data, dependencies, and conditions of data usage. Access permissions can then be inferred based on the workflow definition using the following criteria: a data item can be read by a role if it is the input of a task which the role can perform; a data item can be modified by a role if it is the output of a task which the role can perform; and constraints specified in workflows.
In summary, our invention provides an automatic technique to identify implicit data operations from business processes. These data operations are used to facilitate users to complete a task in a workflow enabled workplace. In addition, the present disclosure provides an automatic method to generate templates for data related user interface components; and supports automatic configuration of data and their related data operations based on the data constraints, and context specified in business processes. Therefore, a workplace user interface can be flexibly adapted to volatile business data, such as for a coupon in a promotion for example. Still further, the method maintains the interdependency between business modeling domain and business application development domain. Data operations and existing workflows can be enhanced by automatically adding newly identified data operations to the original data description without the interactions with business modeling analysts.
This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to make and use the invention. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.
The capabilities of the present invention can be implemented in software, firmware, hardware or some combination thereof.
As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.