The following description relates to enterprise management systems that may include applications that allow a user to find relevant resources to perform a task.
Recent developments in enterprise management systems have attempted to integrate multiple legacy systems, typically found in existing heterogeneous information technology (IT) environments, into a common enterprise management solution. Such integration technologies frequently fail to deliver a fully integrated platform that also provides sufficient flexibility to adjust to rapidly changing enterprise environments.
The present application describes systems and techniques related to defining a resource template to readily locate a resource considered relevant by a user. The present inventors recognized that conventional systems do not allow a user to quickly find relevant resources.
In one aspect a method includes pre-defining a type of resource together with a set of attributes that specify constraints for what type of resource may be appropriate or desired in a given context, determining that a resource matches the set of attributes within a context and displaying the resource as a selectable resource graphical object on a user device. This pre-defined resource template generates a list of resource candidates tailored to the constraints defined in the resource template.
Details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages may be apparent from the description and drawings, and from the claims.
Users of conventional business systems may find it difficult to locate relevant resources (e.g., data, data on web-pages, and/or executable applications) required to perform a task. For example, a user of a database system may need to access executable applications and retrieve information from various sources (e.g., data stored on a computer, or a computer network).
There exists a design time and a runtime for resource templates. The design time for the resource template includes defining (110) resource template information which refers to defining resource search criteria. Resource search criteria may include an object class definition that defines the type of resource, e.g., a person, group of people, a room, a conference, a hotel, etc. Resource search criteria may include attribute definitions that define attributes of the object class, for example, a size, a color, a location, a type of equipment, etc. Typically, each resource template definition has a name, for example, “pick meeting room”, “book table for lunch”, “schedule conference call”, “find keynote speaker”.
Resource templates may be implemented as files that contain textual strings. For example, the following is an example of a resource template named “pick meeting room”:
This example of “pick meeting room” resource template defines an object class as “Room”, and the attributes as “size”, “equipment”, and “building type”. The constraints “.GEQ. 8”, “projector”, and “Hotel” are associated with the attributes “size”, “equipment”, and “building type”, respectively.
A user may define the user or relative to the context of a current business process, e.g., limit to all persons to whom the user directs reports, or limit to rooms that are in the user's building and floor level.
The resource template for “pick meeting room” may be used in the context of a specific location. The resource template may then be used over and over in different contexts (e.g., different locations) without having to re-enter the resource template information.
A resource template may be defined by a user or administrator, for example. In some implementations a definition application may present a graphical interface that may be used interactively, for example, usable to enter textual information to define the fields of the resource template.
In some implementations, a found resource(s) may be saved to serve as a starting point for further searching. For example, a found resource(s) may subsequently be used to perform collaborative work.
A resource template may be represented by a graphical object on a computer display device, the graphical object may include the resource template name, or a part of the resource template name. In an embodiment, resource template associated to it, and which acts as a button which launches a resource finder application when activated. The resource finder application uses the resource template information associated with the resource template to search for and determine if a matching resource is available in a specific context. This corresponds to the run time of the resource template. The resource finder application allows a user to locate a relevant resource and reduces the problem of filtering through the great volume of information and resources that may be presented to a user.
The resource finder application may be implemented in conjunction with a Guided Procedures (GP) engine, which enables administrators and end-users to deal efficiently with all processes they have to participate in. The resource finder application and/or the resource template may be included as part of a step in a guided procedure. The resource templates may provide assistance within a guided procedure by limiting the set of proposed values to the pre-defined constraints. The a-priori definition of the resource constraints in a resource template may be limited to and based on the known context of the guided procedure.
The GP engine may allow functionalities such as functional task automation, streamlining and coordination of processes involving different applications and people, cross-functional and collaborative process support, and flexibility to incorporate necessary ad-hoc changes. The GP engine may include defining process flows and/or establish an execution of collaborative business processes.
The GP engine may include a context awareness feature that makes it possible to automate business process steps, for example, by defining applications, data and/or providing recommendations for decisions. The determination of a context associated with a user may be accomplished by determining a business object utilized by the user, e.g., a user that creates a purchase order for a certain product or customer.
The process flow model describes how the process steps are dependent on each other. The process flow is described in terms of phases, flow blocks and steps. Phases are used to define a sub-structure of the flow. Each phase has an owner and consists of flow blocks and steps. A flow block contains steps that are to be executed either in sequence or in parallel. Another flow block type provides a way to define alternative steps that will lead to a dynamic choice at runtime. The system may assist the user through context awareness by either automatic selection or recommendation. Steps are the lowest structure in a guided procedure. An owner is defined for each step. The owner is responsible for the completion of the step. The steps can be either mandatory or optional. An action is assigned for each step.
An action defines what is to be done in a procedure step. This actually models a process step by linking the process flow to the process context. It can be reused within lots of different guided procedures. It is defined with a workflow pattern, an application/service link, a context-aware list of needed resources (input, parameters), a context-aware list of deliverables (output), and a list of contributors as well as primary objects.
Portal 220 provides a common interface to program management services. The portal 220 receives requests from the clients 215a-215n and generates information views 225 (e.g., Web pages) in response. The portal 220 may implement a user role-based system to personalize the common interface and the information views 225 for a user of a client 215a-215n. A user can have one or more associated roles that allow personalized tailoring of a presented interface through the generated information views 225.
The portal 220 communicates with an enterprise management system 230 that consolidates multiple application services. The portal 220 may receive data 235 from the enterprise management system 230 for use in fulfilling the requests from the clients 215a-215n. The enterprise management system 230 may provide integrated application services to manage business objects and processes in a business enterprise. The business objects and processes can be resources (e.g., human resources), development projects, business programs, inventories, clients, accounts, business products, and/or business services.
The enterprise management system 230 communicates with enterprise base systems 240 to obtain multiple types of data 245. The enterprise base systems 240 may include various existing application services, such as human resource management systems, customer relationship management systems, financial management systems, project management systems, knowledge management systems, business warehouse systems, time management systems, and electronic file and/or mail systems. The enterprise base systems 240 also may include an integration tool, such as the exchange Infrastructure provided by SAP, that provides another level of integration among base systems. The enterprise management system 230 can consolidate and integrate the data and functionality of such systems into a single enterprise management tool.
This enterprise management tool can include systems and techniques to facilitate creation of new applications within the enterprise management system 230. These new applications, referred to as cross-functional or composite applications, can readily draw on the resources of the enterprise base systems 240 to cross over traditional enterprise application boundaries and handle new business scenarios in a flexible and dynamic manner, allowing rapid and continuous innovation in business process management. A virtual business cycle can be created using such cross-functional applications, where executive-level business strategy can feed management-level operational planning, which can feed employee-level execution, which can feed management-level evaluation, which can feed executive-level enterprise strategy. The information generated at each of these stages in the enterprise management cycle can be readily consolidated and presented by the enterprise management system 230 using customized cross-functional applications. The stages can provide and consume determined services that can be integrated across multiple disparate platforms.
The portal 220, enterprise management system 230 and enterprise base systems 240 may reside in one or more programmable machines, which can communicate over a network or one or more communication busses. For example, the base systems 240 may reside in multiple servers connected to an enterprise network, and the portal 220 and the enterprise management system 230 may reside in a server connected to a public network. Thus, the system can include customized, web-based, cross-functional applications, and a user of the system can access and manage enterprise programs and resources using these customized web-based, cross-functional applications from anywhere that access to a public network is available.
The persistence layer 310 provides the enterprise management consolidation system 300 with its own database 312 and data object model 314. The database 312 and the object model 314 provide a consolidated knowledge base to support multiple enterprise management functions, including functions created as cross-applications 370. Active communication between the persistence layer 310 and the base systems can provide a tight linkage between real-time operational data from multiple base systems and an integrated enterprise analysis tool to allow strategic enterprise management and planning.
The data object model 314 can represent a subset of data objects managed by the base systems. Not all of the data aspects tracked in the base systems need to be recorded in the data object model 314. The data object model 314 may have defined relationships with data objects stored in the base systems, for example, certain objects in the data object model 314 may have read-only or read-write relationships with corresponding data objects in the base systems. These types of defined relationships can be enforced through the communication system built between the persistence layer 310 and the base systems. Thus, the persistence layer 310 may be used to effectively decouple application development from the underlying base systems.
The cross-functional applications 370, which take advantage of this decoupling from backend systems to drive business processes across different platforms, technologies, and organizations, can be created using a set of tools that enable efficient development of cross-functional applications 370. The cross-functional applications 370 may support semi-structured processes, aggregate and contextualize information, handle event-driven and knowledge-based scenarios, and support a high degree of collaboration in teams, including driving collaboration and transactions. The set of tools enable efficient development of the cross-functional applications 370 by providing application patterns that support model-driven composition of applications in a service-oriented architecture.
An object modeling tool 340 enables creation of new business objects in the persistency layer 310 by providing a mechanism to extend the data object model 314 dynamically according to the needs of an enterprise. A process modeling tool 350 enables creation of new business workflow and ad hoc collaborative workflow. A user interface (UI) tool 360 provides UI patterns that can be used to link new objects and workflow together and generate standardized views into results generated by the cross-functional applications 370. The object modeling tool 340, the process modeling tool 350 and the UI tool 360 thus can be used to build the components of cross-applications 370 to implement new enterprise management functions without requiring detailed coding activity.
The process modeling tool 350 can include guided procedure templates with pre-configured work procedures that reflect best practices of achieving a work objective that is part of a larger cross-functional application scenario. Such a work procedure can include contributions from several people, creation of multiple deliverables, and milestones/phases. Moreover, whenever an instantiated business object or work procedure has lifetime and status, the progress and status of the object or work procedure can be made trackable by the process owner or by involved contributors using a dashboard that displays highly aggregated data. The dashboard and a my ongoing work place can be two UI patterns that are provided by the UI tool 360.
Whenever there is a concept of myObjects, myRecentObjects, myRelatedObjects or myPreferredObjects, then an Object Picker UI pattern, provided by the UI tool 360, can be included that let users pick their favorite object directly. Those myObjects may be searched using the resource templates. The resource finder application may generate a recommendation list for objects using the myObjects that match the constraints defined in the resource template.
Whenever people are to be searched for, either for choosing one individual person or for generating a collection of people meeting some criterion, the people finder concept can be applied. A key aspect of searching for a person can be described as an attribute within the user's activity, qualification, interest, and collaboration profile. For a given cross-application scenario, people collections can be stored as personal or shared collections using a People Finder application to make them available for further operations later on.
Cross-functional application scenarios can provide related information to the user when possible, and some parts within a larger cross-application scenario can define what kind of related information is to be offered. For example, the match list generated by the resource finder application using a resource template may also include items that do not directly fulfill the constraints defined in the resource template, but which relate to items that do satisfy the constraints. The resource finder application may also display information that is related to constraints that are part of the resource template. For example, if a user uses a resource template to search for rooms with a projector, the resource finder application can display information about projectors in general (e.g., where to lease them, where to order them as office supply, and color schemes for presentations using projectors).
Other embodiments not described herein are also within the scope of the following claims.
This application claims priority to U.S. Provisional Patent Application Ser. No. 60/471,228, filed on May 16, 2003. This application claims priority to U.S. Provisional Patent Application Ser. No. 60/471,375, filed on May 16, 2003. This application claims priority to U.S. Provisional Patent Application Ser. No. 60/436,219, filed on Dec. 23, 2002.
Number | Name | Date | Kind |
---|---|---|---|
5634127 | Cloud et al. | May 1997 | A |
5721906 | Siefert | Feb 1998 | A |
5754939 | Herz et al. | May 1998 | A |
5802499 | Sampson et al. | Sep 1998 | A |
5826239 | Du et al. | Oct 1998 | A |
5870545 | Davis et al. | Feb 1999 | A |
5893074 | Hughes et al. | Apr 1999 | A |
5899979 | Miller et al. | May 1999 | A |
6003011 | Sarin et al. | Dec 1999 | A |
6052684 | Du | Apr 2000 | A |
6078982 | Du et al. | Jun 2000 | A |
6167564 | Fontana et al. | Dec 2000 | A |
6185587 | Bernardo et al. | Feb 2001 | B1 |
6189003 | Leal | Feb 2001 | B1 |
6233600 | Salas et al. | May 2001 | B1 |
6278977 | Agrawal et al. | Aug 2001 | B1 |
6297819 | Furst | Oct 2001 | B1 |
6327628 | Anuff et al. | Dec 2001 | B1 |
6473751 | Nikolovska et al. | Oct 2002 | B1 |
6484149 | Jammes et al. | Nov 2002 | B1 |
6636837 | Nardozzi et al. | Oct 2003 | B1 |
6643661 | Polizzi et al. | Nov 2003 | B2 |
6668273 | Rust | Dec 2003 | B1 |
6668353 | Yurkovic | Dec 2003 | B1 |
6697865 | Howard et al. | Feb 2004 | B1 |
6820082 | Cook et al. | Nov 2004 | B1 |
6871197 | Johnson | Mar 2005 | B1 |
6912573 | Ohkado et al. | Jun 2005 | B2 |
6915482 | Jellum et al. | Jul 2005 | B2 |
6950852 | Kobayaghi et al. | Sep 2005 | B1 |
6959268 | Myers, Jr. et al. | Oct 2005 | B1 |
7003550 | Cleasby et al. | Feb 2006 | B1 |
7054923 | Krishnamoorthy | May 2006 | B2 |
7124355 | Kukkal | Oct 2006 | B1 |
7139978 | Rojewski et al. | Nov 2006 | B2 |
7222369 | Vering et al. | May 2007 | B2 |
7277924 | Wichmann et al. | Oct 2007 | B1 |
7340679 | Botscheck et al. | Mar 2008 | B2 |
7448046 | Navani et al. | Nov 2008 | B2 |
20020049749 | Helgeson et al. | Apr 2002 | A1 |
20020059379 | Harvey et al. | May 2002 | A1 |
20020073114 | Nicastro et al. | Jun 2002 | A1 |
20020087600 | Newbold | Jul 2002 | A1 |
20020111787 | Knyphausen et al. | Aug 2002 | A1 |
20020138331 | Hosea et al. | Sep 2002 | A1 |
20030023662 | Yaung | Jan 2003 | A1 |
20030023677 | Morison Zuill et al. | Jan 2003 | A1 |
20030046401 | Abbott et al. | Mar 2003 | A1 |
20030078830 | Wagner et al. | Apr 2003 | A1 |
20030130994 | Singh et al. | Jul 2003 | A1 |
20030135559 | Bellotti et al. | Jul 2003 | A1 |
20040088315 | Elder et al. | May 2004 | A1 |
20040098467 | Dewey et al. | May 2004 | A1 |
20040119738 | Beringer et al. | Jun 2004 | A1 |
20040119752 | Beringer et al. | Jun 2004 | A1 |
20040122693 | Hatscher et al. | Jun 2004 | A1 |
20040122696 | Beringer | Jun 2004 | A1 |
20040122853 | Moore | Jun 2004 | A1 |
20040128156 | Beringer et al. | Jul 2004 | A1 |
20040131050 | Beringer et al. | Jul 2004 | A1 |
20040133413 | Beringer et al. | Jul 2004 | A1 |
20050086204 | Coiera et al. | Apr 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20040119738 A1 | Jun 2004 | US |
Number | Date | Country | |
---|---|---|---|
60471228 | May 2003 | US | |
60471375 | May 2003 | US | |
60436219 | Dec 2002 | US |