The present invention relates generally to enterprise applications. More particularly, the invention relates to process orchestration in Supply chain management (SCM) enterprise application of codeless platform architecture.
In any organization to meet the operational requirements, an enterprise application of the organization requires certain customization capabilities. However, it is impractical for a service provider to restructure the enterprise application every time a new entity raises a distinct operational requirement.
Every end user of an enterprise application has a different operational requirement depending on industry verticals and variations based on region of operation. It is impractical to accommodate to such requirements through the existing enterprise applications.
Further, there are unique challenges with applications developed on codeless platform due to the inherent nature of the development framework. The architecture remains unsupportive in multiple aspects including dynamic workflows. Even with codeless development integration of multiple functions while dealing with distinct data without impacting functionality of the applications is cumbersome to design. The basic structure of applications supporting such development have inherent issues due to the complexity of the functions to be executed in supply chain management applications. None of the prior arts address the structural complexity and technical issues in executing complex functions through an enterprise application that are supported by existing architecture designs and infrastructure.
Further, the platforms have limited capability and applications developed through the platform are relevant to industry domains, where work moves from one desk to another or one mailbox to another. Any development in undertaken from scratch which makes it tedious and time consuming. Moreover, Orchestration of systems, process, applications and associated services through the codeless platforms are extremely complex.
In view of the above problems, there is a need for a system and method of orchestration in enterprise application developed on codeless platform that can overcome the problems associated with the prior arts.
According to an embodiment, the present invention a System for process Orchestration in Supply chain management application. The system includes an application programming interface (API) for providing access to configuration and workflow operations of the one or more SCM application, an AI based orchestration engine configured for interacting with one or more configurable components in a codeless platform architecture for executing one or more SCM operations wherein the AI based orchestration engine drives execution of the SCM operations through one or more data objects mapped to the API for structuring at least one workflow of the SCM operation by a process modeler of the AI based orchestration engine, an orchestrator UI for monitoring and providing visibility for structuring the at least one workflow wherein the orchestrator UI monitors the at least one structured workflow and a task executed through the structured workflow of the SCM operations; and an orchestrator manager configured to control the structuring of the at least one workflow wherein the orchestrator manager controls the at least one structured workflow and the task executed through the structured workflow of the SCM operations.
In an embodiment, the present invention provides a method of Process orchestration in supply chain management (SCM) application. The method includes the steps of receiving a request at a server to structure at least one workflow of one or more SCM operations, providing by an API, access to configuration and workflow operations of one or more SCM application, interacting by an AI based orchestration engine with one or more configurable components in a codeless platform architecture for executing the SCM operations wherein the AI based orchestration engine drives execution of SCM operations through one or more data objects mapped to the API for structuring the at least one workflow of the SCM operations by a process modeler of the AI based orchestration engine, monitoring and providing visibility for structuring the at least one workflow by an orchestrator UI wherein the orchestrator UI is configured to monitor the at least one structured workflow and a task executed through the structured workflow of the SCM operations; and controlling the structuring of the at least one workflow by an Orchestrator manager wherein the Orchestrator manager is configured to control the at least one structured workflow and the task executed through the structured workflow of the SCM operations.
In an embodiment, the method of the invention further includes remodeling a structure of the at least one workflow based on transactions performed through the workflow and corrected outliers.
In an embodiment, the present invention provides a computer program product for process orchestration in SCM enterprise applications of a computing device with memory. The product includes a computer readable storage medium readable by a processor and storing instructions for execution by the processor for performing the above method.
In an advantageous aspect, the system and method of the invention structures a workflow dynamically with model driven AI (artificial intelligence). Further, the present invention utilizes Machine Learning algorithms, prediction data models, artificial intelligence-based process orchestration for execution of one or more SCM application operations.
The disclosure will be better understood and when consideration is given to the drawings and the detailed description which follows. Such description makes reference to the annexed drawings wherein:
Described herein are the various embodiments of the present invention, which includes process orchestration in enterprise application developed with codeless platform architecture.
The various embodiments including the example embodiments will now be described more fully with reference to the accompanying drawings, in which the various embodiments of the invention are shown. The invention may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. In the drawings, the sizes of components may be exaggerated for clarity.
It will be understood that when an element or layer is referred to as being “on,” “connected to,” or “coupled to” another element or layer, it can be directly on, connected to, or coupled to the other element or layer or intervening elements or layers that may be present. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
Spatially relative terms, such as “task,” “compliance,” or “resource”,” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass different workflows of the process in use or operation in addition to the workflows depicted in the figures.
The subject matter of various embodiments, as disclosed herein, is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different features or combinations of features similar to the ones described in this document, in conjunction with other technologies. Generally, the various embodiments including the example embodiments relate to process orchestration in enterprise application including supply chain management application developed with codeless platform architecture.
Referring to
In an exemplary embodiment, the configurable components enable an application developer user/citizen developer, a platform developer user and a SCM application user working with the SCM application to execute the operations to code the elements of the SCM through configurable components. The SCM application user or end user triggers and interacts with the customization layer 105 for execution of the operation through application user machine 106, a function developer user or citizen developer user triggers and interacts with the application layer 104 to develop the SCM application for execution of the operation through citizen developer machine 106A, and a platform developer user through its computing device 106B triggers the shared framework layer 103, the foundation layer 102 and the data layer 101 to structure the platform for enabling codeless development of SCM applications.
In an embodiment the present invention provides one or more SCM enterprise application with an end user application UI and a citizen developer user application UI for structuring the interface to carry out the required operations.
In one embodiment, the architecture provides the cloud agnostic data layer 101 as a bottom layer of the architecture. This layer provides a set of micro-services that collectively enable discovery, lookup and matching of storage capabilities to needs for execution of operational requirement. The layer enables routing of requests to the appropriate storage adaptation, translation of any requests to a format understandable to the underlying storage engine (relational, key-value, document, graph, etc.). Further, the layer manages connection pooling and communication with the underlying storage provider and automatically scales and de-scaling the underlying storage infrastructure to support operational growth demands.
In an example embodiment, a document data stores data abstraction of the data layer store all attributes of a document as a single record, much like a relational database system. The data is usually denormalized in these document stores, making data joins common in traditional relational systems unnecessary. Data joins (or even complex queries) can be expensive with this data store, as they typically require map/reduce operations which don't lend themselves well in transactional systems (OLTP-online transactional processing).
In a related embodiment, the plurality of configurable components includes one or more data layer configurable components including but not limited to Query builder, graph database parser, data service connector, transaction handler, document structure parser, event store parser and tenant access manager. The data layer provides abstracted layers to the SCM service to perform data operations like Query, insert, update, delete and Join on various types of data stores document database (DB) structure, relational structure, key value structure and hierarchical structure.
The memory data store/data lake of the data layer/storage platform layer may be a volatile, a non-volatile memory or memory may also be another form of computer-readable medium, such as a magnetic or optical disk. The memory store may also include storage device capable of providing mass storage. In one implementation, the storage device may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or an array of devices, including devices in a storage area network or other configurations.
In an embodiment the system of the present invention built on the codeless platform architecture where the architecture provides the foundation layer 102 on top of the data layer 101 of the architecture. This layer provides a set of microservices that execute the tasks of managing code deployment, supporting code versioning, deployment (gradual roll out of new code) etc. The layer collectively enables creation and management of smart forms (and templates), framework to define UI screens, controls etc. through use of templates. Seamless theming support is built to enable specific form instances (created at runtime) to have personalized themes, extensive customization of the user experience (UX) for each client entity and or document. The layer enables creation, storage and management of code plug-ins (along with versioning support). The layer includes microservice and libraries that enable traffic management of transactional document data (by client entity, by document, by template, etc.) to the data layer 101, enables logging and deep call-trace instrumentation, support for request throttling, circuit breaker retry support and similar functions. Another set of microservice enables service to service API authentication support, so API calls are always secured. The foundation layer micro services enable provisioning (on boarding new client entity and documents), deployment and scaling of necessary infrastructure to support multi-tenant use of the platform. The set of microservices of foundation layer are the only way any higher layer microservice can talk to the data layer microservices. Further, machine learning techniques auto-scale the platforms to optimize costs and recommend deployment options for entity such as switching to other cloud vendors etc.
In an exemplary embodiment, the data layer 101 and foundation layer 102 of the architecture function independent of the knowledge of the operation. Since, the platform architecture builds certain configurable component as independent of the operation in the application, they are easily modifiable and restructured.
In a related embodiment, the plurality of configurable components includes one or more foundation layer configurable components including but not limited to logger, Exception Manager, Configurator Caching, Communication Layer, Event Broker, Infra configuration, Email Sender, SMS Notification, Push notification, Authentication component, Office document Manager, Image Processing Manager, PDF Processing Manager, UI Routing, UI Channel Service, UI Plugin injector, Timer Service, Event handler, and Compare service for managing infrastructure and libraries to connect with cloud computing service.
In an embodiment, the platform architecture provides the shared framework layer 103 on top of the foundation layer 102. This layer provides a set of microservices that collectively enable authentication (identity verification) and authorization (permissioning) services. The layer supports cross-document and common functions such as rule engine, workflow management, document approval (built likely on top of the workflow management service), queue management, notification management, one-to-many and many-to-one cross-document creation/management, etc. The layer enables creation and management of schemas (aka documents), and support orchestration services to provide distributed transaction management (across documents). The service orchestration understands different document types, hierarchy and chaining of the documents etc.
In a related embodiment, the plurality of configurable components includes one or more shared framework configurable components including but not limited to license manager, Esign service, application market place service, Item Master Data Component, organization and accounting structure data component, master data, Import and Export component, Tree Component, Rule Engine, Workflow Engine, Expression Engine, Notification, Scheduler, Event Manager, and version service.
In a related embodiment, the configurable component scheduler manages jobs and scheduler expressions for any applications to trigger API. It is used to schedule reminder notifications, backend jobs etc.
In one embodiment, the architecture provides the application layer 104 on top of the shared framework layer 103 of the architecture. The developer user of the platform will interact with the application layer 103 for structuring the SCM application. This is also the first layer, that defines SCM specific documents such as requisitions, contracts, orders, invoices etc. This layer provides a set of microservices to support creation of documents (requisition, order, invoice, etc.), support the interaction of the documents with other documents (ex: invoice matching, budget amortization, etc.) and provide differentiated operational/functional value for the documents in comparison to a competition by using artificial intelligence and machine learning. This layer also enables execution of complex operational/functional use cases involving the documents.
In an exemplary embodiment, a developer user or admin user will structure one or more SCM application and associated functionality by the application layer of microservices, either by leveraging the shared frameworks platform layer or through code to enable the notion of specific documents or through building complex functionality by intermingling shared frameworks platform capabilities with custom code. Besides passing on the entity metadata to the shared frameworks layer, this set of microservices do not carry any concern about where or how data is stored. Data modeling is done through template definitions and API calls to the shared frameworks platform layer. This enables this layer to primarily and solely focus on adding operational/functional value without worrying about infrastructure.
Further, in an advantageous aspect, all functionality or application services built at the application layer are exposed through an object model, so higher levels of orchestrations of all these functionalities is possible to build by custom implementations for end users. The platform will stay pristine and clean and be generic, while at the same time, enables truly custom features to be built in a lightweight and agile manner.
In a related embodiment, the plurality of configurable components includes one or more application layer configurable components including but not limited to domain Gateway Service, Stakeholder Component, application header service, application Line items component, Milestones component, key performance indicator (KPI) component, section component, section component, and metadata component for developing and managing at least one application service.
In an embodiment, the codeless platform architecture provides the customization layer 105 as the topmost layer of the architecture above the application layer 104. This layer provides microservices enabling end users to write codes to customize the operational flows as well as the end user application UI to execute the operations of SCM. The end user can orchestrate the objects exposed by the application layer 104 to build custom functionality, to enable nuanced and complex workflows that are specific to the end user operational requirement or a third-party implementation user.
In a related embodiment, the plurality of configurable components includes one or more customization layer configurable components including but not limited to a plurality of rule engine components, configurable logic component, component for structuring SCM application UI, Layout Manager, Form Generator, Expression Builder Component, Field & Metadata Manager, store-manager, Internationalization Component, Theme Selector Component, Notification Component, Workflow Configurator, Custom Field Component & Manager, Dashboard Manager, Code Generator and Extender, Notification, Scheduler, form Template manager, State and Action configurator for structuring the one or more SCM application to execute one or more SCM operation.
In an exemplary embodiment, each of these layers of the platform architecture communicates or interacts only to the layer directly below and never bypasses the layers through operational workflow thereby enabling highly productive execution with secured interaction through the architecture.
Further, depending on the type of user, the user interface (UI) of the entity machines (106, 106A, 106B) is structured by the platform architecture. The entity machine 106A with a citizen developer user UI is configured for sending, receiving, modifying or triggering processes and data object for creation of one or more of a SCM application over a network 107.
The computing devices referred to as the entity machine, server, processor etc. of the present invention are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, and other appropriate computers. Computing device of the present invention further intend to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed in this disclosure.
The system includes a server 108 configured to receive data and instructions from the entity machines (106, 106A, 106B). The system 100 includes a support mechanism for performing various prediction through AI engine and mitigation processes with multiple functions including historical dataset extraction, classification of historical datasets, artificial intelligence based processing of new datasets and structuring of data attributes for analysis of data, creation of one or more data models configured to process different parameters, structuring of workflows etc.
In an embodiment, the system is provided in a cloud or cloud-based computing environment. The codeless development system enables more secured processes.
In an embodiment the server 108 of the invention may include various sub-servers for communicating and processing data across the network. The sub-servers include but are not limited to content management server, application server, directory server, database server, mobile information server and real-time communication server.
In example embodiment the server 108 shall include electronic circuitry for enabling execution of various steps by processor. The electronic circuitry has various elements including but not limited to a plurality of arithmetic logic units (ALU) and floating-point Units (FPU's). The ALU enables processing of binary integers to assist in formation of at least one table of data attributes where the data models implemented for dataset characteristic prediction are applied to the data table for obtaining prediction data and recommending action for codeless development of SCM applications. In an example embodiment the server electronic circuitry includes at least one Athematic logic unit (ALU), floating point units (FPU), other processors, memory, storage devices, high-speed interfaces connected through buses for connecting to memory and high-speed expansion ports, and a low speed interface connecting to low speed bus and storage device. Each of the components of the electronic circuitry, are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate. The processor can process instructions for execution within the server 108, including instructions stored in the memory or on the storage devices to display graphical information for a graphical user interface (GUI) on an external input/output device, such as display coupled to high speed interface. In other implementations, multiple processors and/or multiple busses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple servers may be connected, with each server providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
The processor may be implemented as a chipset of chips that include separate and multiple analog and digital processors. The processor may provide coordination of the other components, such as controlling user interfaces, applications run by devices, and wireless communication by devices. The Processor may communicate with a user through control interface and display interface coupled to a display. The display may be, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) or an OLED (Organic Light Emitting Diode) display, or other appropriate display technology. The display interface may comprise appropriate circuitry for driving the display to present graphical and other information to an entity/user. The control interface may receive commands from a user and convert them for submission to the processor. In addition, an external interface may be provided in communication with processor, so as to enable near area communication of device with other devices. External interface may provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces may also be used.
In an example embodiment, the system of the present invention includes a front-end web server communicatively coupled to at least one database server, where the front-end web server is configured to process the dataset characteristic data based on one or more prediction data models and applying an AI based dynamic processing logic to automate codeless development actions through process orchestrator for structuring the workflow.
In an embodiment, the system 100 of the invention includes the process orchestrator 109 configured for enabling interaction of the plurality of configurable components in the layered architecture for executing one or more SCM operation and development of the one or more SCM application. The process orchestrator 109 includes an application programming interface (API) 109A for providing access to configuration and workflow operations of SCM application operations, an Orchestrator manager 109B configured for Orchestration, controlling the structure and task executed through the workflow of the SCM application operations, an orchestrator UI/cockpit 109C for monitoring and providing visibility across structured workflows and the task executed through the workflow of the SCM operations and an AI based process orchestration engine 109D configured for interacting with a plurality of configurable components in the platform architecture for executing SCM operations, where the AI based orchestration engine 109D drives execution of SCM operations through one or more data objects mapped to the API for structuring the workflow of the SCM operation by a process modeler of the AI based orchestrator engine 109D.
In one embodiment, the one or more data objects includes event data object, state data object, action data object and access control data objects, stakeholder types, rule expression data object, master data objects. The event data objects, and action data objects are mapped to endpoints of the API. Also, the event data objects are connected to action data objects and action data objects are associated to state data objects.
In another embodiment, the one or more data objects includes application functional data objects such as Taxonomy associated to a document, sub class of the document (contract type, PO type, Invoice type, business unit, line of business, ship and bill to location, item category, stakeholder types) document Types, Application Types, Supplier location, Region of business, taxation attributes, Line attributes, clause type, approval type, and document value (invoice amount, contract amount).
It shall be apparent to a person skilled in the art, that the data objects listed in the application are examples relating to data objects for Process Orchestration in Supply chain application. The list provided is not exhaustive and may include other data objects that are withing the scope of the current disclosure related to supply chain application.
In an embodiment, the system 100 of the present invention provides a historical workflow knowledge database configured for storing historical workflow dataset wherein the workflow of the SCM operation is structured based on the historical workflow dataset by building model-driven flows incorporating application process within supply chain.
In an embodiment, the process orchestrator 109 includes a blockchain connector 109E for integrating blockchain services with the one or more SCM application and interaction with one or more configurable components. Further, Configurator User interface (UI) services are used to include third party networks managed by domain providers.
In a related aspect, the orchestrator UI 109C provides details through graphical representation to customize data flow, workflow, manage run, settings and configuration to execute the workflow. The AI based orchestrator engine 109D coupled to a processor execute SCM operation by at least one data model wherein the AI engine transfers processed data to the UI for visibility, exposes SCM operations through API and assist the manager for orchestration and control.
In an embodiment, the present invention uses GPUs (Graphical processing units) for enabling AI engine to provide computing power to processes humongous amount of data.
In an exemplary embodiment, the AI engine employs machine learning techniques that learn patterns and generate insights from the data for enabling the process orchestrator to automate operations. Further, the AI engine with ML employs deep learning that utilizes artificial neural networks to mimic neural network. The artificial neural networks analyze data to determine associations and provide meaning to unidentified or new dataset.
In another embodiment, the invention enables integration of Application Programming Interfaces (APIs) for plugging aspects of AI into the dataset characteristic prediction and operations execution for development of the SCM enterprise application.
Referring to
Further, data driven model relies on larger volume of data. The data driven AI pattern is driven by historical knowledge data while deterministic are driven through expert and deep learner's engine focused on specific problem areas. The data driven AI patterns relies on smaller data sets which are accurate as they are focused on procurement and supply chain workflows and targeted for various industry verticals. The combination of subject matter expert small data for AI and big data for AI accelerates the model-driven AI workflow pattern. In the present invention a combination of subject matter expert and machine-driven training is applied simultaneously to feed small data expertise into machines. The intelligent model driven AI with Orchestration engine leverages small data to enhance operational process.
In a related embodiment, the model-driven AI flow with the cordless platform architecture enables users to access data in a unified manner regardless of the underlying data store. Data store queries (e.g., relational, or file systems) are significantly streamlined for structuring the workflow. The essential aspects of time and space, data normalizing, versioning, and tracking are all handled by the Process Orchestration system thereby enabling the developer to work on functional performance.
The workflow visualization includes processing of functional industry knowledge with declarative and deterministic AI which deals with controlled section of operational/business logic provided by industry experts. Further, the workflow includes interpretation of regulations and policies to be applied to business processes.
In another related embodiment, the workflow visualization block 100B includes a process modeler that is responsible to generate notations and defines process as per trained models saved in the repository. The process modeler manages various processes, responsible to integrate these processes and use tools repository to structure the workflow. Further, the workflow includes compliance process with validation of end to end flows and is responsible to verify and simulate the flow as per the data model. The compliance process identifies outliers and generates alerts along with replaying the events. Furthermore, the workflow block 100B includes a user process block that generates notations, identifies blocks requiring user intervention, defines start and end of the flow, and connects user action to business events.
In another embodiment, the workflow visualization block 100B includes service process that generates definition of microservice blocks, runs in-memory in the engine and have a single responsibility. The service processes include sub processes and is high performant. Further, the workflow block 100B includes functional process as a critical block with ability to connect with code server for custom implementation. It invokes API. Further decision process includes decision blocks that are generated through a rule engine.
Referring to
In an embodiment the entity machines (106, 106A, 106B) may communicate with the server 108 wirelessly through communication interface, which may include digital signal processing circuitry (
In an exemplary embodiment, the developer application user interface (UI) and the application user interface of the entity machines (106, 106A) enables cognitive computing to improve interaction between user and an enterprise or supply chain application(s). The interface improves the ability of a user to use the computer machine itself. Since, the interface triggers configurable components of the platform architecture for structuring an SCM application with workflow to execute at least one operation including but not limited to creation of Purchase order, Contract lifecycle management operations, Warehouse management operations, inventory management operations etc., at the same instant, the interface thereby enables a user to take informed decision or undertake an appropriate strategy for adjusting workflow for execution of operations. By structuring operations and application functions through a layered platform architecture and eliminating multiple cross function layers, repetitive processing tasks and recordation of information to get a desired data or operational functionality, which would be slow and complex the user interface is more user friendly and improves the functioning of the existing computer systems.
In an embodiment the system 100 of the present invention provides a development application framework 110 for codeless development of SCM applications (
In a related embodiment, the system 100 provides package management 111 (
In an exemplary embodiment, apart from application user interface, output of the layered platform architecture is exposed as API for third party digital platforms and applications. The API is also consumed by bots and mobile applications.
Referring to
In an embodiment, the process orchestrator is overlaid with AI fabric layer that continually mines various aspects of processes. It comprises of multiple AI engines that perform different analyses including AI flow orchestrator engine 201, AI task orchestrator engine 202, AI Compliance Orchestrator engine 203 and AI resource Orchestrator engine 204.
In an embodiment, the AI Flow orchestrator engine 201 includes AI algorithms that monitor and learn the flow of input transactions data across different stages to reach final approvals. The AI Task orchestrator engine 202 includes AI algorithms that determine the relative importance of different business rules/tasks to either automate repetitive/redundant tasks or determine dependencies to introduce execution optimizations. The AI Compliance orchestrator engine 203 includes AI algorithms that determine anomalies or process pattern drifts to alert administrators. The AI Resource orchestrator engine 204 includes AI algorithms that focus on “importance-driven” QoS (Quality of Service) requirements to optimize resource allocation of the platform.
In an embodiment, the AI flow Orchestrator engine 201 takes a record centric view of all transactions applied to different records for the approval process. For example, an invoice record goes through different verification stages compared to a requisition for approval. Even within those types, there may be subtypes which require different business rules to act on them. The AI actions of Flow Orchestrations is explained in flow diagrams 200A and 200B of
In an exemplary embodiment, the implementation for the flow diagrams in 2A and 2B includes step of performing clustering on input transactions to group similar incoming transaction types. Further, within a cluster, for each input transaction extracting following details from ACT_HI_ACTINST:
(1) ROOT_PROC_INST_ID: The process identifiers related to this set of transactions.
(2) Extracting the task sequences by traversing through (PROC_INST_ID, ACT_ID, TASK_ID).
The implementation further includes performing a sequential pattern mining to determine the common sequence of executed tasks on this cluster of input transactions which can be recommended to the user.
In an embodiment, the AI task Orchestrator engine 202 takes a task-centric view and monitors the relative importance of operational/business rules that act upon an input transaction. The primary responsibility of this engine 202 is to determine whether a rule is effective for an input transaction or is it just a pass-through which can help in deciding on the weightage of that rule and whether expert intervention is required (if the rule needs separate approval). The engine 202 performs process mining to determine the process reality vs. process flow as shown in flow diagram 200C of
In an exemplary embodiment, the implementation for the flow diagrams in 2C includes step of extracting following details for a set of input transactions from ACT_HI_ACTINST:
(1) ROOT_PROC_INST_ID: The process ids related to this set of transactions
(2) Extracting the tasks TASK_ID that operate on this transaction
The implementation further includes building a conditional probability matrix to predict the importance of task to task dependency and task to approval dependence. The system uses Bayesian inferencing to identify the key tasks that would lead to approval.
The AI task orchestrator engine 202 further determine tradeoff between tasks that require user approval vs. automated approval to enable automation of process flows as shown by flow diagram 200D of
In an embodiment, while the Flow and Process Orchestrator components of AI Overlay focus on the mining of physical transactions and the business tasks, the compliance orchestrator 203 in turn mines on the overall flows and processes that are managed by the process orchestrator. To that end, AI will perform following activities:
The module will identify one-off flows or issues/blockages that may arise with automation of various steps, viz. failure modes. In large organizations, this module will also be helpful to identify situations of fraud as shown in flow diagram 200E of
(i) ROOT_PROC_INST_ID: The process ids related to this set of transactions
(ii) Extract the task sequences by traversing through (PROC_INST_ID, ACT_ID, TASK_ID)
Depending on the criticality of required approvals, the ML classification model described in “AI Task orchestrator” section can also be extended to classify the level of User intervention. For example, the ML classification model can leverage the organizational hierarchy to route high-value invoices to managers for approvals and simple invoices get auto-approved but general invoices requiring attention get routed to financial analysts as depicted by flow diagram 200F in
Determine changing and evolving workflow changes and classify them as: (i) abrupt; (ii) gradual; and (iii) trended/seasonal. This module looks at a workflow sequence over time, tracks sequence changes to the workflow over time and computes distance between the workflow sequences to determine drifts and evolutions. It also performs clustering of task sequences over time to determine any seasonality patterns. The implementation includes extracting all task sequences from ACT_HI_ACTINST and ACT_HI_TASKINST and Using process mining for drift detection.
This module looks at all the task sequences and uses suffix tree algorithms for large scale sequence alignment and comparison. For each task sequence, the nearest sequences can be provided as recommendations. ACT_HI_TASKINST will have all the data required for this step.
In an embodiment the AI resource Orchestrator 204 adds a resource angle (viz. timing, hardware resources, cost impact) to optimize. At this point only the execution times are recorded for each task. So, the system can predict things like remaining time. The ACT_HI_ACTINST has start time and end time values.
Referring to
In an exemplary embodiment, various process and services can be attached to Events. Event has pre and post event handlers which can be configured through administration section as shown in flow diagram 300A of
In another exemplary embodiment the Process Orchestrator of the present invention has critical component integrated with User interface like Web or Mobile. The Orchestrator provides state and action services (manages Standard states; Actions & Events required to attain state or connected states), access Control Services (Stakeholders persona and activities; Actors relation to master data elements which will influence access control policies), and action Engine (Based on State/Action and Access Control policies, component provides related action on user interface. Action panels are integral component of UI footer section). The State and Action are customized by administrator and users. New State can be introduced as per business needs and related actions can be defined. UI panel of GEP codeless platform is designed to integrate with underlying engine without requiring additional code. Links will be displayed to the user based on access control, state of the document.
In an embodiment, the States correspond to stages in a SCM process. A state identifies a precise point within the process. In a given SCM process at a given state, the actions that can be taken by users are completely defined by the set of outgoing transitions. A state may have an entry action, an action that is executed upon entering the state, and an exit action, an action that is executed upon leaving the state.
In an embodiment, the actions correspond to task logic being executed at the application server. Actions can appear in states and transitions. An action can be used to interface to an external system, such as a workflow system handling its own set of functionalities. An action can be a conglomeration, or sequence, of pre-defined internal commerce actions. All actions caused by the processing of an event are run within the same transaction.
In an embodiment, the Event is a named message needing to get processed triggered from UI or from another process. E.g Approve/Reject is an Event attached to invoice.
In an embodiment, the rules are Set of conditions that need to be true before the action can be taken. Conditions are Boolean computations on the context of the business process and/or the parameters of the event. An access control condition is always present in the guard. Thus, the action on a transition is taken only if access is allowed. If no access control policy is explicitly specified, the default access control mechanism is used.
In an exemplary embodiment the platform architecture provides form designer feature. The platform provides base-level code, scripts, and integrations so users can prototype, build, or scale applications without developing complex infrastructures. Both developers and non-developers can use this tool for rapid application development with customized workflows and functionality.
Further, the platform as a product advantageously enables citizen developer user to create end to end application with additional customized microservices and API deployed and configured in CDS. The developer creates application templates based on the operational verticals with predefined rules and workflows and database schema for out of box implementation. Third party implementation entities can select the application, customize and extend schema based on specific needs of customer region and line of operation. The platform has an ability create microservices and schema dynamic based on standard templates and customize layer. It supports real-time reporting with Inbuild capability to integrate with data lake for real-time integration with reporting solutions. The platform supports multiple communication protocols including but not limited to SOA, REST and gRPC (g Remote procedure call). It also supports dynamic and centralized state model and event handler for multiple action types i.e standard event handler and customized event handler for pre-event, event and post event. The platform auto-corrects and reverse transactions in case of failures.
In a related embodiment, the platform enables end to end flow. It enables selection of application type, configuration of data attributes as required for operation execution. The platform dynamically generates code clocks and database schema based on filed property like type and mandatory etc. Code and queries are generator based on column and repository type, translated using GEP Query language standardized for multiple data stores. System generates multiple user action types. Event types are generated based on state model and sequence on actions. Unique ID is generated for type. Event Types are mapped by dynamic code modular responsible for distributed transaction. Every transaction is tracked using Process ID and Event ID. Every Event has predefined Event Handler. Event Handlers can be configured and extended from portal. Some of the event types include AUTOSAVE, READ, INSERT/UPDATE, DELETE, APPROVE/REJECT, and CUSTOM ACTION. Further, every Action type has mandatory Event Handler blocks including PRE-EVENT, POST-EVENT, EVENT, SECURITY HANDLER and EXCEPTION HANDLER. Based on time interval system by default initiated defined code block to save data in repository. Transaction is saved in default state defined in initial step. Read event generated through canvas low code portal has following flow. Event ID mapped to code block responsible to fetch transaction based on underlying data repository using READ Code block. Transaction flows through 4 layers invoked using gRPC and API based model. READ Event Handler invokes security pre-event handler to validate user access control using roles/activities and user relation with transaction based on metadata and inter relation with other attributes. Access control application service is invoked using remote procedure call (RPC) protocol such as gRPC protocol at shared framework layer through process orchestrator. In example embodiment, the layered architecture includes application layer and predefined event handler, shared Framework layer for translating event handler and model information into standard format, other layers for translating transaction model into generic query language and translating the generic query language into data repository language.
In an exemplary embodiment, the present invention provides a bouncer API for Data Access Security. The API provides Decorator attribute on Event Handlers to support security-based rules. The rules are executed against hierarchical model based on Users relation with master data and application transaction.
In an exemplary embodiment, the platform of the present invention provides creation of Seed project that includes common repository and template project containing all metadata information and applications can be built on top using these templates. This will enable faster development of applications and structuring of workflow by multiple application development teams. Additional Features required to implement as part of Seed project include project repository as seed for all entity/end user implementations, manage all the entities from single manage interface to decide which entity is going to view what specific data, setting the permission and access control to the application development team to help them maintain and deploy their features and fixes faster and safer for Version control.
Referring to
In an embodiment, the method of the invention includes remodeling the structure of workflow based on the task performed through workflow and corrected outliers.
In an embodiment, the method includes identifying the configurable components for structuring one or more SCM application UI, creating rules and creating processing logic for executing the at least one operation.
In an embodiment, the at least one operation includes creation of one or more SCM application operation including CLM, Inventory management, warehouse management, Cycle Counting, Material transfer, Pick List, warehouse management, Order Management, invoice management, Good Receipts, Credit Memo, service confirmation and timesheet, Goods Issue, Return Note, requisition, Demand and Supply planning, Vendor Performance and Risk Management, RFX, Auction, Project Management, Quality management, Forecast Management, cost modelling, purchase order and sales management, receivables, work order management, Supplier Order Collaboration, Control Tower, Budgeting, Item and Catalog Management.
In an exemplary embodiment, the method of the invention includes generating a plurality of fixtures created for performing the at least one operation by utilizing a library of functions stored on a functional database where a controller is encoded with instructions enabling the controller to function as a bot for generating the fixtures. The plurality of fixtures are backend scripts created by the bot based on the at least one operation, data objects and AI processing for enabling automation of the operation by the controller of the process orchestrator. The AI based processing includes a processing logic that integrates deep learning, predictive analysis, information extraction, planning, scheduling, optimization and robotics for processing the at least one operation by the process orchestrator.
In an example embodiment, the invoice operations of Supply chain management application and process orchestration for structuring the related workflow is provided as shown in
Referring to
Referring to
In an embodiment, the platform architecture provides service fault tolerance. The platform supports Composite Service to implement Orchestrator Based SAGA pattern for distributed transactions. The platform includes centralized Controller (CLM Composite) Orchestrating the Transactions. The Controller Queues the requests in Messaging Queue with same correlation id. All the subscribers execute the messages in Queue. Once all the transactions are successful Contract Transaction commits save. The process orchestrator handles the failure through compensating transaction. All the services implement time Outs and retry (Polly Framework) policies.
In a related embodiment, the contract lifecycle management application as the supply chain management application supports asynchronous occurrence of all post save operations, consumption of platform services by gRPC connection, addition of redundant data in local cache to serve request faster, application of local cache policy at client side. Further, a write operation on Contract happens only in specific Stages till Contract is not live as read write operations can happen through Transactional Store. At a given time most of the Contracts are in Active state which Read-only state for such contracts data can be read through archived Store. Above retention Policy & CQRS (command query responsibility segregation) pattern reduces Transactional Load on system.
In an example embodiment, codeless development of a create purchase order operation of a SCM enterprise application is explained with the workflow as: a) User clicks on create purchase order action; b) “CreateOrderService” is invoked; c) “CreateOrderService” as a first step calls the “DataAccesscontrolservice” to confirm that the user has access to perform the creation order action; d) “CreateorderService”, then invokes “localizationservice”, to get the necessary localization attributes like language, date formats, address formats; e) On success calls, “GetOrgstructureService” which based on the domain configuration and user profile brings order specific header entities from CMDS; f) On success, “GetCustomerService” which provides the list of customers and related information to the “CreateOrderService” which are bound to the UI fields; g) On success calls, “GetMasterDataService” which provides the list of all the required master data like ship to, bill to addresses, state, zip, etc; h) On success calls, “LineItemsService” which in turn calls a multitude of services like DAC, master data, custom attribute, etc., and takes the responsibility of rendering the basic line section; i) The sequence of the above service interactions is controlled through “BusinessProcessOrchestrationService” (uses “ProcessOrchestratorService”); j) Basic order is now complete; k) depending on the “Document Type” selection, “CreateOrderService” passes the control to “ProcessOrchestrator” which based on the configuration invokes the “TemplateService” which in turn looks at the configured list of templates and picks the purchase order template configured for that domain; l) “CreateOrderService” gets the template and binds it in the UI using additional set of services; m) based on the configuration and the template subsequent services like “AccountingService” (will provide chart of accounts and make Ledger liability entry), Schedule lines/Promise lines Services (create schedules/promises); n) “CreateOrderService” will then invoke the validation service to run user defined UI validations; o) On success, the “CreateOrderService” will invoke the “SaveOrderService”, which will invoke the data layer for writing to the backend; p) Once the required order object is created, “CreateOrderService” will invoke “BusinessProcessOrchestrationService” to determine the next steps, since this is a sales order the next step is to route for reviews internally, Process orchestrator (PO) will invoke the “WorkflowService” which in turn will use the rule engine on the backend and the configured rules from the customization layer to determine who the order needs to be routed to; q) On success, PO will invoke workflow service for running approvals; r) On success, since this is a purchase order, process orchestrator will invoke the “Fulfillmentservice” and “ASNService”.
In an exemplary embodiment, the system may enable cognitive computing to improve interaction between a user and the enterprise application(s). The intelligent interface provides insight into dynamically changing parameters for execution of operation in SCM application.
In an advantageous aspect, the process orchestration system and method based on codeless platform architecture of the present invention enable Sourcing, Procurement and Supply Chain to create applications with industry seed projects having set of rules and workflow, process flow for various industries like Oil & Gas, FMCG, Finance etc.
The present invention uses Artificial intelligence, process orchestration and layered platform architecture where the entire operational logic in the service is transformed into engine reducing complex logic. The sequence flow is translated in the engine. It is very helpful to manage multitenant applications. Simulators also help to unit test the flow not only with in the bounded context but across applications with registered in the flow. The Platform architecture provides building highly scalable services. The platform includes both backend and frontend components (UI components, rules engine and workflow) being built from scratch. Platform offers productivity gain and accelerates implementation cycle.
In an exemplary embodiment, the present invention may be a process orchestration system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention. The media has embodied therein, for instance, computer readable program code (instructions) to provide and facilitate the capabilities of the present disclosure. The article of manufacture (computer program product) can be included as a part of a computer system/computing device or as a separate product.
The computer readable storage medium can retain and store instructions for use by an instruction execution device i.e. it can be a tangible device. The computer readable storage medium may be, for example, but is not limited to, an electromagnetic storage device, an electronic storage device, an optical storage device, a semiconductor storage device, a magnetic storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a hard disk, a random access memory (RAM), a portable computer diskette, a read-only memory (ROM), a portable compact disc read-only memory (CD-ROM), an erasable programmable read-only memory (EPROM or Flash memory), a digital versatile disk (DVD), a static random access memory (SRAM), a floppy disk, a memory stick, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the internet, a local area network (LAN), a wide area network (WAN) and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
The foregoing is considered as illustrative only of the principles of the disclosure. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the disclosed subject matter to the exact construction and operation shown and described, and accordingly, all suitable modifications and equivalents may be resorted to that which falls within the scope of the appended claims.