Businesses currently use a variety of mechanisms to control and analyze business operations such as accounting, payroll, human resources, sales orders, employee tracking, customer relations tracking, etc. Tools that provide these functions are often implemented using computer software. A software package may provide a user interface in order for a user to easily enter and view data corresponding to the various business operations. The software package is also configured to access and update the data, which is stored in a database.
Current software packages can include one or more workflows to implement a business process. These workflows include a number of steps performed in a sequence to complete the business process. For example, a workflow that fulfills a purchase order for an item can include receiving the order to purchase, sending a confirmation, sending the item and printing an invoice. Software packages that implement these workflows can be expensive to design and customize for individual businesses.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.
A designer tool is provided to assist a user in creating and modifying business process workflows. The user can select a data entity as a focal point for a workflow and a user friendly design experience is provided that takes advantage of semantic relationships between the entity and other elements such as entities and business logic operations that are part of a relationship model. For example, given a selected entity, the application design module can present related operations for the entity on a user interface where the entity is an input parameter.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.
Business process 600 includes a series of steps. At a number of the steps, the user is presented with a user interface, which allows the user to perform actions for that step in the process. These user interfaces can be defined by user interface component 204 of framework 200. Additionally, each of the steps represent an activity related to an operation.
Prior to beginning the discussion in detail of
Next, the user generates the payment. Generation of the payment is similar to writing a check to the supplier. However, in today's complicated business environment, payment is often done electronically, or may even be done against a debt the supplier owes the provider. The final step in the payment process is to post the payment. In this step, for instance, the payment is posted to the general ledger or to the supplier, and all accounts are generally updated to reflect the transaction.
Referring to process 600, the user from a corporation selects an invoice to pay at step 602. At this step, the user can be presented with a user interface defined by user interface component 204 that illustrates a plurality of invoices. Once the user has selected an invoice, a payment from the invoice can be selected at step 604. A user interface can display a number of payments for the invoice. The selected payment is then created at step 606. Next, at step 608, a confirmation is required to create the payment. For example, a manager or other person within the corporation may be required to confirm the payment. If the payment is not confirmed, process 600 can return to step 602, for example. Once payment has been confirmed, process 600 proceeds to step 610, where the payment is applied. For example, the application of the payment can be matched with the invoice selected in step 602. It should be noted that at step 610 the payment is not yet paid, but is sent on for further processing to generate all of the necessary business documents and papers required by the user to effect a payment.
At step 612, the user determines a method of payment. In one embodiment, a user interface can allows the user to select to pay via electronic funds transfer (EFT) or via check. If the user decides to pay via EFT, process 600 proceeds to step 614, wherein the EFT payment is distributed. If the user decides to pay via check, process 600 proceeds to step 616, wherein a check is printed. The payment method can be a property that is used by process 600 when accessing a data entity defining the payment method property. In this case, process 600 can evaluate a condition of the payment method property to determine whether to proceed to step 614 or step 616. After either step 614 or step 616, the user posts the payment thereby updating balance sheets maintained by application 100. Once the payment has been posted, the process for the payment ends at step 620.
In order to create a business application to implement process 600, a designer can utilize application design module 104 and relationship model 106.
These operations can be selected as activities for a workflow and arranged in a set in business process element 704, For example,
The disclosure is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with the disclosure include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, telephony systems, distributed computing environments that include any of the above systems or devices, and the like.
The disclosure may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The disclosure is designed to be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules are located in both local and remote computer storage media including memory storage devices.
With reference to
Computer 810 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 810 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 810. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The system memory 830 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 831 and random access memory (RAM) 832. A basic input/output system 833 (BIOS), containing the basic routines that help to transfer information between elements within computer 810, such as during start-up, is typically stored in ROM 831. RAM 832 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820. By way of example, and not limitation,
The computer 810 may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only, computer 810 can include a hard disk drive that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive that reads from or writes to a removable, nonvolatile magnetic disk, and an optical disk drive that reads from or writes to a removable, nonvolatile optical disk such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive is typically connected to the system bus 821 through a non-removable memory interface such as interface 840, and the magnetic disk drive and the optical disk drive are typically connected to the system bus 821 by a removable memory interface, such as interface 850.
A user may enter commands and information into the computer 810 through input devices such as a keyboard 862, a microphone 863, and a pointing device 861, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 820 through a user input interface 860 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor 891 or other type of display device is also connected to the system bus 821 via an interface, such as a video interface 890. In addition to the monitor, computers may also include other peripheral output devices such as speakers 897 and printer 896, which may be connected through an output peripheral interface 895.
The computer 810 is operated in a networked environment using logical connections to one or more remote computers, such as a remote computer 880. The remote computer 880 may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 810. The logical connections depicted in
When used in a LAN networking environment the computer 810 is connected to the LAN 871 through a network interface or adapter 870. When used in a WAN networking environment, the computer 810 typically includes a modem 872 or other means for establishing communications over the WAN 873, such as the Internet. The modem 872, which may be internal or external, may be connected to the system bus 821 via the user input interface 860, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 810, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.