CA2327840A1 - Knowledge based business processes and systems for implementation of same - Google PatentsKnowledge based business processes and systems for implementation of same
- Publication number
- CA2327840A1 CA2327840A1 CA 2327840 CA2327840A CA2327840A1 CA 2327840 A1 CA2327840 A1 CA 2327840A1 CA 2327840 CA2327840 CA 2327840 CA 2327840 A CA2327840 A CA 2327840A CA 2327840 A1 CA2327840 A1 CA 2327840A1
- Grant status
- Patent type
- Prior art keywords
- 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.)
- G06—COMPUTING; CALCULATING; COUNTING
- G06Q—DATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management, e.g. organising, planning, scheduling or allocating time, human or machine resources; Enterprise planning; Organisational models
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
- Y04S10/54—Management of operational aspects
TITLE: KNOWLEDGE BASED BUSINESS PROCESSES AND SYSTEMS FOR
IMPLEMENTATION OF SAME
FIELD OF THE INVENTION
The present invention is directed to knowledge based business processes and systems to implement the processes.
In particular the present invention is directed to knowledge based processes and systems to enable business to operate in an efficient manner to allow the business to react quickly to changes in parameters that are necessary for the business to monitor in order to operate efficiently.
BACKGROUND OF THE INVENTION
In recent years, the Internet has undergone a rapid evolution from a simple information browsing tool to a business to consumer (B2C) e-market to a business to business (B28) e-commerce enabler. For businesses to flourish in B2B e-commerce, corporations have to become effective in responding to market pressures - such as time to market, market efficiencies and emerging business models. More and more businesses are moving to a service-based Internet paradigm, which is not just about buying and selling but encompasses all processes that require a dynamic, interactive flow of information.
Many individual companies posses a wide variety of business application software, residing on different platforms and utilizing a variety of data methods and communication formats. These business applications take the form of various commercial software packages, customized proprietary systems and legacy software designed for specific functions which may be too inflexible to be compatible with modern systems. A number of companies have attempted to integrate their in-house business systems but such systems are generally not designed to communicate with external systems belonging to other companies.
Recently, many companies have adopted electronic data interchange (EDI) solutions to take advantage of the emerging B2B e-marketplace. However, the benefits of EDI
have generally been limited to large organizations able to afford costly EDI implementations. The EDI software approach is also limited to point-to-point integration with specific business partners with fixed data parameters and inherently lacks the flexibility and responsiveness required for interactions with a large number of business partners and users.
There thus still remains a need for processes and systems that enables various suppliers, vendors, purchasers and consumers to interact effortlessly within cyberspace, sharing information and conducting business regardless of the variety of software applications or hardware that they use in house.
SUMMARY OF THE INVENTION
In an aspect of the invention there is provided a business process system for management of a business comprising a plurality of business processes for management of specific parameters of the business; a plurality of careabouts, each careabout being a measurable parameter of the business of importance to the business and being associated with one or more roles of the business; a plurality of roles, each role being a person or entity within the business who is the owner of one or more processes, and responsible for the execution of owned processes; and a plurality of scripts being methods of describing the business processes. Each of the business processes may be implemented by the role owning the process by executing the script associated with the process in response to an event to cause the state of a careabout to be adjusted, the adjusted state of the careabout being reported to each role with whom the careabout is associated.
In yet another aspect of the invention, there is provided a business processing system to enable a business to rapidly and easily access information of importance to the business. The system comprises a plurality of business processes for management of specific parameters of the business; a plurality of careabouts, each careabout being a measurable parameter of the business of importance to the business and being associated with one or more roles of the business; a plurality of roles, each role being a person or entity within the business who is the owner of one or more processes, and responsible for the execution of owned processes; a plurality of scripts being methods of describing the business processes; a database containing indications of the roles and careabouts associated with the roles; and a message broker which routes messages between the business process and the roles. Each of the business processes may be implemented by the role owning the process by executing the script associated with the process in response to an event to cause the state of a careabout to be adjusted. The message broker receives an indication of the altered careabout from the business process and after comparing the altered careabout with the database, notifies each role who has the careabout associated with it of the change in the state of the careabout by a message sent or forwarded by the message broker.
BRIEF DESCRIPTION OF THE DRAWINGS
Preferred embodiments of the present invention are illustrated in the attached drawings in which:
Figure 1 is a block diagram of the basic process of the present invention;
Figure 2 is a schematic view of a preferred embodiment of the system according to the present invention;
Figure 3 is a flow diagram illustrating a business process according to the present invention;
Figure 4 is a block diagram of a preferred embodiment of the structure of the personal manager; and Figure 5 is a block diagram of a preferred embodiment of a message structure utilized in the processes of the present invention;
Figure 6 is flow diagram illustrating the interaction of the Event Manager components;
Figure 7 is a diagram of a preferred embodiment of the Knowledge Broker and message flow in the system of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention provides a knowledge based business process for management of a business to enable the business to operate in an efficient manner. This allows the business to react quickly to changes in parameters that are necessary for the business to monitor in order to operate efficiently. The present invention allows the business to be kept informed of the changes in the parameters by timely notification of the changes to those roles, being persons or entities within the business, who have a need to know of the changes. In a preferred embodiment the present invention provides intelligent network-based processes and systems that enable various suppliers, vendors and consumers to interact effortlessly, sharing information and conducting business regardless of the variety of software applications or hardware that they use in house. Specialized interpreters working with the system ensure that users' business models integrate seamlessly with the user's existing systems. Costs are thus dramatically reduced, while future compatibility and scalability issues are eliminated.
The processes and systems of the present invention provide architecture for business value networks technology infrastructure based on the concepts of "simpler work" and effective value networks. The processes and systems of the present invention represent technology beyond the web-browsing, kiosk mentality of existing e-commerce. At the core of the present invention is the ability to interpret, execute and disseminate the results of pre-defined and ad-hoc business processes.
Since virtually any business can be transcribed into a model, using essentially the same sets of parameters, the processes and systems of the present invention are infinitely more flexible and business independent than any other alternative. This capability eliminates the need for developing business software solutions as we know them today as well as maintaining their complex, expensive and yet rigid life-cycle environments.
The present invention significantly reduces work complexity. The customizable interfaces utilized in the processes and systems of the present invention allow a business to operate in the way that best fits with their business context. At the same time, the present invention adds value by "modeling" the user's own business practices, creating a valuable resource for corporate training and strategic planning.
The present invention provides a means to enable a consistent architecture for exchanging electronic information and business process knowledge that integrates seamlessly with the user's existing information systems.
Preferably, the processes and systems of the present invention function as a customized portal to the Internet, enabling individual users, whether they be part of large corporations or individual consumers, to do business over the Internet in the manner that best suits their unique requirements and preferences. It serves as a filter to help process the deluge of information transmitted over the Internet into a manageable stream organized to suit the user, in their context.
A key feature of the present invention is its ability to lever business value networks by enabling computing technology to interpret and execute business processes and facilitate electronic exchange in a true e-business environment. Augmenting today's architecture of web sites, kiosks, and storefronts, the processes and systems of the present invention positions an individual participant in a business value network as a center of network services.
Value to business will, consequently, be realized from access to such fully enabled individual knowledge workers, participants, employees, customers, etc.
The processes and systems of the present invention overcome significant technological uncertainties. The present invention digitizes a variety of different business processes~using a limited number of parameters defined by the processes and systems - Careabouts, Roles and Events.
The present invention creates Visual Modeling Tools abstracting business processes to the processes and systems of the present invention. It defines an efficient, open Application Programming Interface (API) facilitating wide acceptance of the processes and systems by others.
The present invention provides a robust, distributed, scaleable, peer-to-peer system implementation capable of handling both single user oriented interactions, as well as very high volumes of transactions between users.
The business processes used by a business are modeled and implemented in a 'generic' way, creating sets of customizable, user-selectable interfaces. The systems of the present invention provide a robust, flexible, component-based system architecture facilitating modularization of software, well-defined external and internal interfaces and re-use of standard components. The present invention also achieves integration and leveraging of commercially available third party software technologies and tools.
The knowledge based business processes and systems of the present invention provide a framework for interpretation, execution and distribution of the results of models, describing processes of participants in a business value network. A business process is an activity that uses careabouts, which are anything of importance to the business, to perform a task, defined by a script/formula, is triggered by an event, and executed by a role, within a finite period of time. Business processes can be combined into agreements - higher-level hierarchies, and scenarios - groupings of processes and careabouts put together for simulation purposes.
The present invention provides a platform, providing the underlying architecture, conventions ("standards"), and an environment for formalization, distribution and execution of business content. The Platform is packaged into many different business computing environments for its competency and ability to bring business content to the rightful owner faster, cheaper and simpler than anything else presently available. The present invention provides a simple, inexpensive, reliable way to automate predictable and repeatable business functions and reduces complexity by allowing business process participants to conduct business on their own terms.
The knowledge based business processes and systems of the present invention is a distributed system preferably based on Message Oriented Middleware - an asynchronous, loosely coupled communication, providing a highly reliable delivery method. It offers reduced complexity and superior performance, as compared to client/server systems, which are based on synchronous, tightly coupled communication methods, and are vulnerable to network problems and slowdowns.
Software components of the knowledge based business processes and systems of the present invention are implemented in a suitable programming language to achieve the requirements of the processes and systems. Preferably, the programming language is Java programming language, which provides an entire programming environment, including libraries for networking, database access, XML and many other domains. Java's set of technologies for development of business software, and in particular, enterprise platform's scalability, portability and Web integration, make it the platform of choice for the implementation of the present invention modern business applications.
The system of the present invention requires control over the Java Virtual Machine (JVM) in which the application is running. This may be accomplished in one of two ways of deployment: as a Java application bundled with a Java Runtime Environment, or as applet running in a Java Plug-In, which provides controllable environment for running an applet in most Internet Browsers. The first way of deployment is preferable at present, while second will be preferred as Browser capabilities are enhanced in the future developments.
As illustrated in Figure 1, the knowledge based system of the present invention includes three main components - a personal manager, a message or Knowledge broker and the business models describing the business processes.
A key feature of the present invention is the concept of the personal manager, a piece of software capable of executing as well as being taught how to execute business processes. The personal manager enables an individual participant in a business value network, through all his roles (e. g. customer, employee, manager, distributor, investor, etc.), to execute all required business processes and to transparently communicate the results to all other parties in the business value network. Legacy software applications and Internet-enabled e-services (e. g. security verification) are made to look like another Personal Manager to the rest of the architecture. The Personal Manager can be taught how to execute business processes.
The results of such business processes are passed on in the form of a formatted message to knowledge brokers, which in turn distribute that message to all other Personal _ g Managers in the community sharing the same careabout.
Information and knowledge of the entire community can be synchronized through Knowledge Brokers.
The entire community of Personal Managers is managed by distributed business process models. Components that "know how to execute business processes" are distributed to Personal Managers. Components that "know who else cares about a particular topic" are kept with Knowledge Brokers.
The personal manager is implemented in software preferably residing in a device accessible to the business process participant. The device may be any device which is capable of connecting to the network on which the knowledge based system of the present invention resides and is also capable of executing the business processes as described below. Preferably the device is a computing device such as a personal computer, a personal digital assistant, or a cellphone having email and web browsing capabilities. The personal manager is the cornerstone of the processes and systems of the present invention. It acts as a storage and handler (processor) for different types of objects, defined by the business process model properties, and communicates the results to other participants in a business value network. The Personal Manager creates an outgoing message for each shared topic (careabout) affected/changed by the execution of the process. In addition specialized and/or scaled up versions of the personal manager may be provided for deployment in situations requiring enhanced functionality with high performance and capacity.
The client or personal manager provides for the interaction of the user with the processes and systems of the present invention. The client or personal manager connects to a central router or message broker (in the preferred embodiment being the Knowledge Broker) to allow for the exchange of messages between the client and the message broker. This exchange of messages between the client and message broker utilizes a suitable messaging system which allows for rapid and accurate transfer of the messages between the client and the message broker. The messaging system allows for the implementation of the processes of the present invention by allowing for efficient storage, handling and routing of the messages to the intended recipients. In a preferred embodiment of the present invention, the messaging system allows for embedded objects and executable scripts associated with the objects to be executed upon receipt of the message by the recipient.
The client or personal manager has a built in functionality to interface with one or more message brokers and to store and handle messages from such message brokers based upon the user's profile.
The Message Broker facilitates the interactions between the users of the systems and process of the present invention. The Message Broker acts to route messages between the users as well as to other Message Brokers based upon the topics to which the message relates and the topics to which the user has subscribed or the other Message Broker relates. As discussed below, the systems of the present invention utilize hierarchical messaging systems operating in a Publish/Subscribe mode. The Message Broker maintains a database of all subscribed users and topics, such that as a message is received, its topic is compared to the subscribed topic of the user and a message is forward to each user who has subscribed to the topic.
Depending upon the functionality of the Message Broker, the message sent to the user may be a copy of the original message, or it may be a message generated by the Message Broker based upon the content of the original message.
The Message Broker is preferably implemented in software hosted at the business process owner's server.
Alternatively, it may be hosted by a central server broker, as part of a service provided to the process owner. The Message Broker provides structured message routing between participants, as well as a billing engine and back-up and logging functionality.
The Knowledge Broker consists of a Message Broker and a set of adapters. The Message Broker provides structured message routing between participants, while the adapters extend the Message Broker and provide the administrative services such as distribution of the business processes, billing, storage back up and message broker administration. The Knowledge Broker is aware of the Roles being managed, process participants and their mapping to the Roles, as well as who else cares about the change caused by the execution of the process. It understands the role-participant relationship and, consequently Careabouts of each Role. The totality of Roles and Careabouts defines the scope of business covered by the Knowledge Broker. In addition to its ability to manage the flow of messages, the Knowledge Broker has the ability to measure the traffic in terms of number of delivered messages to the community of shared business interest (e. g. company, value network, etc.).
Content Generator is a set of software tools used for Content creation. It provides an environment to describe, and to simulate and promote business process models.
Through the the Knowledge Broker, the resulting Content (businessprocess model) is distributed to the business process participants.
Interpreter is a software product used to executeContent interpretation and visual representation. In addition, interpreters will allow for different visual presentations of the same Content. Interpreter APIs will be published to enable third-party development of additional interpreters.
Content is a collection of objects, interpretable and actionable by The Personal Manager. Content is stored locally on each Personal Manager and is distributed by the the Knowledge Broker.
The business models simulate and describe the business processes utilized in the business and are specialized tools developed for that purpose. The models are distributed to business process participants through the message broker.
As shown in Figure 1, the knowledge based system of the present invention is based on a star (hub) topography. All "Clients" (Personal Manager) are connected to a central Router (Knowledge Broker), through which they are exchanging messages, utilizing a Publish/Subscribe model.
The 'Client' definition includes the personal manager, as well as other legacy systems connected and exchanging messages through the hub. The message broker may be connected to other message brokers having their own clients as well as to other systems running particular business applications.
The connections between the Personal Manager and Message Broker as well as the between the Message Brokers may be accomplished utilizing any of the commonly employed network architectures. For Personal Managers and Message Brokers located within a single organization, this will commonly be accomplished by the use of local area networks (LAN) or intranets running a suitable networking protocol over a suitable physical network. The physical network may be wired or wireless depending upon the particular location.
Persons within the same organization but located at a different physical location may connect to the Message Broker using a wide area network (WAN) which can be accomplished by any of the commonly used methods such as Remote Access Services, Virtual Private Networks, etc.
This may involve a dial-up connection or tunneling via the Internet. Secure Internet sites may also be made available for remote users of the Message Broker. For other entities located external to the organization but which require interaction with the business, such as suppliers, an extranet may be utilized similar to the situation with remote workers. Preferably, those external to the organization would interact with the Message Broker using a Secure Internet Site.
The message format and exchange functionalities are implemented in a manner to facilitate the communications required in the processes of the present invention.
Preferably, as described in detail below, the message format and exchange functionalities utilize a hierarchical message addressing. Hierarchical message addressing starts at a broad level and each additional sub-level of addressing further defines the addressing more specifically. By utilizing such a hierarchical message addressing, the distribution of messages to the intended recipients according to the processes of the present invention is accomplished quickly and with minimal overhead in terms of system resources.
The Publish/Subscribe method used for exchanging messages in the present invention is based on a Topic entity, which is defined as a common point of interest. By publishing and subscribing to topics, users can exchange messages based on common points of interest, without a need to know each other. Selectors are other elements that further refine message exchange and act as a filter for messages in a particular message queue.
The personal manager (client) is a storage and handler (processor) for different types of objects including the business processes which are defined as an activity that uses careabouts (something of value to a business) to perform a task (which can be defined by a script/formula), is triggered by an event and executed by a role within a finite period of time. Each business process is executed within the context of one role at a time.
As shown in Figure 2, any business process can be defined as including four essential properties:
~ Careabout: anything a business "cares about".
Fundamental careabouts can be subdivided into sub-careabouts. E.g., a fundamental careabout could be a corporation's net worth. A sub-careabout may be defined as the interest rate payable on a line of credit. The status of any given careabout can be measured, and statistics displayed in various forms and configurations.
~ Event. anything triggering a business process, e.g.
month end; request email; change in an account balance, etc.
~ Script: a method of describing a business process, allowing appropriate adjustments to be made in statistics describing the state of careabouts.
~ Role: each business process is carried out by a person or entity within the context of a given role, which owns the process.
The business processes may be further defined as an Agreement which is a high level hierarchy of business processes made up of three essential properties:
~ Term (e. g. monthly, yearly, etc.) ~ Process ~ Role In addition, processes and careabouts may be grouped together into a scenario for simulation purposes. A user will choose careabouts; the system will find related processes and careabouts, request parameters and produce simulation results. A scenario is made up of three essential properties:
~ Process ~ Parameters (input values) ~ Outcome (simulation result) The Personal Manager product architecture provides a framework for formalization, interpretation, execution and distribution of business processes (content). The results of models, describing processes of participants in a business value network A business process is a natural continuing chain of tasks/functions that targets the net result (outcome) of the process intent; it is responsible for delivering the initial requested value.
Function - within a business process, is a group of related tasks contributing to the fulfillment of the business process (e. g. - solicitations for a sale).
Task - within a function, is an activity that is part of the function (e.g. - creating a list of leads for solicitations for a sale).
Careabout - anything of value to a business a business (what the business "cares about"). The status of any given careabout can be measured, and statistics displayed in various forms and configurations. Careabout represents a static state of data before and after execution of the task.
Event - anything causing a change in state of the careabout, triggering a task (e. g. triggering a business process, e.g. month end; request email; change in an account balance, etc.).
Script - a method of describing a business process, allowing appropriate adjustments to be made in statistics describing state of careabouts.
Role - an entity authorized to execute a task.carrying out a business process within the context of a given role, which owns the process.
Subscription: - an area of interest that the user has been registered for on the Knowledge Broker.
The present invention preferrably provides three different types of subscriptions.
Careabout centric, where subscriber is looking at all information associated with a careabout. An example would be a bank customer is tracking all account balance changes by having a subscription to SavingAccount.AccountBalance.
User centric, where subscriber is tracking all information related to user's name. An example would be a user subscribing to all information relevant to "John Smith" regardless of careabout (JohnSmith).
Role centric, where subscriber is tracking all information related to a role. An example would be a user subscribing to all information relevant to a role called Manager.
The publish/subscribe hierarchical message system utilized in the present invention is Topic-centered and requires a central point of interest, where exchange of information occurs. The processes and systems of the present invention are careabout-centered, which results in a large number of points of interest (number of users x careabouts). This problem is easily addressed in a hierarchical message system.
The structure of the components making up the process and systems of the present invention will now be further described with reference to the attached figures.
The structure of a preferred embodiment of a personal manager for the present invention is shown in block diagram in Figure 4.
The personal manager includes the following major components:
The Core which includes all managers, bootstrap module and environment handlers.
The Persistence which is an Object Oriented Database (OODB) containing all user data.
The Services which provide system capabilities that can be extended or replaced.
Applets/Interpreters/Applications which contain business logic and different methods for displaying and processing data stored in the Persistence.
Open Interface - Applets/Interpreters/Applications communicate with the Core and Services through this interface. New Applets/Interpreters/Applications developed will use this interface to access Core functionalities.
The major functions supported by the personal manager components include:
Core ~ Basic Core Module - Bootstraps the whole system, starts all threads and initiates all managers. The core module provides handlers into the native environment. The core module manages user properties and authentication. An authentication module may also include encryption and decryption.
~ Event Manager - Manages scheduled tasks and threads of processes including business processes. Provides Process Factory and executes scripts using Scripting Engine Service.
~ Subscription Manager - Manages subscriptions and connections to different message brokers and topics.
~ Backup Manager -Manages user profile data backup process ~ Upgrade Manager - Manages Applet/interpreter and Service upgrades.
~ Service Manager - Initiates services and manages threads of executions for all services. Handles addition of new services. Maintains a list of all services and their status.
J,T 11 048CA
~ Interpreter Manager - Manages threads of content executions, additions, and current status for all applets, interpreters, or applications.
~ Profile Manager - Manages different user profiles. The personal manager can work with multiple user profiles.
Unique user profiles are stored in user specific property files and persistence (OODB).
Persistence Persistence is set as an observable component, while all other elements of the processes of the present invention act as an observer on it. A service or manager gets notified when a relevant change in persistence causes an action (i.e. Addition of message object to persistent class Inbox triggers a notification to a Messaging Service where an appropriate receive Message method will be initiated).
Object Oriented Database (OODB)- Provides storage for all users' data mirroring structure of information in a better fashion then a relational dB. Access to the database is defined through dB specific API. Use of OODB
is preferable, since it handles the data structure much easier and faster, than a relational database (RDB). RDB
requires an extra layer to translate a table structure to a complex tree structure used internally. Further details on the database structure are given below.
Services Services are exchangeable cartridges obscuring specifics of functionality used by the system. It is possible to replace any service with another implementation that uses any system for messaging, persistence or scripting, as well to add completely new functionality.
~ Messaging - Provides, in the embodiment illustrated in the Figure, messaging capabilities to the system, encapsulating, as well, specific functionality (as authentication and encryption) that is not defined in the basic specification for the messaging system selected.
~ Persistence - Provides access to the database used as storage for persistence.
~ Scripting Engine - Provides a language interpreter for the scripting language. Also provides listeners for applets.
~ Presentation - Manages Content Graphical User Interface (GUI) elements, provides GUI factory for building Swing GUI
Containers and elements based on XML descriptions.
Interface is generated and listeners are defined on the fly, based on XML description of appropriate forms. In a preferred embodiment the central component of GUI is Hyperbolic Tree. The Hyperbolic Tree is based on a principle of Focus & Context. Any part of the data may be put into focus (viewed in detail), leaving the rest of the data as context (unfocused). Items in context are very small, and cannot be seen in detail. Rather, they form patterns which can be used in two ways: to gain a better understanding or presentation of the dataset as a whole, and to show relationships which help identify items of interest to be focused on. Optionally, another component can replace the hyperbolic tree (as hierarchical tree or some type of virtual reality tree) ~ XML - Manages creation of XML documents, parsing, manipulation of DOM (Document Object Model) XML elements Open Interface - The Runtime Environment (ZRE) communicates with the Core and Services through this interface. Third parties developing new Contents/Interpreters/Applications will use this interface to access Core functionalities.
ZRE Runtime Environment - contains applications, content and different interpreters for content execution o Content - a collection of objects, interpretable and actionable by the Personal Manager.
o Interpreter - is a software product for content interpretation and visual presentation. An interpreter interprets process script and presents it in its own defined format. Different interpreters will present the same process differently (i.e. Chinese or French presentation based on the same business logic with Swing or HTML visual controls). With selection of the preferred interpreters, users will always have familiar environment to work with. Interpreter APIs will be published for third-party development of additional interpreters.
Application - a program built on top of the Open Interface.
Tn~hile Content and Interpreters are specialized to execute a business process, application is an entity built to add functionality or to provide administrative features to the environment of the present invention. Certain applications work together with core managers and services. The corresponding manager or service is enclosed within the round brackets following the application name.
o Preferred applications are:
~ Scheduling - Schedules and executes processes based on scheduling table; analyzes dependences in started processes and requests more information, if necessary;
keeps track of all running processes and provides method for process termination ~ Upgrade - Manages upgrades for services and content (online or offline, partial or full) ~ Outbox (Messaging Service) - Sends messages from queue;
keeps messages in the queue if connection is not available.
~ Inbox (Messaging Service) - Receives messages in the queue; initializes the processing of received messages.
~ Backup (Backup Manager) - Backs up persistence and relevant configuration information.
~ Subscription (Subscription Manager) - Manages list of subscriptions for different message brokers; keeps record of userId/password pair for each subscription, extra information about subscription and information about last session.
~ Content Generator - Provides an environment to describe and to simulate business processes.
Looking at the preferred embodiment of the present system, it is easy to establish parallels. The Swing form is defined in XML. XwingML is used as a rendering engine to generate Swing forms. Objects in form are exposed to the scripting language that can control all exposed objects using standard Java syntax. In simple terms, the present system operates as a Swing Browser. Using this approach any Swing form (and potentially some other GUI library-forms) may be implemented using XML. Defining separate name space for each session (session starts when new instance of applet is started) allows multiple applets to be running at the same time.
The present system works closely with the Scripting Engine. Since the Scripting Engine has access to the Open Interface through which it can control public core functionality, all content also has the same access to the core. Combining this with the capability to control GUI
makes the present system a platform for development of various applications. These applications are limited in size and scope, but since their functionality will be highly focused, such limitations will not present a problem.
Content is described in XML files. Each description file contains two sections. The first section defines scripts (processes) while the other section defines GUI and events that will be calling different scripts.
Since XwingML is based on Swing GUI library, features available for the processes and systems of the present invention will include Java Plugable Look and Feel (LaF).
This feature is supported by Swing and will allow the definition of completely different Look and Feel layers over the Swing core, providing completely different GUIs.
Users of the processes and systems of the present invention will be able to develop any look and feel layer desired, as needed.
Another feature adding to the flexibility of the present System is the capability of the content XML description to reference external scripts (processes). That ultimately will allow multiple GUIs (in different languages, or LaF
using same scripts).
The User Interface of the present invention (ZUI) is a visual framework for graphical components. Users perform tasks by interacting with graphical control elements presented through ZUI. Visually, ZUI is a frame containing GUI controls, dashboards and images. To eliminate the complexity of typical software application user interface and to achieve ease of use, ZUI has an appliance "look &
ZUI is highly customizable through the use of skins and dashboards. Through the ZUI Visual Tool, the user can link the invocation of any function to GUI control elements. New dashboards can be constructed using a library of control components and function components.
As illustrated in Figure 4, the personal manager structure can be presented as two modules connected via the Open Interface. The bottom module, Core, provides complete functionality for personal manager, handling Persistency, Messaging, Scripting engine, Presentation, as well as management of all tasks and components. This module looks as a small personal server (portal) to the Core capabilities. The top module provides handling of applets/interpreters, acting effectively as a browser.
This module can be viewed as Client for the bottom module ( Core ) .
In a monolithic application these two modules are communicating through the Open Interface. Breaking the connection at this point, replacing it with RMI (Remote Method Invocation) and adding RMI service to the Core, will provide a way for a remote Client to Core connection.
This effectively enables Core to run as a Personal Portal. Users are able to connect to their personal data using the Internet and a small, RMI enabled, stab application. This application can work with a set of interpreters without the full GUI. Users are able to download applets/interpreters 'as needed', and execute them directly, again without going through the full GUI. This allows the application to be structured in such a way, that users with fast Internet connection will be able to run their Core as a small personal portal always available on the Internet.
A visual modeling tool is used to create business process models. Visual models of these defined processes contain process script blocks, process flow, business rules (constraints), process roles and messages (information) passing through the system.
Business process visual models are preferably translated directly into code through a Scripting Engine Service. The presentation of the model is defined in meta-language with built-in constraints where the actual representation is final and without constraints so that the representation can be left the individual user to define.
A business process consists of a structure defined by distributed data (careabouts), distributed process scripts, roles, and communication (messages). It acts as a container of many parts in the communication network. A
distribution tool is used to create the configuration of.a business process. It shows the paths of how messages are flowing around and defines communication as a part of the model. Once a business process is defined, the distribution tool is used to distribute the process scripts and careabouts to the corresponding roles.
G~lhile there are several different messages types, the most suitable type for the purposes of the processes and systems of the present invention is one which is compatible with the components of the system of the present invention and allows embedded objects and scripts. The preferred message type is basically a collection of XML elements and provides the flexibility to freely define the internal message structure. As shown in Figure 5, In the preferred embodiment the message of the present invention is wrapped within JMS message. The JMS specification defines several different messages. ObjectMessage is the most suitable type for our purposes. It is basically a collection of serializable object elements and provides the flexibility to freely define the internal message structure. A message is comprised of three sections: Header, Properties and Body. The Header is carrying basic information about origin, destination, time, and relations. The Property is carrying extra information specified in the JMS, as well as all other custom properties defined and used by a specific implementation. The Body, in the architecture, carries a collection that is the actual message (ObjectMessage type).
The body message can contain multiple objects. In turn, each Object has a corresponding Persistence Location. The Messaging Service uses the Persistence Location (path) information for the placement of the Object in the persistence. Object can be a careabout, a process or an event.
The body, in the processes and system of the present invention, carries a collection that is the actual message which will generally include one or more objects and their associated scripts.
One preferred means of implementing the hierarchical message format and exchange mechanisms utilizes the Java Messaging System (JMS) - a Sun Microsystems specification.
Message Queuing (MQ) products implementing JMS are commercially available, with JMS.providing a level of abstraction between the processes and systems of the present invention and vendor specific MQ implementation utilized in third party software.
A hierarchical name space extends topic management in a way that adds virtually no overhead when publishing, yet provides faster access, easier filtering and flexible subscriptions. By simply delimiting nodes when naming a topic, a hierarchy of contents is created at the message broker. Hierarchical name spaces use a parent-child subordinated folder. For example, with hierarchies, a topic named SavingAccount.AccountBalance.JohnSmith denotes a careabout node in a hierarchical structure able to participate in selection mechanisms that refer to its depth in the structure (third-level), the name of the user (JohnSmith), and its careabout class (a type of a careabout) AccountBalance, which is member of a higher careabout class SavingAccount Topic hierarchies enable unique multiple topic subscriptions, allowing users to subscribe to many topics quickly, subscribe to topics whose complete name is unknown and traverse topic structures efficiently In hierarchical message systems a suitable delimiter such as a . (period) is used to separate each level of the topic. Template characters such as the * (asterisk) and the # (pound) may be utilized to expand the flexibility of the subscription of the user to the topics containing the careabouts of interest to the user. Using these characters avoids having to subscribe to multiple topics, and offers benefits to subscribers who might need to see information or events across several areas. Client applications may use template characters when subscribing to a set of topics or binding a set of topics to a message handler.
Messages are preferably published on fully-specified topic names. The template characters may be used to specify any value at a particular class or sub-class or may be used to specify any value at a particular class and its subordinate hierarchy. For example, in SonicMQ there are two template characters:
(asterisk) - Select all topics at this content node.
(pound) - Select all topics at this content node and its subordinate hierarchy.
The intent of the template characters is to allow a set of managed topics to exist in a message system in a way that lets subscribers choose broad subscription parameters that will include preferred topics and avoid irrelevant topics.
The message broker delivers a message to more than one message handler, if the message's topic matches bindings from multiple handlers. V~hen topic hierarchies are used, message selectors-an inherently slow and recurring process-can often be eliminated.
The systems and processes of the present invention allow users the capability to look at information from two different points of view.
~ Careabout class centric, where the subscriber is looking at all information associated with a careabout class (type). An example would be a bank account manager having subscription to SavingAccount.AccountBalance.# where this manager is tracking all account balance changes regardless who the user is.
~ User centric, where the subscriber is tracking all information related to user's name. An example would be a user subscribing to all information relevant to user's name regardless of careabout type (#.JohnSmith).
~ Rol a cen tri c As discussed above, the message broker utilizes a defined Topic Name Space, in which each topic is uniquely identified and can be directly accessed or returned in a query set, constructed by using template characters.
Different levels of topics and subtopics are divided by period (dot). Since careabouts directly correspond to topics, the same applies to them.
An example of this naming convention would be a careabout:
SavingAccount.AccountBalance.JohnSmith In order to expand and generalize the naming space, it is possible to use reverse domain notation such as used by Sun for uniquely identifying Java classes. So, having this careabout (topic) residing on the a Message Broker zoxrnq.bankcom, naming notation that would identify our careabout in the total space would be:
com.bank.zoxmq.SavingAccount.AccountBalance.JohnSmith A composition of unique careabout naming would be:
[reverse domain name].[message broker name].[careabout class].[careabout subclass (unlimited number of levels)].[user unique id]
For careabouts that are public and used for a wide distribution information, the last element ([user unique id]) is not needed - these careabouts are distributed to all users subscribed to this topic (careabout).
This naming scheme can also be applied to the Persistence, where all objects (careabouts, processes, roles and applets) are treated in the same fashion as above. A way to uniquely identify any object in persistence would be:
[root].[object class (type)].[object (unlimited number of levels)]
The Database Structure As described above, the database used in the present invention is an OODB built as a hierarchical tree. A
composite design pattern is used to construct the data representation of the tree. A composite is a collection of objects, any one of which may be either composite or a primitive object. Composite lets clients treat individual objects and composition of objects uniformly. As the persistence is a hierarchical tree, some of the objects are nodes with additional branches (containers) and some are leaves (elements). The container and element extend the generic properties of the objects (main structure of data in persistence) which contain:
Objectld (unique identifier for a object within personal manager space) DisplayName Name DateTimeCreated Protected (require authorization to send content to another party) History (keep historic values of the object) Image Containers include Inbox, Outbox, Subscription, Dashboard, Scheduling, Role, Process, Function and Careabout.
Containers are position aware (role) or non-position aware (careabout) Elements include Message, Decimal, Integer, Currency, String, Date, Applet, Event and Careabout Reference.
The relationships between objects are described in additional properties of an object which contains:
ObjectId ObjectIdRelationship RelationshipType (parent, association, history, ProtectedLink (link cannot be broken) Subtype or extended classes describe specific properties of object types. Every object type has additional properties:
Careabout ObjectId BrokerCareaboutClassld (unique identifier for a careabout instance is comprised of BrokerCareaboutClassld and userld) Careabout specific fields Process ObjectId Process specific fields (processdefinition, Role ObjectId Roles specific fields (originalId, Agreement ObjectId Agreement specific fields (agreementtext, Objects are position aware (role) or non-position aware (careabout) The following is an example of the hierarcical structure of the database:
+Root +Subscriptions +Subscription Element +Roles +Role Element +Process +Function -Careabout Reference +Careabouts +Careabout -Careabout Element +Inbox -Inbox Element +Outbox -Outbox Element +Scheduling -Scheduling Element +Dashboards +Dashboard Element -Function Reference -Careabout Reference An example of a database structure as used in a banking environment could be:
+Root +Subscriptions +Bank +Roles +Customer +Check Balance +Check Account Balance -Chequing Account -Savings Account +Get Account Statement -Account Balance +Careabouts -Chequing Account -Savings Account -Account Balance +Inbox -Inbox Message +Outbox -Outbox Message +Scheduling -If Account Balance <1000 Then Notify -If First of Month Then Check Account Balance +Dashboards +Personal Items -Account Balance -Check Account Balance The Event Manager is an event-action system. This type of system detects the occurrence of events and reacts to those events by invoking the pre-defined actions. For the present invention, events are either time-based or status-based (changes in the value of careabouts). Action corresponds to an event and results in the invocation of any function defined in the present invention.
The Event Manager is made up of the following modules:
~ Source (or Event Source). An event is a state change that occurs independently of the Event Manager. The event sources provide information about these events to the event dispatcher.
~ Event Dispatcher The event dispatcher is the link between the source and the consumer of the event. It receives and dispatches information on events of interest.
~ Context Builder Its responsibility is to collect all the information the evaluation service requires to evaluate a specific expression. This set of information is called context. The context builder determines what events to be observed.
~ Evaluation Service This component evaluates an expression according a specific context and calls the registered action, if needed.
~ Action System The action system provides the access to the functions defined in the present invention..
Figure 6 illustrates the interaction of the various Event Manager components during the Activation Phase (when an event occurs).
Preferrably, the Knowledge Broker (KB) layers on top of the MB, providing additional functionalities that enhance the architecture. These functionalities are implemented with Adapters and applications. An adapter is a JMS client that performs certain functions based on specific incoming messages. The Adapters reside on the same sever as the MB.
Applications are not physically part of the MB server and can be located on any client. In a preferred embodiment as shown in Figure 7 the KB consists of these modules:
Billing, Business Model Administration, Role Resolution, and Administration.
Since billing is based on the traffic volume, this module will analyze traffic log and generate billing information (per delivered message or subscription or model size), as needed. The primary mechanism in collecting the billing information is by means of a Billing Queue.
Once a message arrives at the recipient's Personal Manager, the Messaging Service sends a Billing Information Message to the Billing Queue through point-to-point messaging model. This Billing Information Message contains the necessary billing information pertaining to the original message. The Billing Module, implemented as an Adapter, listens for incoming messages in the Billing Queue and processes the messages. Depending on the billing requirements, the Billing Module periodically issues the billing/invoicing information to the customers. Using the publish/subscribe messaging model, the authorized ZOX
clients retrieve this information from the Billing Summary Topic.
The concept of a role is central to the architecture of the present invention. Each process is executed by a role and the resulting actions, if any, become messages to be consumed by other roles. Each role corresponds to one or more users. Since the Message Broker has no facility to handle roles, this mapping between role and users is defined within the Knowledge Broker. More specifically, the Role Resolution Adapter provides this service by utilizing the role-user map information that is stored in the KB
database. For each message received by the MB, the Role Resolution Adapter determines the recipients (users) based on the process being executed and the sender's role, and directs the message to the corresponding user queues.
Point-to-point messaging model is used for both the incoming and outgoing messages.
The Content Administration module is responsible for the prerequisite tasks of content execution on a message, namely promotion and distribution. In this context, promotion refers to the process of transferring content from the Content Generator to the KB. For the second task, Distribution sends the appropriate process scripts and careabouts to the participating users, according to the predefined roles. This module is implemented as an application that can be installed on any client.
This module provides the administrative facilities for the Message Broker and the KB adapters. The major functions include the creation and maintenance of users, groups and queues/topics on the MB, the initiation and maintenance of the adapters and the clustering of MBs.
Figure 7 graphically illustrates the flow of a message -from the message originator (sender zOX) to the message consumer (recipient zOX); and the generation of a secondary message for message tracking and billing purposes.
Figure 8 - Message Flow The Message Flow Sequence is as follows:
1) From the sender Personal Manager, a function within a business process is executed. A resulting action from the execution of the function causes a message to be sent to another User.
2) The message is composed and sent to the queue, which belongs to the recipient role, situated in the Message Broker 3) The Role Resolution Adapter retrieves the message from the incoming message queue.
4) The Role Resolution Adapter determines the actual recipients) for this message, by utilizing the Role-User Mapping information defined in the KB database.
5) Once the recipients) are known, the message is forwarded to the appropriate user queue(s).
6) The recipient retrieves the message.
7) The recipient unpacks the message and stores the careabouts (and process, if any) into the database. Note, other events may be triggered by the modification and/or addition of careabouts 8) A special, compact message containing the relevant billing information is sent to the Billing Queue (inside the Message Broker).
9) The Billing Adapter retrieves the incoming billing message.
10) The Billing Adapter unpacks the message and stores the billing information into the KB database.
The system of the present invention preferrably includes a number of security features. The following is a list of the preferred security features followed by the strategy preferrably utilized to address the issue.
Authentication Definition: The process of identifying an individual to ensure the identity claim is accurate.
Approach: User and Knowledge Broker login are controlled by a username/password combination (password is encrypted).
Authorization Definition: The process of granting the user access to a function or feature based on the user's identity.
Approach: User profiles are managed at the Personal Manager and the Knowledge Broker Privacy or Confidentiality Definition: The ability to conceal the message/object contents from other than the intended recipients.
Approach: Message transport,secured by SSL (Secure Socket Layer) - content encrypted using PKI (Public Key Infrastructure) Persistence files are encrypted and password protected.
Content operates in it's own space in the Persistence.
Private careabouts are not accessible by content, unless access permission is granted by the user Data Integrity Definition: The process of ensuring the validity of the message/object.
Approach: Message content protected by a digital signature and a message 'digest' Non-Repudiation Definition: The ability to prove that the sender did indeed send the message and the recipient received the exact same message.
Approach: Internal Services and content (process models) signed by an electronic signature, verified by a Certification Authority Copyright Definition: The ability to restrict the copying and distribution of content by the users.
Approach: Content distribution is managed by the Knowledge Broker with the content access privileges managed by the authorized user. In addition, content can operate only in its own hierarchical name space.
The operation of the processes and systems of the present invention will now be described with respect to some typical applications. As described above, the business processes involve a triggering event to cause the script to be executed by a role or owner of the script to thereby adjust the state of a careabout. This adjusted state of the careabout is reported to the role, who caused the execution of the script, as well as other roles within the organization with whom the careabout is associated.
Thus, the scripts or business processes are owned by the role and used to adjust the state of the careabout, the adjusted state being reported to the roles, to whom the careabout is of importance. For example, within a business environment, the careabouts could include the businesses' Net Worth, a sub-careabout could be Revenue and Expenses.
Roles within the business can include a sales rep, president and administrative assistant. The processes could include such processes as business management processes, such as recording new revenue and declaring profit. In this circumstance, as new revenue is recorded using a script executed by a role, i.e. the sales rep, the state of the careabout, Revenue, is adjusted. This adjusted state of the careabout, Revenue, would be reported to roles within the organization to whom the careabout, Revenue, is associated, for example, to the president of the corporation. Another business management process could include declaring profit, this would involve the role, in this case being the president, triggering execution of the script to declare profit. This script would use Revenue and Expense careabouts and would generate a new careabout, Net Worth, the altered state of which would be reported to the roles associated with the careabout, such as the president.
In these circumstances, the personal manager upon execution of the script by the role to alter the state of a careabout, sends a message to the message broker advising the message broker of the careabout which has been altered and the altered state of the careabout. The message broker then compares the careabout to the database containing the indication of the careabouts and roles associated with each careabout. Each role who has the altered careabout associated with it, is then sent a message from the message broker to their personal manager of the altered state of the careabout. Depending upon the nature of the careabout and the role, the message may merely be an indication of the altered state of the careabout or the message may be an instruction to the personal manager to in turn trigger an event based upon the altered state of the careabout or the message sent by the message broker.
The message received in the personal manager is recorded in the inbox of the personal manager. Any script associated with a message may be executed upon the role opening the message in their personal manager. Preferably for trusted relationships, the message may be automatically executed without the person having to open the message. In addition, depending upon the nature of the process and careabout, the message broker can impose automatic triggering of events and execution of the scripts.
Another example of a process and system according to the present invention would be that related to a hiring process within the organization. The hiring process requires definition of a skill profile for a vacant position within the organization and a matching of the skill profile to resumes which are maintained on file. In a typical fashion, when a resume is received in response to a vacant position offering, the skills set forth in the resume is matched to the profile and if a match is found, then the person would be interviewed and possibly hired.
The above process may be adapted utilizing the processes and systems of the present invention. In such a circumstance, a new resume being received would be a triggering event which would require the recording of the data from the resume in a manner to allow comparison with skill profiles for open positions within the organization.
Once the resume has been recorded, then a message could be sent to cause a comparison between the data from the resume and a skill profile of an open position. If there is a match between the two, then a careabout, being an acceptable candidate, is altered and the state of this altered careabout would be reported to the business manager responsible for the portion of the business in which the open position is located. The business manager could then arrange the interview, check references and if the candidate is acceptable, make the offer.
Throughout this process, the altered state of careabouts such as, the number of open positions, the number of resumes received, the number of matches or non-matches would be updated and reported to roles associated with those careabouts. For example, the president of the company may be interested only in the number of open positions and the number of new hires. The state of these careabouts could be reported to the president as they change during the hiring process. Other roles within the organization may have the same careabouts associated with them but may require more detailed information on the states of those careabouts. For example, the manager of the personnel department may, in addition to requiring information about the vacant position and the new hire, also require information about the number of candidates for the vacant positions being considered as well as their progress through the hiring process. The information on these careabouts would also be reported to the business managers for the sections in which the vacant positions are located with respect to those positions but not to other vacant positions within the organization.
The business processes and systems of the present invention allow business to operate in an efficient manner by keeping persons and entities within the business aware of changes in parameters of the business which as a result of their role within the business they need to be made aware of. In one embodiment of the invention this is accomplished by notifying the persons or entities by a message received in the inbox of their personal manager whenever the status of a parameter of the business or careabout changes. The message sent to the person or entity may contain objects and scripts which can be executed to act upon other parameters of the business. By keeping persons and entities within the business aware of changes and parameters of the business the overall operation and efficiency of the businesses is improved.
Although various preferred embodiments of the present invention have been described herein in detail, it will be appreciated by those of skill in the art that variations may be made thereto without departing from the spirit of the invention or the scope of the appended claims.
a plurality of business processes for management of specific parameters of the business;
a plurality of careabouts, each careabout being a measurable parameter of the business of importance to the business and being associated with one or more roles of the business;
a plurality of roles, each role being a person or entity within the business who is the owner of one or more processes, and responsible for the execution of owned processes; and a plurality of scripts being methods of describing the business processes;
each of the business processes may be implemented by the role owning the process by executing the script associated with the process in response to an event to cause the state of a careabout to be adjusted, the adjusted state of the careabout being reported to each role with whom the careabout is associated.
a plurality of careabouts, each careabout being a measurable parameter of the business of importance to the business and being associated with one or more roles of the business;
a plurality of roles, each role being a person or entity within the business who is the owner of one or more processes, and responsible for the execution of owned processes;
a plurality of scripts being methods of describing the business processes;
a database containing indications of the roles and careabouts associated with the roles;
a knowledge router which routes messages between the business process and the roles;
each of the business processes may be implemented by the role owning the process by executing the script associated with the process in response to an event to cause the state of a careabout to be adjusted, the knowledge router receiving an indication of the altered careabout from the business process and after comparing the altered careabout with the database, notifying each role who has the careabout associated with it of the change in the state of the careabout by a message sent by the knowledge router.~
Priority Applications (1)
|Application Number||Priority Date||Filing Date||Title|
|CA 2327840 CA2327840A1 (en)||2000-12-06||2000-12-06||Knowledge based business processes and systems for implementation of same|
Applications Claiming Priority (3)
|Application Number||Priority Date||Filing Date||Title|
|CA 2327840 CA2327840A1 (en)||2000-12-06||2000-12-06||Knowledge based business processes and systems for implementation of same|
|PCT/CA2001/001712 WO2002046977A8 (en)||2000-12-06||2001-12-06||Knowledge based business processes and systems for implementation of same|
|AU1685202A AU1685202A (en)||2000-12-06||2001-12-06||Knowledge based business processes and systems for implementation of same|
|Publication Number||Publication Date|
|CA2327840A1 true true CA2327840A1 (en)||2002-06-06|
Family Applications (1)
|Application Number||Title||Priority Date||Filing Date|
|CA 2327840 Abandoned CA2327840A1 (en)||2000-12-06||2000-12-06||Knowledge based business processes and systems for implementation of same|
Country Status (2)
|CA (1)||CA2327840A1 (en)|
|WO (1)||WO2002046977A8 (en)|
Families Citing this family (1)
|Publication number||Priority date||Publication date||Assignee||Title|
|US20080313282A1 (en)||2002-09-10||2008-12-18||Warila Bruce W||User interface, operating system and architecture|
Also Published As
|Publication number||Publication date||Type|
|Van der Aalst||Loosely coupled interorganizational workflows:: modeling and analyzing workflows crossing organizational boundaries|
|Huhns||Agents as Web services|
|Fan et al.||The adoption and design methodologies of component-based enterprise systems|
|Schuldt et al.||The WISE approach to electronic commerce|
|Cai et al.||DartFlow: A workflow management system on the web using transportable agents|
|Krafzig et al.||Enterprise SOA: service-oriented architecture best practices|
|US8032409B1 (en)||Enhanced visibility during installation management in a network-based supply chain environment|
|Fensel et al.||Semantic web services|
|Woods et al.||Enterprise SOA: designing IT for business innovation|
|D'Ambrogio et al.||A model-driven approach to describe and predict the performance of composite services|
|Leymann et al.||Web services and business process management|
|US6697824B1 (en)||Relationship management in an E-commerce application framework|
|Shegalov et al.||XML-enabled workflow management for e-services across heterogeneous platforms|
|US7689711B2 (en)||System and method for routing messages between applications|
|US20020059369A1 (en)||Method and apparatus for creating and distributing non-sensitized information summaries to users|
|Vinoski||Middleware" dark matter"|
|US20070168303A1 (en)||Software model process interaction|
|US20030004770A1 (en)||Method, system, and program for generating a workflow|
|US20040098349A1 (en)||Method and apparatus for a portable information account access agent|
|US20030195789A1 (en)||Method for incorporating human-based activities in business process models|
|US20020147757A1 (en)||Context-sensitive help for thin client-based business operations platform|
|US20070174811A1 (en)||Software model integration scenarios|
|US20030110073A1 (en)||Data management system|
|US20060005036A1 (en)||Enterprise security management system using hierarchical organization and multiple ownership structure|