Formalisms for Enterprise Application Integration (EAI): A Survey of Methodologies

Over the years, the number of applications supporting enterprise business pro- cesses has increased. The challenge of integrating diverse systems is one of the many rea- sons why many organizations fail to achieve greater automation. To overcome this obstacle, they are turning to Enterprise Application Integration (EAI). Enterprise Application Integra- tion is a process that enables the integration of different applications. This allows the users to easily modify the functionality, share the information among the various applications and reusing the methods. The paper presents a formal method that includes the various levels of EAI. It highlights the various formal methods that can be used to achieve EAI’s seamless interoperation. It also supports the concurrent and dynamic system. This paper also proposes a new architecture for EAI that will help them achieve their goals. There are many formal methods for programming languages in software engineering, but most of them are not ad- equate for the development of complex systems. The author proposes a new methodology based on Petri net which is a graphical representation of semantics.

Hub and Spoke methods are like client and server communication. Hub is acted as a server and spokes are the clients like different applications. In the Message Bus model, the applications utilize the bus model rather than the centralized server model of the hub and spoke model.
In addition to the different Models and Architectures, they are some other characteristics of EAI. Some applications are loosely coupled and some are tightly coupled. One more char-acteristic is based on whether the applications are Synchronous and Asynchronous. Based on these distinguishing characteristics the integration process will perform and exchange the messages and data between applications.
They are some levels of integration in which the integration process will run [Kotha and Gopal(2021)]. During the 21st century, the business environment in every organization is tremendously dependent on new technologies and having a great impact on these industries, and it will erase the boundaries of every organization functional-wise, exchanging the data and pro-cess between them. The new functionality and business environment approach will appear in the coming years. The industrial wise integration methodologies are clearly explained in the [Gorkhali and Xu(2016)] and summarizes like need to developing new frameworks and methodologies to enable enterprises to integrate their existing applications into new technologies like the Cloud Computing and Internet of Things (IoT) is an area of concern. In [ Hohpe and Woolf(2004)] reported a large set of patterns that could be used to develop integration solutions, depending on the most adequate type of solution for a particular inte-gration problem.
As we discussed above, applications are dynamic in nature and loosely coupled also. Sharing the data and process environment between the loosely coupled applications is very important and carefully integrated. They are many technologies and methods for every level of integrations.
Web Services, Service Oriented Architecture (SOA), Enterprise Service Bus (ESB), Ap-plication Programming Interface (API), and Extraction Transformation Loading (ETL) so on, are the different methods and technologies that were made to integrate the different applications in levels of Enterprise Application Integration [Linthicum(2000)] [Kotha and Gopal(2021)].
Whatever technologies are made and methods are developed, the veri cation and vali-dation of each approach are necessary. Whether the applications are integrated correctly or not, whether the integrated applications are work properly and share their data or not. So formal methods are taken care of the above problem. There is a need for use of formal meth-ods in software engineering process. They are some commandments for applying the formal methods [Bowen and Hinchey(2005)]. It is a mathematical or logic based technique to sys-tematically develop, describe, and verify a software system. By formal methods, we can verify and validate the applications before the implementation stage of the software process. They are some myths to use formal methods in software engineering, even it can help to reduce lead times and lower development costs [Hall(1990)] [Bowen and Hinchey(1995)].
Because of distributed and dynamic nature of the application, we need the same char-acteristic of formal method and veri able formal technology. âA˘ IJPetri NetâA˘ ˙I is the one, which is distributed in nature, perfectly veri able to the loosely coupled applications while integrating at an enterprise level. The details of Petri net and how it will be useful for EAI has explained in the next session.
Our proposed approach is to develop a Petri net model for different objects and processes of each application while integration occurs. There are many levels of integration in which we have to develop a prototyping model to verify each level of EAI.
The layering approach is very useful and helpful to understanding our proposed concept. It is showed us how to build a network. Already we have mentioned some layering models of different levels of integration. The multi-level approach has been good in software systems. Based on the above theory, we have approached different types of formalisms for Enterprise Application Integration (EAI). Several models were proposed in the literature, such as UML, Z Language, Formal Grammar, Multi-Agent System, and Petri Net. As it will be shown in the next section Petri net model has several advantages compared to other models.
The rest of the paper is organized as follows: In section 2 focuses on the different formal approached views to Enterprise Application Integration (EAI). Conclusion and Future Work has given in section 3 and section 4, followed by references.
2 Different Formal Views 2.1 Uni ed Modeling Language (UML) UML (Uni ed Modeling Language), with more notations embodied, is suggested as a gen-eral and standard notation for the analysis, design, and development of object-oriented soft-ware systems [Fowler(2004)]. The semantics of UML is intended for the latter eld [Garrido and Gea (2002)]. It is a very popular formal modeling language (somewhat semi-formal). Most of the time it demands Object Orientation. As a layering approach to a software pro-cess, the object-oriented concept is very understandable and useful to create an application. We argue that concepts should be correctly represented, at appropriate levels and that clear semantic links between them should be provided for useful integration. Then the resulting in a more powerful, useful, and exible system from all points of view.
The modeling power of UML is very high and can be demonstrated by applying it to some systems. The new approaches to address the analysis and design of application sys-tems must be a study and obtain interesting properties of the systems. It is necessary the application of formal methods to the enterprise level to integrate different applications. Each step in the process of software is also very important. Deployment and integration after this very di cult. Maintenance of software is very easy but the maintenance of EAI is very dif-cult. The execution time of the software maintenance process may get increased due to the integration of different types of applications, thus, increasing the cost and decreasing the performance of the process [Nabeel et al. UML diagrams are powerful tools for system design but they are unable to address non-functional parameters. This means UML diagrams cannot be used for performance evalua-tion. By using UML, we can describe the user requirements, static and dynamic properties, and behavior of a system in a convenient way. Easy to transform the UML to the source code of the program. It is di cult to analyze the

Z Speci cation Language
As application integration wise, fault tolerance is the desirable feature for every integra-tion tool. So that, EAI solutions can keep running despite the occurrence of failure. Errors monitoring is the main activity in fault tolerance since it enables the detection of errors. Rule-based language [Klein et al.(2014)Klein, Sawicki, Roos-Frantz, and Frantz] is one of the solutions to provide an error detection mechanism to detect the errors in the system based on the monitoring system. Z is one of the nest rule-based and formal speci cation languages, in that some few tools are supported to monitor and detect semantic errors. That is the reason we take the option to choose the Z formal speci cation language in our proposed EAI system. Z is a formal speci cation language based on set theory and rst-order logic [Spivey and Abrial(1992)] [Diller (1994)]. It is a formal notation for specifying the functionalities of se-quential systems, it does not support the concurrent and distributed system. It includes a set of entities, called schema which are representing of an abstract class of system and its oper-ations. Every entity and its related operations expressed through a rich set of mathematical notations. Z speci cation language offers a rich type of de nition facility and it supports formal reasoning of the system. However, it does not support concurrent and distributed systems and does not have explicit operational semantics [He(2001)].It has been used as a speci cation language to formally describe and analyze the requirements and the design architectures of a wide range of hardware and software systems.
Despite some advantages, speci cation languages having some weaknesses also. They are like limited scope of properties, limited tool support, isolation, poor guidance, and cost, and so on. By Z speci cation languages we can specify the state space and sets of operations very clearly but we cannot express the combination of the operations. In enterprises, we also need to be able to talk about the behavioral aspects of the system.
It is a very successful formal speci cation language. Z speci cation language represents the different objects, events, and processes, the relation between them to integrate the appli-cations. We found that it is suitable mostly for speci c domains not all. It is good enough about some verticals, nuclear systems, and some speci c domains. Z speci cations do not have explicit operational semantics and it does not support an effective de nition of dis-tributed and concurrent systems. EAI need not be tied up to any domain.

Formal Grammar
The rule-based concept is also considered in this scenario. The rules are written by some grammars and automatically which is decided the choice of the particular level of integra-tion. The formal way of the rule-based concept is the approach in which anyone can write their own rules which will suit their problem. Commonly Context-Free Grammar (CFG) and Context-Sensitive Grammar (CSG) are the grammars that will use for writing the rules. These grammars are run mainly based on the context. Complete ordering of events is very di cult to match the hierarchy or levels. This is the reason we went to process view of a model.  (2011)] is a process algebra and mathematical for-malism for describing and analyzing properties of concurrent computation and the process interaction by sending communication links to each other. EAI happens ad hoc in nature. There is no rm plan of applications emerging. So the emerging scenario is di cult in Pi-Calculus. If you can make a exible process that is a very high level. The optimizing process is what is necessary for the approach. The optimizing process de nition in EAI is not tting well in Pi-Calculus. Where there is the strong process, where there is the strong adherence. It is capable of a process de nition. But we canâA˘ Z´ t say it is optimized. It is good in pro-cess de nition and protocol design. It is good in the level crossed model also. But, EAI is not dependent on a single level of integration, needed a higher level of maturity for a strong process de nition. It is not good for ad hoc.

Multi-Agent System (MAS)
Generally, the Multi Agent's approach is designed for open systems. Autonomy, Hetero-geneity, and Dynamics are the main characteristics of open systems. Agents system is char-acterized by modularity, abstraction, dynamism, and interoperability. This is the main reason that the agent's approach was considered for application integration in the dynamic and open system environment [Yoo(2007)].
The agent is a system that is situated in some environments, and it acts autonomously to satisfy the design objectives. Autonomous and Environment are the two important param-eters in agent technology. The agents are autonomous that they can act according to their will. They understand what to do based on the environment. The agent's action will in u-ence the environment. In most cases, the agent's actions only have partial control over its environment. These actions which are taken based on the environment It is a highly reputed approach at an enterprise level. Each agent has to connect with the environment to do the communication between agents. It is environment-based commu-nication. Most complexity in this approach is agent interaction with the environment. The environment or ecosystem is the best applicable for information retrieval, search engines because of the cyclic approach.
There are many approaches to integrate the applications by the multi-agent scenario such that, use each agent as a wrapper of applications, construct a multi-agent architec-ture in which each agent is interacting with other agents and provide an integration so-lution, and consider each agent as an EAI having many applications which are developed in a different environment. The complexity of the agent depends on the number of agent interactions with the environment. So, it is di cult to maintain and communicate between many environments at a time in a multi-agent system.

Petri net
Petri Nets is one of the formal speci cation and graphical oriented modelling languages for the design, speci cation, and veri cation of distributed systems [Petri(1962)]. By using Petri net, we can analyze the dynamic properties and structure of systems through strict mathematics analysis and visualized computer simulation as well as model distributed and parallel processes [Murata(1989)]. In [Kim et al. (2017)Kim, Gangolly, and Elsas] nd that Petri nets are an attractive alternative of above mentioned models due to their extensive capability to perform analytics and simulation. In [Belusso et al.
(2016)Belusso, Sawicki, Roos-Frantz, and Frantz] represents the simulation of integration solution using conceptual models and concluded like the scope of EAI's investigation is still vast, it is hoped that in the future, new tools and methods will be developed to support this area of study.
Uni ed Modeling Language (UML) is also a powerful modeling language having many notations and design diagrams. Petri net has a graphical representation and well-de ned semantics, which allow compact, manageable representation, and more powerful analysis than the UML. In this eld, some basic questions will arise, Can we reach one particular state from another? Will a storage place over ow?
Will the system die in a particular state?
Stepwise elaboration of above questions on Petri net: Step 1: Design the model of the system based on the requirement Design the net model by using Places, Transitions, and Arcs which acts as a communi-cator between places and transitions.
Step 2: Analysis of the properties Reachability It is a fundamental basis for studying the dynamic properties of any system. It works based on the ring of tokens as an enabled transition, it will change the total net according to the transition rule.
Boundedness A Petri net is said to be simply bounded if the number of tokens has red from a place which is not exceeding the nite number. If it k-bounded, means it does not exceed the k token values.

Liveness
The liveness property is like a deadlock property of the system. Besides Petri nets provide various analysis techniques such as, Reachability Tree, Through these analysis techniques, the properties of the Petri nets models such as Reach-ability, Liveness, and Boundedness can be examined.
By using Petri nets we can analyze the structure and dynamic properties of systems through strict mathematics analysis and visualized computer simulation as well as model distributed and parallel processes.
As we said earlier Enterprise Application Integration (EAI) integrates methods, objects, and tools for the classi cation, coordination, connection of applications within organiza-tions. The main goal of EAI is to integrate a business processing of applications of different generations and architecture. These applications consistently change through upgrades or adding of new applications with modi ed technologies and other in uences. One of the pre-requisites for reaching this goal is the documentation of business processes of the individual applications and their interfaces should be uni ed. Table 1 represents the comparisons of our approached formal views with different characteristics of EAI.
UML having more complex because of having more diagrams, level of the hierarchy is more and most important is In-formal characteristic, even though having more reliability, and effective communication property with heavy industrial usage.
The body of schema in Z speci cation language may refer to items that are not declared directly in the schema. Generally, Z speci cations look clumsy when it is used to specify large systems. It only speci es the functionalities of the system, not to communicate and handling the entire system. Having more complexity, di culty to maintenance, somewhat in-formal so on are some limitations to the approach of this speci cation language. The automata and grammar theory also having less dynamicity and somewhat informal, limited tool support.
Same as the above models, the multi-agent system also had some limitations to con-tinue as an approached model of EAI. Process collaboration of the entire hierarchy system is somewhat di cult, its maintenance and complexity are high, not much tool support, less formalism, and di cult to communicate different environments to different agent applica-tions in large systems.
By the all models, nally we have approached Petri Net is a more sophisticated and useful formal model for EAI. Petri net has a graphical representation and well-de ned se-mantics, which allow compact and manageable representation and more powerful analysis. The tool set has been developed to automate Petri net analysis, which examines behavioral properties of Petri net such as deadlocks, con icts, blocking, and performance parameters ranging from throughput rate, utilization to expected buffer size so on. Moreover, concur-rency can be modeled, allowing action to take place simultaneously, and it allows interactive simulation also. So, user can easily identify throughout the model to locate a bottleneck and to troubleshoot the problem.
The author has observed that it has some primary advantages of Petri Net: The graphical model uses very few but powerful primitives making it easy to under-stand.
Models can be represented as tuples, which the computer can interpret and analyze.
It can unambiguously describe a system, showing explicitly both states and actions, whereas other formal methods focus on either states or actions but not both. This allows users to change between the two perspectives as desired.

Conclusion
In this paper, we presented an introduction of Enterprise Application Integration (EAI) and Techniques, methodologies, and some integration levels of EAI. This paper is a review of some widely used formal methods for EAI. A quick summary of formal methods like Uni ed Modeling Language (UML), Z speci cation Language, Context-Free Grammar (CFG), Pi-Calculus, Multi-Agent System (MAS), and implementation for EAI accordingly has been explained. A summarized comparasion report of selected formal method views has been given. Finally, we have chosen a Petri net model for our problem at hand.
A brief explana-tion of the Petri net model and how it will use for our problem has been given. In future work, the authors implement a Petri net model for analyzing the properties like Reachabil-ity, Boundedness, and Liveness using techniques like Reachability Tree, Incidence Matrix, Invariant Analysis for the Enterprise Application Integration.