Process driven messaging service

Last updated

A process driven messaging service (PDMS) is a service that is process oriented and exchanges messages/data calls. A PDMS is a service where jobs and triggers can be put together to create a workflow for a message.

Contents

Messaging platforms are considered key Internet infrastructure elements [ by whom? ]. A concept that once mainly encompassed email and IM has evolved to embrace complex multi-media email, instant messaging, and related fixed and mobile messaging infrastructure. Arguably, everything transmitted on the Internet and wireless telecommunication links are messages.

PDMS exchanges messages for the purpose of all kind of messages/data calls between systems, applications and or human beings that is based upon event-driven process chains. [1]

Structure

A process driven messaging service is a service where jobs and triggers can be put together to create a workflow for a message and the workflow can be seen as a process.

A workflow is executed when a trigger is prompted. The trigger causes the activation of one or more jobs which can, in turn, execute more jobs. The workflow will still be active even when all jobs have been executed, but nothing occurs until it is re-triggered. [2]

Workflows

A workflow in PDMS is used to wrap triggers and/or jobs together to accomplish a flow of actions and events that can be invoked over and over again without repeating the configuration. A workflow is a container. A workflow process is a container for a group of workflow statuses and actions, such as moving a record from one status to another. [3] Other than triggers and jobs, it can contain groups or artifacts. The items that can be contained in the workflow are then available to all triggers and jobs within the workflow.

The concept of a workflow can be seen as a template for either part of, or a whole, business process. Workflows can be triggered for a number of different reasons, an example of which could be if something were to happen in the domain or there were to be an explicit call to invoke.

The workflow will be in a state awaiting execution when the workflow, its triggers, and its jobs are active.

When created, workflows require the last job to be added first, meaning jobs are to be listed in reverse order of execution. Jobs and triggers also require the reverse sequential listing of orders when created. [4]

Jobs

A job creates something such as a task (e. g., sending a message) or affects Standard Objects (e.g. way metadata in a unit). It is a task describing what the system should do and can be several things. A job, when activated, can lead to the execution of another job (for instance: message delivery). It represents what a system does with the data, an activity within the system domain.

Jobs provide a means to encapsulate a process. A Job is a configuration representing input options, the steps in the process, a filter expression that matches the nodes where those steps will execute, and execution control parameters that specify if steps are run in parallel. One might find certain command executions are done repeatedly, and perhaps, represent what has become a routine procedure. Routine processes need to be encapsulated and become the basis for other routine procedures.

Triggers

A trigger—what starts/executes a workflow—prompts the execution of actions. The object's components that define business logic and behavior are called triggers. You can create and configure any number of triggers to perform automated and programmatic validation, notification, data manipulation, and other activities upon record creation, updating, and deletion. [5]

Processes

A process starts at some point in the system. For example, when a trigger executes an instance of a workflow.

A process driven messaging service is often used when managing a more or less complex business processes.

With a well developed process driven messaging platform, all triggers and jobs can be exposed in a public API (application programming interface), and it will then be possible to create the process in the API.

Technology/programming

PDMS is based upon Event-Driven Architecture whereas the architectural pattern may be applied by the design and implementation of applications and systems which transmit events among loosely coupled software components and services. Unlike traditional information systems which work by issuing requests and waiting for responses, event-driven systems are designed to process events as they occur, allowing the system to observe, react dynamically, and issue personalized data depending on the recipient and situation. [2]

Applicable areas

Areas where PDMS can be used are System to System, A2P with the difference that other message types can be included in the PDMS, Application to Application, System to Person, M2M and all kinds of messages/data calls between systems, applications and/or people based upon event-driven processes.

See also

Related Research Articles

Interrupt signal to the processor emitted by hardware or software indicating an event that needs immediate attention

In digital computers, an interrupt is an input signal to the processor indicating an event that needs immediate attention. An interrupt signal alerts the processor and serves as a request for the processor to interrupt the currently executing code, so that the event can be processed in a timely manner. If the request is accepted, the processor responds by suspending its current activities, saving its state, and executing a function called an interrupt handler to deal with the event. This interruption is temporary, and, unless the interrupt indicates a fatal error, the processor resumes normal activities after the interrupt handler finishes.

In software engineering, multitier architecture or multilayered architecture is a client–server architecture in which presentation, application processing, and data management functions are physically separated. The most widespread use of multitier architecture is the three-tier architecture.

In computer programming, event-driven programming is a programming paradigm in which the flow of the program is determined by events such as user actions, sensor outputs, or messages from other programs or threads. Event-driven programming is the dominant paradigm used in graphical user interfaces and other applications that are centered on performing certain actions in response to user input. This is also true of programming for device drivers.

Workflow defined sequence of activities in a working system of an organization

A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence of operations, the work of a person or group, the work of an organization of staff, or one or more simple or complex mechanisms.

Enterprise service bus Communication system in a service-oriented architecture

An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service-oriented architecture (SOA). It represents a software architecture for distributed computing, and is a special variant of the more general client-server model, wherein any application may behave as server or client. ESB promotes agility and flexibility with regard to high-level protocol communication between applications. Its primary use is in enterprise application integration (EAI) of heterogeneous and complex service landscapes.

Business process automation (BPA), also known as business automation or digital transformation, is the technology-enabled automation of complex business processes. It can streamline a business for simplicity, achieve digital transformation, increase service quality, improve service delivery or contain costs. It consists of integrating applications, restructuring labor resources and using software applications throughout the organization. Robotic process automation is an emerging field within BPA and uses artificial intelligence.

Event processing is a method of tracking and analyzing (processing) streams of information (data) about things that happen (events), and deriving a conclusion from them. Complex event processing, or CEP, consists of a set of concepts and techniques developed in the early 1990s for processing real-time events and extracting information from event streams as they arrive. The goal of complex event processing is to identify meaningful events in real-time situations and respond to them as quickly as possible.

In computing and systems design a loosely coupled system is one in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components. Subareas include the coupling of classes, interfaces, data, and services. Loose coupling is the opposite of tight coupling.

A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation, company policy, or other sources. A business rule system enables these company policies and other operational decisions to be defined, tested, executed and maintained separately from application code.

A job scheduler is a computer application for controlling unattended background program execution of jobs. This is commonly called batch scheduling, as execution of non-interactive jobs is often called batch processing, though traditional job and batch are distinguished and contrasted; see that page for details. Other synonyms include batch system, distributed resource management system (DRMS), distributed resource manager (DRM), and, commonly today, workload automation (WLA). The data structure of jobs to run is known as the job queue.

In a computer system or network, a runbook is a compilation of routine procedures and operations that the system administrator or operator carries out. System administrators in IT departments and NOCs use runbooks as a reference.

A workflow pattern is a specialized form of design pattern as defined in the area of software engineering or business process engineering. Workflow patterns refer specifically to recurrent problems and proven solutions related to the development of workflow applications in particular, and more broadly, process-oriented applications.

Windows Workflow Foundation

Windows Workflow Foundation (WF) is a Microsoft technology that provides an API, an in-process workflow engine, and a rehostable designer to implement long-running processes as workflows within .NET applications. The current version of WF was released as part of the .NET Framework version 4.5 and is referred to as (WF45).

Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events.

A workflow engine is a software application that manages business processes. It is a key component in workflow technology and typically makes use of a database server.

Domain-driven design (DDD) is an approach to software development for complex needs by connecting the implementation to an evolving model.

Event-driven SOA is a form of service-oriented architecture (SOA), combining the intelligence and proactiveness of event-driven architecture with the organizational capabilities found in service offerings. Before event-driven SOA, the typical SOA platform orchestrated services centrally, through pre-defined business processes, assuming that what should have already been triggered is defined in a business process. This older approach does not account for events that occur across, or outside of, specific business processes. Thus complex events, in which a pattern of activities—both non-scheduled and scheduled—should trigger a set of services is not accounted for in traditional SOA 1.0 architecture.

Business process management (BPM) is a discipline in operations management in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business processes is BPM. Processes can be structured and repeatable or unstructured and variable. Though not required, enabling technologies are often used with BPM.

gUSE

The Grid and Cloud User Support Environment (gUSE), also known as WS-PGRADE /gUSE, is an open source science gateway framework that enables users to access grid and cloud infrastructures. gUSE is developed by the Laboratory of Parallel and Distributed Systems (LPDS) at Institute for Computer Science and Control (SZTAKI) of the Hungarian Academy of Sciences.

IT process automation (ITPA) facilitates the orchestration and integration of tools, people and processes through automated workflows. ITPA software applications can be programmed to perform any repeatable pattern, task or business workflow that was once handled manually by humans. ITPA is often used interchangeably with the term run book automation (RBA).

References

  1. Hommes, Lambertus Johannes (2004). "7" (PDF). The evaluation of business process modeling techniques. [S.l.: s.n.] pp. 138–187. ISBN   90-9017698-5.
  2. 1 2 Opher Etzion, Peter Niblett (September 2007). Event Processing in Action 1st. Greenwich, CT, USA: Manning Publications Co. ISBN   978-1935182214.
  3. Progress Software Corporation. "Rollbase in action" (PDF). Chapter 10. p. 6.
  4. UWE, ZDUN; CARSTEN, SCHAHRAM (September 19, 2007). "HENTRICH, DUSTDAR" (PDF). Modeling Process-Driven and Service-Oriented Architectures Using Patterns and Pattern Primitives. New York: ACM, Inc. 1 (3): 23–27.
  5. "10" (PDF). Rollbase in Action. Progress Software Corporation. pp. 266–289.