Bridging the Gap Between Service Oriented Architecture and Design Patterns in Middleware Technology

Abdulmajeed Almuayqil *  Ibrahim Abunadi **
* Arab National Bank, Riyadh, Saudi Arabia.
** College of Computer and Information Sciences, Prince Sultan University, Riyadh, Saudi Arabia.

Abstract

This paper discusses the role of Service Oriented Architecture (SOA) and design patterns in middleware technology with the help of Common Object Request Broker Architecture (CORBA) standard as a sample implementation to improve processes in a real business case. The link between SOA and design patterns in middleware technology has been aided by the development of different software that perform basic functions with ease and precision. Arguably, the effort that is used to develop various machinery is expensive, time consuming, and prone to various errors. However, businesses are working tirelessly to come up with business processes that will enable them to address the various shortcomings experienced during development. This study was based on case study methodology involving sending a questionnaire to 44 respondents working in an US-based Automotive Service Company to substantiate the use of SOA and design patterns in middleware technology. The findings of this research revealed that CORBA is responsible for delivering a reusable product line architecture that is controlled by a group of related applications. Additionally, this study revealed that CORBA simplifies the process of organizational communication. Notably, middleware bridges the gap between processes and design patterns by allowing the integration and standardization of the processes in a way that does not affect the operations of users and processes. Since all the processes pass through middleware such as CORBA, they can be monitored from one system. The case study has shown that middleware can become reusable software, which leverages patterns and frameworks to bridge the gap between functional requirements of applications and the underlying operating systems, network protocol stacks, and databases.

Keywords :

Introduction

For more than two decades, changes in system administration and equipment have led to an upsurge in the production of Personal Computers (PC) and corresponding needed abilities. Aside from these advances, the effort and cost required to create, approve, port, and improve programming for distributed frameworks remains surprisingly high (Eide, Simister, Stack, & Lepreau, 1999). A significant part of the multi-layered nature and cost of building frameworks can be reduced by the use of very adaptable and productive techniques. This entails the programming foundation which operates between the applications and the hidden frameworks, systems, and equipment; this creates a more fitting stage for building and using circulated frameworks (Benz & Kümmel, 2000; Lomotey, Sriramoju, & Orji, 2019).

Middleware is an essential part of a business environment. Middleware is designed to overcome any issues among application programs, lower-level equipment, and the programming foundation, to organize the communication between the software and their interoperation and create reusable administrations. The reusable administrations can be made, designed, and quickly used to make disseminated frameworks by incorporating software that might be produced by numerous innovative providers. Middleware speaks to the conversion of two key territories of data innovation disseminated frameworks and progressive programming builds (Kawsar, Nakajima, Park, & Yeo, 2010; Mendling et al., 2018).

Procedures for creating disseminated frameworks concentrate on coordinating many registering gadgets that function as a facilitated computational asset and programming-building strategies for creating part-based frameworks that focus on the quality of programming. A good example is the connections that make the reusable structures to coordinate these segments. Middleware is a territory that specializes in managing situations by creating frameworks that can be easily dispersed over a mass of standards, topologies, processing gadgets, and correspondence systems. Therefore, middleware creates a portal for engineers via organized applications at critical stages and instruments (Alvaréz, Aguiar, Acosta-Pulido, Recio, & Prieto, 2019; Badidi, De Sousa, Lang, & Burger, 2003; da Cruz, Rodrigues, Al-Muhtadi, Korotaev, & de Albuquerque, 2018). This helps to formalize and arrange how components are created and how they interoperate. It also helps to screen, empower, and approve the design of assets. Moreover, middleware aims to guarantee a suitable end-to-end application (Badidi et al., 2003). In the past few decades, businesses have benefited from the commoditization of equipment, working frameworks, and systems administration components. Nevertheless, the building of centered programming languages and the development of critical middleware must be examined through Research and Development (R&D). R&D encompasses the investigative activities of a project that are necessary to the development of new procedures. For example, CORBA serves to commoditize numerous Commercial Off the Shelf (COTS) programming segments and engineering layers (Steiner, Eshkar, & Seibert, 1998). Commoditization is a term used in business to define unique software design that is made simpler in the eyes of the consumers. The nature of COTS programming has, for the most part, failed. More multi-layered features of middleware are being developed, leading to different capacities of the layers expected to manufacture working frameworks (Beránek, Feuerlicht, & Kovář, 2017; Chitra & Sadasivam, 2003). Regardless of the enhancements in programming systems, designs, segment models, and general improvements, forms must be optimized with the help of information to empower regular off-the-rack programming. The process is consolidated and used as a part of an expanding number of legitimate applications.

In the current business environment, building quality programming in a cost-effective way requires the reuse of effective programming standards, outlines and models that have been tried and tested (Do et al., 2009; Sacks, Eastman, Lee, & Teicholz, 2018). Efficient reuse is important for programming profitability and quality because reuse breaks the exorbitant cycle of rediscovery, reexamination, and revalidation of regular programming antiquities (Bencomo, Bennaceur, Grace, Blair, & Issarny, 2013). The knowledge acquired and the methods used to create, convey, and reuse support programming have historically been of a dark craftsmanship, honed similarly by the master designers and drafters (Liu, Sun, Mahdavian, & Ding, 2009). In this regard, critical levels of programming reuse have been recommended in many activities and associations.

In an ever-changing business environment, where more effective and efficient processes are needed to overcome the integration that deals with legacy and distributed systems, it is highly necessary to link business process with the design of middleware technologies (Liu et al., 2009). In many cases, communication and information-sharing are challenges for organizations. The absence of middleware in an organization causes chaos and information breakdown in many processes and interlinks between all the objects in a network (Poggi, Rimassa, & Turci, 2002). In many cases, organizations cannot upgrade because the change will alter the integration of the processes in the company. Additionally, organizations that lack middleware have integration challenges (Al-Jaroodi, Mohamed, & Jawhar, 2018; Pahl, Hasselbring, & Voss, 2009). This paper looks at the properties of the communication infrastructure, the global architecture of the applications, and the provided interfaces fields of business processes, middleware technologies, and design patterns of middleware technology. In this paper, the CORBA standard will be used as an example of middleware technology via the design patterns that formulate the underlying engine. This paper will be organized as follow: a review of literature will be presented, followed by a case study and finally results are discussed.

1. Literature Review

1.1 Middleware

Middleware is an essential class of innovation that diminishes the process duration, level of effort, and multilayered nature related to growing high ability, adaptable, and interoperable circulated frameworks (Fatoohi & Smith, 2001; Vermesan & Bacquet, 2017). Progressively, some structures are created with the help of reusable, different programming parts. As such, they are executed entirely without preparation (Apel, Batory, Kästner, & Saake, 2016; Balalaie, Heydarnoori, & Jamshidi, 2016; Fatoohi & Smith, 2001). When executed appropriately, middleware can help to protect engineers from low-level and tedious errors in delicate elements. For example, the attachment level is designed to arrange programs and amortize programming lifecycle costs by utilizing past advancement ability and capturing executions of key designs in reusable structures, instead of remaking them physically for each of the utilizations (Ramfos, Busse, Platis, & Fankhauser, 1999). Ramfos et al. (1999) further note that middleware provides a reliable arrangement of a larger amount of situated debates that are substantially nearer to application and framework necessities to separate the improvement of carried frameworks. It also provides an extensive cluster of engineer-located administrations (Oh, Park, Jung, & Kang, 2003). Middleware was invented to help disentangle the development of appropriated registering frameworks and not only make those abilities available to a greater number of engineers but also to be functional at the level of a few specialists who face the complexities of these conditions. Historically, complex framework coordination prerequisites were not being met during application because it was too hard and not reusable (Li, Kalter, & Nahrstedt, 2000).

According to Li et al. (2000) middleware has developed as an arrangement of programming administration layers that help take care of the issues related to heterogeneity and interoperability (Hasselbring, 1999). Moreover, middleware has contributed significantly to better situations for building distributed frameworks and safely dealing with their decentralized assets. One of the major patterns driving the industry includes pushing towards multi-layered engineering around the application creation from reusable segments (Heintz & Doherty, 2006). Moreover, Heintz and Doherty (2006) note that middleware-driven architecture is characterized by multilayered design drives from the reception of a systemdriven perspective, realized by the development of the Internet, and the componentization and commoditization of equipment and programming.

There are successes concerning scheduling and primitive middleware. As such, a message is passed from the application through a remote methodology and driven to middleware-arranged exercises. Therefore, unmistakable layers are observed to take shape inside the middleware as previously discussed (Brown, 2008).

Middleware compels the local Operating System (OS) instruments to de-multiplex in a reusable manner. It also interposes correspondence, simultaneousness, and synchronization articles. For instance, it instigates reactors, acceptors, connectors, and screen objects in a dynamic way by subjecting them to administration configurations (Borck, 2001). Heintz and Doherty (2006) assert that the embodying characteristics of specific working frameworks and other reusable items help dispense many dull errors common to non-convenient parts of the architecture (Fatoohi & Smith, 2001). As a consequence, it creates application programming through low-level OS programming Application Programming Interfaces (APIs) (Heintz & Doherty, 2004). The common-host-framework middleware incorporates the Sun Java Virtual Machine and Microsoft's Common Language Runtime. This contributes to a free methods stage by executing the code between working frameworks and CPU designs (Schmidt, Poernomo, & Reussner, 2001). However, appropriation middleware is characterized by a more elevated amount of disseminated programming models, whose reusable APIs and items are automated. Moreover, it is argued that the local operating systems are typified by host foundation middleware (Toral, Barrero, Cortés, & Gregor, 2013). Therefore, carriage middleware empowers customers to program applications by mobilizing operations on target objects without hard-coding conditions on their area or programming language, OS platform, correspondence conventions, and interconnects. At the heart of dissemination, middleware is a demand dealer. Arguably, the task for merchants is to enable articles to interoperate crosswise over systems, paying limited attention to the stage on which they are carried (Ohara et al., 2008). The cleanser is a developing circulation middleware innovation because of an Extensible Markup Language-based (XML) convention that permits applications to trade organized and transcribed data on the web utilizing different internet agreements.

Middleware is characterized by a large amount of programming models, whose reusable APIs and items computerize to develop the local OS instruments typified by host foundation middleware (Schuster, Neeb, & Schamburger, 1999). At the heart of circulation, middleware is a demand dealer, for example, the OMG's, CORBA, and Sun’s Java Remote Method Invocation (RMI) (Mittasch, Weise, & Hesselmann, 2000). According to Mittasch et al. (2000) middleware enables articles to interoperate crosswise over systems, paying little attention to the stage on which they are sent (Eide et al., 1999).

The appropriation of middleware is characterized by a huge area of free and reusable administrations that enable application designers to focus on programming for business rationale, without the need to compose the plumbing code required to create carried applications using lower-level middleware (Sheikh, 2012). For instance, a regular middleware specialist tends to adopt a package of value-based conduct, security, and database association by pooling and threading reusable segments. As a consequence, application designers never again need to compose code that handles these issues. While carriage middleware concentrates largely on the overseeing of end-framework assets, typical middleware administrations focus on distributing, booking, and planning different assets. Engineers can reuse these segment administrations to monitor worldwide assets and perform primary dissemination activities that would be actualized in every application (Wang, 2000). Furthermore, the substance of administrations will keep on evolving as the fundamentals of the developed applications extend. Cases of basic middleware administrations incorporate the CORBA Common Object Services, such as occasion notice, logging, sight and sound spilling, constancy, security, extensive time, ongoing planning, and adaptation to internal failure among other exchanges (Stubbings & Polovina, 2013). Similarly, Sun's Enterprise Java Beans innovation and Microsoft .NET allow designers to make n-level appropriated frameworks by connecting pre-assembled programming administration parts without composing the code physically.

1.2 CORBA as a Middleware

Common Object Request Broker Architecture (CORBA) was developed by the Object Management Group as a standard to offer interoperability among distributed objects. CORBA is a renowned middleware solution that allows the exchange of information and the independent operation of hardware platforms and operating systems. CORBA is a design for the Object Request Broker, which offers a necessary means for the objects to relay information to each other either in different languages or distinct locations within the network (Benz & Kümmel, 2000). CORBA has an Interface Definition Language (IDL) that permits the development of location-independent interfaces and language to the distributed objects in the network. Through the use of CORBA, the components in the network can relay information to each other no matter their location or who is using them (Mittasch et al., 2000).

CORBA offers location transparency to allow the execution of the applications. CORBA is in most cases defined as a “software bus” since it is a software-oriented communications interface where the objects are situated and available (Borck, 2001).

Data communication from user to server is carried out through the well-described object-based interface. The Object Request Broker (ORB) establishes the location of the target object, sends a request to that object, and sends back feedback to the caller (Pratap, Hunleth, & Cytron, 2004).

1.3 Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) typifies a renowned architectural model for applications with web services. The web services adopt abilities that are accessible to other applications through the industry standards network and application protocols and interfaces. SOA supports a method where the software component offers its functionality as a service that can be leveraged by the rest of the software components (Díaz, Garrido, Llopis, & Troya, 2009). Notably, SOA permits the incorporation of subsisting systems, users, and applications into a flexible architecture that can adapt to changes easily. The creation of SOA involves the reuse of existing IT investments and industry standards (Eide et al., 1999).

The primary drivers for the implementation of the SOA approach in business include the reduction of operational costs, the delivery of IT solutions in a faster and smarter manner, and the optimization of the return on investment (Hasselbring, 1999). Web services allow an organization to adopt new business models and expose the business to new opportunities. Web services can assess the value and the return on investment. SOA modifies the way an enterprise software is deployed and developed.

1.4 Business Processes and SOA

SOA limits the gap between examination of business needs and IT improvement work. Nevertheless, business processes and information can be considered and outlined with respect to access to applications and databases. The administration's layer is comprised of business administrations that are adjusted to a particular business space. As such, reusable, specialized administrations can be shared over various business areas and the web administration stage. As a result, administrations can be used in a way that is free from the hidden application or innovation stages (Beynon & Maad, 2002). In this regard, the administration's layer gives a perfect support stage to the business procedure layer. Moreover, a line of business administration provides coarse-grain business usefulness that map to the business undertakings in a business process (Bowen, 1997). A business process is not required to understand the subtle elements of the major application and innovation stages. However, service contracts for the line of business administrations suggest unambiguous interfaces for getting to the administration. According to Zha, van der Aalst, Wang, Wen, and Sun (2011) service registries are used alongside the administration layer to guarantee that a business procedure layer can progressively find and arrive at administrations (Tsou & Buttenfield, 2002). Notably, administration-level information model characterization depends on the business space and is autonomous to the information utilized by a particular application. Therefore, it is the responsibility of an administration level security to guarantee the procedure commands used by administrators.

The real purpose of actualizing SOA is to create an inaccurately-coupled joining stage that permits the application process to change and advance without influencing the center coordination innovation (Robinson, 2006). Correspondingly, the procedure adjustments required by distinctive applications to connect must not modify the existence of the center joining innovation and application. The procedure and administration freedom consists of the connection between businesses while demonstrating application usage (Díaz et al., 2009). SOA framework organizes business forms and performs arbitration in specialized organizations. Administrations are uncovered, to be utilized as a part of different procedures (Kawsar et al., 2010). Benefit changes ought not to affect forms because different policies are required to handle changes in reuse. The system changes will be executed quickly at the undertaking level because SOA decouples from the application usage and the correspondence amongst the process and application, which happens through SOA reconciliation (Majumdar, Shen, & Abdul- Fatah, 2004). The SOA reconciliation limits the gap between process demonstration and implementation usage.

Business processes and SOA give an ideal blend to big business processing. Business processes offers higher-level deliberation for characterizing an organizations' forms and other essential abilities to observe and deal with the procedures. Administrations contribute the capacities that bolster those systems (Papazoglou & Georgakopoulos, 2003). SOA offers the functions to allow administrations to be joined, supported, and made into quick and adaptable endeavors. Business Processes without SOA is helpful for building applications, yet hard to stretch out over the venture. SOA without business processes is valuable for making reusable and reliable administrations; however, it cannot transform those administrations into a nimble and aggressive venture (Acher et al., 2014). SOA allows for the perfect level of deliberation for characterizing reusable business usefulness and characterizing first applications and innovation stages. SOA produces measured business parts that represent business rationale and acknowledged interfaces. The modules can without much of a stretch, execute the means in a procedure stream (Sadasivam, 2006). SOA is a significant establishment for business processes, supporting quick get-together and organization of process administrations into bigger end-to-end forms.

2. Research Methodology

In this case study a questionnaire was used (See the Appendix A) that involved both closed and openedended questions. The questionnaire purpose is primarily fact-finding technique from the employees of the company. Therefore, this instrument was identified by the researcher because it is quite easy to use and can be distributed without much assistance. Additionally, the confidentiality of the respondents was contained as the questionnaire did not ask for personal information. The participants in the study were randomly selected from the organization. The sampling frame consisted of the total population within the company (Gorard, 2013). All the employees in the company had equal opportunities to be involved in the study. This selection method eliminated bias in the selection process and simplified the analysis of the findings. The consent of the participants was sought through an email that was sent to the participants individually. The emails were sent after the company consented to be part of the study. Additionally, to the questionnaire the company's documents were analyzed which has releveled information in the section.

The qualitative data obtained from the study was thematically analyzed. The researchers determined whether the content of the responses was meant to represent the views of the individual or the group of the participants. The responses were correlated to determine the frequency of similar responses and the percentages. The researchers coded similar responses from the participants to the research questions and compared and contrasted them. The obtained data was transcribed and structured. The framework of the data analyzed was guided by the data and the research question. The responses were fed into Excel sheets and categorized based on the themes of the study.

The quantitative data analysis obtained from the questionnaire focused on the numbers and not the narratives. This study used simple quantitative data analysis techniques such as the use of averages, percentages, and graphical representation (Silverman & Owens, 1996).

Accuracy and credibility of a data collection instrument are vital when gathering information regardless of the nature of data collected. Two huge factors were considered when gathering information. These are legitimacy and consistent quality. Legitimacy is the point at which the examination has pertinence to the issue's explanation. It is characterized by the level of understanding between the hypothetical and the exact reasonable structure. For this study, the legitimacy connected to the insights from Euro-monitor International and World Bank is high (Benz & Kümmel, 2000). Therefore, they depend on tried and true numbers despite the fact that the components of the measurable research can be distinctive. The books and articles that have been utilized are additionally considered as substantial because only profoundly prescribed sources have been utilized that likewise have importance to the issue explanation.

The part of legitimacy could, however, be talked about, in light of the likelihood of investigation through surveys to employees in execution of this research. This could add to a dialogue about the level of earnestness and legitimacy (Lauesen, 2004). Assessing the consistent quality of the gathered information is vital. This proposition was viewed as a positive aspect of this study since a considerable measure of the information utilized inside the postulation originated from sites that are significant to the subject, and are exceptionally notable and inspected.

3. Case Study

The Automotive Service Company is a privately-owned company that operates automotive repair shops in a small US city. The company has been in operation since 1962 and has almost more than 1000 employees. The company receives information from all its centers and over the past years, before the adoption of CORBA, faced challenges with records management, capacity management, and regulatory compliance. The primary difficulties that hindered the business processes of the Automotive Service Company were how to control sensitive data and the changing groups of users in numerous roles and how to control and organize large data.

The security model involves the broker who views the records through the CORBA individual policy. The records are also subjected to the state's domain policy, which the Compliance Officer sees on the second level domain. After that, the Product Manager views the Market research, while the Product Marketing Manager views the Marketing Communications, and the Vice President of Marketing views the Marketing strategy. On the other hand, the Security Team sees the records through the CORBA super user policy. The Object Request Broker (ORB) allows the clients to receive responses from the server and allows the user to start or terminate a process. The clients operating on different operating systems can communicate without barriers at the different shop outlets. Information is very significant to CORBA, and this has allowed easy flow of information from the broker to the other users within the system (Zarras, 2004).

Since the inception of the ORB, Automotive Service Company has saved on operational costs, and information can be shared with different users regardless of the operating system they have adopted. The server contains implementations of more than one IDL interface. The interfaces at the company are adopted as servant classes since they are C++ and Java. This allows the remove requests to be received by the CORBA system within the company (Zarras, 2004).

The CORBA system at the company uses an Interface Definition Language (IDL) to determine the interfaces that the objects portray to the outside world, such as the clients. In this regard, IDL bridges the gap between processes and determines a mapping from the IDL to the different operating system languages such as Java or the C++. The CORBA system at the company has a standardized mapping for C++ and Java (Brose, 2002). The IDL offers CORBA the capability to connect the users operating on different operating systems and languages. Additionally, the IDL allows the users on Java to invoke operations on remote network services. Therefore, CORBA enhances the capability to send information and objects from one user to the other within the company but on different operating systems (Zarras, 2004).

The CORBA model of the company used to support the IDL. It has defined remote interfaces through the Object Management Group's Interface Definition Language that runs together with the Java IDL compiler. The operation of the Java IDL compiler on the interface definition file produces the Java version of the interface and the class code files for the skeletons and stubs that allow the system to be joined with the ORB.

During mapping, each of the statements in IDL are transformed to the corresponding statements in the preferred programming language. Therefore, a broker can use Java IDL at one end to map the IDL interface to Java and adopt the client class at Java. On the other hand, mapping the same IDL to C++ through the IDL-C++ compiler can allow the C++ and the Java users to interoperate well within the ORB (Zarras, 2004).

The design of the company's CORBA system has implementations of the 'Shape' and 'Shape List' interfaces that form the two servant classes in the system coupled with a server class that encompasses the 'initialization' section. The broker program in the system creates and modifies the ORB and then accesses the 'Shape List' servant class through a resolve technique and gives reference to the naming service within the server (Krishna & Schmidt, 2003). The results obtained from the server are then relayed through the 'getallstate' technique where values within the CORBA system are passed.

Therefore, when a client from one end uses a different operating system, the CORBA object returns a 'struct', which allows the users on the other end to view the data and the results. This shows that a C++ user within the CORBA system will see a 'struct' while another on Java will also see a 'struct'. Additionally, the inclusion of new objects and data into the system allows the system security personnel to view version numbers (Pahl et al., 2009). However, this is usually attained through the 'white board Call Back' method where the company gets a reference to the 'Shape List' objects, and this informs the company server that it is interested in receiving information from users. This prompts the server to notify the client after new data is fed into the system.

This has allowed the members of the different departments such as marketing, sales, and finance to share information well. For instance, the Marketing Department easily shares the marketing strategy that has the projected budget to the Finance Department for funding while the Finance Department shares its information with the Human Resource Department on the number of additional staff members that it needs. Additionally, the Human Resource Department shares a report on salary disbursements to the Finance Department. The information shared between the departments can reach the departments at the right time and in the right form. The information shared between the departments reaches the designated people at the right time. To make the company's effective in its operations, the processes are mapped to assess and compare the objectives of the departments with the overall objectives of the company. This is to ensure that all the processes of the company are lined up with the capabilities and the values of the company. It is significant to understand how the processes are related and how their interactions affect the performance and quality of the services offered. The company's processes are mapped by focusing on the end goals. This allows the company to have better data control, improved operational efficiency, and an exceptional customer processing. The processes are mapped and transformed through multi-dimensional strings of events that are correctly applied to support the business goals. This implies that the company receives whatever is put in the system (Zarras, 2004).

The company ensures that all its processes are meticulously maintained to eliminate cases of misunderstanding and unfavorable outcomes since all the processes are linked to other efficient sections of the system. The transformation is also facilitated by end users who are involved throughout the processes (Liang, Chao, & Ivey, 2013). Such changes are connected to the wider transformation to reduce cases of disruption.

The departments rely on each other for information and data. For instance, the call center receives information from the customer, then the call center relays the same information to the warehouse and from the warehouse the information is shared to the purchasing department, the mail room, and accounting department. The Figure 1 illustrates the relationship between the entities.

Figure 1. Relationship Between Entities

The relationship between the entities results in the accomplishment of the activities within the company. Figure 2 shows that the customer relays information on the type of spare tires they wish to get, then sends that information to the company and the company sends the payment terms to the customer, which are either accepted or rejected by the customer. Accepting the offer means that the customer is willing to go ahead with the process of purchase of spares or auto services and the customer's vehicle is received, repaired and delivered to customer. The communication between the processes takes place through email and telephone.

Figure 2. Process and Activity Diagram

Communication in the company was not effective before the integration of CORBA. Notably, all the processes were not well-aligned and communication was not effective. Without the middleware, the processes were not integrated and this affected the communication between the distinct units within the company. However, after the integration of the CORBA middleware, all processes were aligned and integrated into the system. This improved the communication between the departments and the cost of operation was reduced. The Figure 3 shows the case's business processes before and after integration of CORBA at the company. Therefore, the company offered a sample example of an organization that had used middleware to bridge the gap between business processes and design patterns.

Figure 3. Before and after CORBA

4. Findings

In this segment, the topic is divided from different points of view and perspectives. The analysis is to determine the validity of the hypothesis with regards to the main topic.

4.1 Perspective on Business

From a business perspective, the researcher sought to find out how CORBA and SOA form a part of business limits while growing business versatility and deftness. The researcher used a questionnaire (appendix) to obtain the information. The questionnaire questions were inspired from the following research papers (Calvo, Almeida, Noguero, Pérez, & Marcos, 2014; Costa, Blair, & Coulson, 2000; Kawsar et al., 2010; Krishna & Schmidt, 2003; Rathfelder, Klatt, Sachs, & Kounev, 2014). The respondents were asked to answer to what degree they thought CORBA and SOA form a part of business limits. They were given a closeended question where they were to choose between high, medium, low and very low. The findings were recorded in Table 1.

Table 1. CORBA and SOA in Relation to Business Limits

As observed from Table 1, the responses of the participants indicate that both SOA and CORBA make business strategies and are more prepared to react and adapt to the new changes and troubles. Besides, SOA was perceived as a business thought, an idea or approach. Therefore, it was formed and passed on to measured business organizations to finish specific business benefits. One of the respondents acknowledged,

“I would define SOA as a business approach that aims at improving business strategies.”

Another respondent asserted,

“SOA is an idea that allows a company to adapt to changes smoothly.”

Notably, free organizations can be made with strategies to give more significance and fuse business frames. Additionally, another respondent noted that,

“SOA is about seeing the limits that the business ought to use and pass on.”

Therefore, from the responses, a business organization can be used to "enlist new customers," "make new moneyrelated adjustments," or "invigorate record change". These business organizations can be reused to support business limits and methods.

On the other hand, the respondents acknowledged that CORBA is distinct from SOA. One of the respondent asserted,

“CORBA is a business event, which is a change inside the state of activity.”

Another respondent noted that CORBA has events that acquire significant information that helps business adapt to changes. The respondent notes,

“CORBA has business events that give it the ability to get vital information dynamically and have the capacity to react and handle basic exercises.”

Additionally, the researchers discovered that event-driven affiliation in information sharing helps change the relationship with a learning alliance and makes the business proactive and diverged from SOA, which tends to be more responsive towards request approaches.

4.2 Perspective on Information

Structures that pass data to each other offer largely understood semantics. Data semantics is the best approach to achievement in both SOA and CORBA. From the data obtained, 87% of the respondents acknowledged that data semantics is the best approach to the achievement of SOA and CORBA. Among the 44 respondents, 38 supported this idea while only 6 did not support it (Figure 4). The respondents who supported the significance of data semantics in information systems noted that it aids with the organization of data and defines the relationship between the data. Some of the responses included,

Figure 4. Data Semantics Approch

“Data semantics offers the system the ability to abstract distinct types of data and offer an explanation of how they relate.”

“Data semantics, I can say, is essential in organizing the data available to an organization.”

“Semantics helps me at my daily work to organize data so that it represents the actual world.”

Shared semantics is essential in interfacing information systems, paying little attention to whether it concerns CORBA or SOA (Schmidt et al., 2001). From the data obtained, 36 of the respondents (82%) acknowledged that data semantics is essential in information systems while only 8 respondents (18%) did not support the role of semantics in information systems. Figure 5 shows the graphical representation of the responses on the significance of data semantics to SOA and CORBA.

Figure 5. Data Semantics on SOA and CORBA

The respondents also acknowledged that both CORBA and SOA consider information very integral to them. All the respondents acknowledged that the information is significant. Notably, both styles consider the information as a normal asset and sponsor usage of a Canonical Data Model, which makes the affiliation appreciate and interpret information frequently. The respondents believe, regardless of the way that both SOA and CORBA highlight the criticalness of data mix and shared semantics, there are various parts of data that are not described inside both thoughts (Costa et al., 2000).

Neither SOA nor CORBA explicitly refers to the sorting out of data due to the substance of the discourse and criticalness of the shared semantics however, one can interpret the data content as including composed data. It is also not expressed if there is a capability between local or universal typical data (Jololian, 2005). SOA begins with the goal of achieving consistency between data sources. Remembering the true objective of data consistency, one begins by detaching the data from its tight dependence on the business applications that made and inform it. Information is administered as a set which is requested by the users who are involved with that information.

The respondents acknowledged that SOA pays attention to information-sharing in a more responsive way than CORBA. Of the 35 respondents, (80%) acknowledged that SOA handles information carefully, while 9 of them (20%) preferred CORBA. 33 respondents (75%) acknowledged that SOA produces the ability to perceive and get the right information at the ideal time. Figure 6 is a graphical representation of the results obtained regarding the benefits of SOA to a business.

Figure 6. SOA on Business

While SOA is about pulling the required information, 40 respondents (91%) acknowledged that CORBA focuses on pushing the right information to the right people at the ideal time. Additionally, 90% of the interviewees agreed that CORBA propels little unmistakable evidence and responds to the event/information that drives the business. 95% of the respondents also confirmed that information is passed on in real-time to the ones who are involved with that information. From the responses by the respondents, it is clear that what stands out about CORBA in comparison to SOA is the use of information more proactively on steady information-sharing.

All respondents unanimously acknowledged that CORBA actively uses information. It was evident from the replies that taking in affiliations benefits by CORBA using the steady information to build high grounds. The responses by the participants show that a learning affiliation should be made for new business because information is plainly a necessity. CORBA similarly gives the necessary support in this area by empowering continual information-sharing and separation of events and information.

The majority of the respondents (91%) acknowledged that CORBA offers constant real-time support to business information and events. Another issue to take a look at is the way by which the particular styles are advancing toward data overabundance. In all standard outline methods, data redundancy is something which should be dodged. Figure 7 shows a graphical representation of the responses obtained on the information-based benefits of CORBA to business.

Figure 7. CORBA on Business

4.3 Perspective on Information System

With a view to information structures, the researcher also wanted to find the link between expert associations and organizational clients. The respondents were asked to highlight which aspects between expert associations and organizational clients are dependent on information systems. The respondents were also asked whether the information structure configuration relies upon modularized sections and organizations, as well as whether SOA focuses on an information system's ability to give and use organizations and CORBA on events enacting messages. The findings were recorded in Table 2.

Table 2. Expert Associations and Organizational Clients

As observed in Table 2, with an expert association more than 90% of the findings revealed that information structure configuration relies upon modularized sections and organizations. The respondents acknowledged that modularized sections extend the flexibility and ability to change business structures. The respondents asserted,

“This modifies the structures of the business and promotes the company's flexibility.”

“It improves the tractability and ability to modify the business operations.”

Additionally, it was discovered that SOA focuses on an information system's ability to give and use organizations while CORBA focuses on events enacting messages. The messages are sent between self-sufficient information structures or programming modules that are absolutely uninformed of each other. Inside CORBA, information systems are giving or exhausting events and it should choose what exercises to do and what events to make.

4.4 Perspective on Integration

The researcher also sought to establish how two building styles are blended in SOA during software design. The respondents were asked to highlight the capabilities of SOA and indicate what industries best fit SOA's capabilities. The respondents were to choose either business, information systems or service providers. The respondents were also given numerous unique attributes of SOA used to support their response. Some of the characteristics the respondents were to choose from included cost-reduction through redundant application use from costly applications, increased flexibility and coordination, increased revenue, increased agility through coordination, and increased consolidation. With special consideration to information system blend, the results were recorded in Table 3.

Table 3. Building styles with SOA

Table 3 revealed that SOA is changing the need for coordination focusing on business benefits as opposed to information systems. Therefore, SOA propels coordination by disengaging steps of wrapping, layering, and supporting both synchronous and non-concurrent outlines. SOA refers to free coupling as a coordination role while CORBA deals with the blend in a more "decoupled" way. 90% of the respondents acknowledged that SOA is used to cut costs by consolidating redundant application functionalities from the old and expensive applications. 95% also acknowledged that SOA offers increased flexibility and coordination to a business, which results in increased agility and consolidation are shown in Figure 8.

Figure 8. SOA on Integration

However, the majority of the respondents noted that the capabilities of SOA are more suited to information systems than to service providers and business. This is evidenced by a cumulative percentage of 40.9%. CORBA information systems are composed through events that impact state changes. Other information structures or organizations that are involved with these developments subscribe to these events and respond or not accordingly. Messages are typically sent using the appropriate/subscribe approach since that approach enables the simultaneous transport of messages to different objectives. Due to circulation facts, CORBA is constrained to the use of an unusual illustration.

4.5 Challenges with Implementation of Middleware (CORBA)

Some of the issues identified by the participants as challenges to the implementation of CORBA within the company were grouped under selection of the system, data quality issues, technical issues, and mind shift issues. Under selection of the system, some of the responses included

“We had to decide on the size and scope of the system required.”

“The most suitable solution to the challenges in the organization was a challenge.”

“We had to decide on the type and the price of the system to adopt.”

On the other hand, the technical challenges included

“The servers and the workstations of the company had to be revised, and this was a challenge.”

“The company had to purchase new systems that would replace the old ones.”

“The internal network had to be changed to suit the requirements of the new system.”

The participants also highlighted the willingness of the users to be part of the new system.

Conclusions and Future Research

In discovering how SOA and CORBA could be integrated into each other and also be used to support systems and their functionality, the study confirmed that middleware does not have the ability to express a significantly close examination of the various design processes. It is apparent that middleware designs have many correlatives. In this regard, it is believed that it is fundamental and profitable to do a close examination and discuss the different areas. In the area of business, for instance, SOA and CORBA are suggested to extend purchaser dependability, certified business availability, snappier time to market, and better business understanding.

Further, the study showed that CORBA is important in business operations and can successfully be used to bridge the gap between SOA and design patterns. CORBA can be used to improve the operations and strategies of a business. Businesses who use the innate characteristics found in CORBA are able to adapt to changes. Moreover, CORBA can be used in data organization and definition of relationships between data structures.

Another discovery was that remote systems are plainly unavoidable and implanted gadgets are currently improved, smaller, and lighter. In this way, portable frameworks will soon support numerous shopper correspondence and registration needs. Application territories for mobile structures incorporate universal registration, multipurpose operators, colleagues, positionsubordinate data arrangement, remote medicinal diagnostics, teleradiology, and home and office computerization (Mikačić, & Dulčić, 2012). However, internet administrations, from web perusal to on-line cost reduction, will be accessed by portable frameworks. Multipurpose frameworks resolve many difficulties such as overseeing low and variable transfer speed and power, adjusting to incessant disturbances in availability and administration quality, turning conventions, and keeping up reserve consistency crosswise over separated system hubs. It is expected that accomplished designers of portable frameworks to use their mastery of reusable examples, structures, and middleware to help take care of the developing demand for quality programming.

Conveyed applications, for example, internet communication, and enormous scale intuitive reenactment frameworks have progressively stringent QoS. To reduce the advancement process duration and cost, these applications are gradually being created through use of different layers of Commercial off the Shelf (COTS) equipment, working frameworks, and middleware parts. Verifiably, it is hard to design COTS-based frameworks that can fulfill numerous QoS properties such as security, opportunities, and adaptation to internal failure. As engineers and integrators master the complexities of giving end-to-end QoS assurances, it is imperative that they report the successful examples and make them more concrete as reusable, multipurpose, and intelligent middleware structures. These can help other people arrange, screen, and control COTS-based conveyed frameworks that have a scope of associated QoS properties.

Over the previous decade, Research and Development (R&D) efforts on middleware widely concentrated on creating and refining the primary ideas and framework for ensuing endeavors. Interestingly, the advances expected to set up an era of middleware were produced through systems that deliberately epitomized time. Therefore, future research is projected to consider the shape, substance, and best practices of middleware and systems. Additionally, future research should consider the use of distributed systems as a continuous implanted framework (Aiken et al., 2000). Expansive middleware structures for simultaneous and arranged articles have been recorded in the previous five years. Arguably, one of the critical stages to enact before embarking on future research is to document the examples for distributed constant and inserted frameworks, wherein prior work should be concentrated on for future determinations. R&D also highlights successful techniques and strategies for overseeing key QoS properties in (Direct Recording Electronic) DRE frameworks, including system data transmission and redundancy, CPU speed, memory level, and power levels. Since creating high-quality DRE frameworks is hard and remains a "dark craftsmanship," a couple of reusable examples, systems, and middleware exist in this area today. It is expected to see an expanded concentration on DRE frameworks later on because of the development of reusable protest innovation, together with the improvement in instruments and procedures that empower it to be connected efficiently to the (Direct Recording Electronic) DRE space.

Appendix A: Questionnaire

References

[1]. Acher, M., Cleve, A., Collet, P., Merle, P., Duchien, L., & Lahire, P. (2014). Extraction and evolution of architectural variability models in plugin-based systems. Software & Systems Modeling, 13(4), 1367-1394. https://doi.org/10. 1007/s10270-013-0364-2
[2]. Aiken, B., Strassner, J., Carpenter, B., Foster, I., Lynch, C., Mambretti, J., Moore, R., & Teitelbaum, B. (2000). Network policy and services: A report of a workshop on middleware. ACM SIGBED Review. https://doi.org/10. 17487/RFC2768
[3]. Al-Jaroodi, J., Mohamed, N., & Jawhar, I. (2018). A service-oriented middle ware frame work for manufacturing industry 4.0. ACM SIGBED Review, 15(5), 29-36. https://doi.org/10.1145/3292384.3292389
[4]. Alvaréz, C. A. G., Aguiar, M., Acosta-Pulido, J., Recio, J. P. P., & Prieto, M. A. (2019). Software architecture of the high-level control of FRIDA. Journal of Astronomical Telescopes, Instruments, and Systems, 5(1), 019001. https://doi.org/10.1117/1.JATIS.5.1.019001
[5]. Apel, S., Batory, D., Kästner, C., & Saake, G. (2016). Feature-oriented software product lines: Concepts and Implementation. Springer.
[6]. Badidi, E., De Sousa, C., Lang, B. F., & Burger, G. (2003). AnaBench: A Web/CORBA-based workbench for biomolecular sequence analysis. BMC Bioinformatics, 4(1), 63. https://doi.org/10.1186/1471-2105-4-63
[7]. Balalaie, A., Heydarnoori, A., & Jamshidi, P. (2016). Microservices architecture enables devops: Migration to a cloud-native architecture. IEEE Software, 33(3), 42-52. https://doi.org/10.1109/MS.2016.64
[8]. Bencomo, N., Bennaceur, A., Grace, P., Blair, G., & Issarny, V. (2013). The role of models@run.time in supporting on-the-fly interoperability. Computing, 95(3), 167-190. https://doi.org/10.1007/s00607-012-0224-x
[9]. Benz, M., & Kümmel, S. (2000). Requirements and limits of a real-time transport system for distributed object computing middleware. Integrated Computer-Aided Engineering, 7(4), 297-312. https://doi.org/10.3233/ICA- 2000-7403
[10]. Beránek, M., Feuerlicht, G., & Ková, V. (2017). Developing enterprise applications for cloud: the unicorn application framework. International Conference on Grid, Cloud and Cluster Computing, GCC, 24-30.
[11]. Beynon, M., & Maad, S. (2002). Empirical modelling of real life financial systems: The need for integration of enabling tools and technologies. Journal of Integrated Design and Process Science, 6(1), 43-58.
[12]. Borck, J. (2001). Future of networked apps. Info World, 23(29), 47-48.
[13]. Bowen, T. S. (1997). Vendors to push component wares at Object World. InfoWorld, 19(9), 10-10.
[14]. Brose, G. (2002). Manageable access control for CORBA. Journal of Computer Security, 10(4), 301-337.
[15]. Brown, P. C. (2008). Implementing SOA: Total architecture in practice. Addison-Wesley Professional.
[16]. Calvo, I., Almeida, L., Noguero, A., Pérez, F., & Marcos, M. (2014). A flexible time-triggered service for realtime CORBA. Computer Standards & Interfaces, 36(3), 531-544. https://doi.org/10.1016/j.csi.2013.11.003
[17]. Chitra, A., & Sadasivam, G. S. (2003). Design and implementation of a static bridge between COM and CORBA distributed objects. Journal of Integrated Design and Process Science, 7(4), 25-33.
[18]. Costa, F. M., Blair, G. S., & Coulson, G. (2000). Experiments with an architecture for reflective middleware. Integrated Computer-Aided Engineering, 7(4), 313-325. https://doi.org/10.3233/ICA-2000-7404
[19]. da Cruz, M. A., Rodrigues, J. J. P., Al-Muhtadi, J., Korotaev, V. V., & de Albuquerque, V. H. C. (2018). A reference model for internet of things middleware. IEEE Internet of Things Journal, 5(2), 871-883. https://doi.org/ 10.1109/JIOT.2018.2796561
[20]. Díaz, M., Garrido, D., Llopis, L., & Troya, J. M. (2009). Designing distributed software with RT-CORBA and SDL. Computer Standards & Interfaces, 31(6), 1073-1091. https://doi.org/10.1016/j.csi.2008.09.033
[21]. Do, H. M., Matai, J., Suh, Y. H., Kim, Y. S., Kim, B. K., Kim, H. S., Tamio, T., Lee, J. Y., & Yu, W. (2009). Connection framework of RT-middleware and CAMUS for maintaining ubiquity between two ubiquitous robot spaces. Advanced Robotics, 23(12-13), 1703-1723. https://doi.org/ 10.1163/016918609X12496339936852
[22]. Eide, E., Simister, J. L., Stack, T., & Lepreau, J. (1999). Flexible IDL compilation for complex communication patterns. Scientific Programming, 7(3-4), 275-287. https://doi.org/10.1155/1999/926915
[23]. Fatoohi, R., & Smith, L. (2001). Development and implementation of a distributed-object job-execution environment. Scientific Programming, 9(1), 27-37. https://doi.org/10.1155/2001/827470
[24]. Gorard, S. (2013). Research design: Creating robust approaches for the social sciences. UK: Sage.
[25]. Hasselbring, W. (1999). Design of a communication framework for interoperable information systems. Journal of Integrated Design and Process Science, 3(3), 15-27.
[26]. Heintz, F., & Doherty, P. (2004). DyKnow: An approach to middleware for knowledge processing. Journal of Intelligent & Fuzzy Systems, 15(1), 3-13.
[27]. Heintz, F., & Doherty, P. (2006). A knowledge processing middleware framework and its relation to the JDL data fusion model. Journal of Intelligent & Fuzzy Systems, 17(4), 335-351.
[28]. Jololian, L. (2005). Towards semantic integration of components using a service-based architecture. Journal of Integrated Design and Process Science, 9(3), 1-13.
[29]. Kawsar, F., Nakajima, T., Park, J. H., & Yeo, S. S. (2010). Design and implementation of a framework for building distributed smart object systems. The Journal of Supercomputing, 54(1), 4-28. https://doi.org/10.1007/ s11227-009-0323-4
[30]. Krishna, A., & Schmidt, D. (2003). Real-time CORBA middleware. Middleware for communications. MQ New York. In: Wiley and Sons.
[31]. Lauesen, S. (2004). COTS tenders and integration requirements. 12th IEEE International Requirements Engineering Conference, (pp. 166-175). IEEE. https://doi.org/10.1109/ICRE.2004.1335674
[32]. Li, B., Kalter, W., & Nahrstedt, K. (2000). A hierarchical Quality of Service control architecture for configurable multimedia applications. Journal of High Speed Networks, 9(3, 4), 153-174.
[33]. Liang, J. S., Chao, K.-M., & Ivey, P. (2013). VR-based wheeled mobile robot in application of remote real-time assembly. The International Journal of Advanced Manufacturing Technology, 64(9-12), 1765-1779. https://doi.org/10.1007/s00170-012-4140-1
[34]. Liu, Q., Sun, X., Mahdavian, S. M., & Ding, S. (2009). Establishment of the model for flexible manufacturing system based on CORBA and IDEF 0. The International Journal of Advanced Manufacturing Technology, 42(3-4), 301-311. https://doi.org/10.1007/s00170-008-1600-8
[35]. Lomotey, R. K., Sriramoju, S., & Orji, R. (2019). Machine-to-infrastructure middleware platform for data management in IoT. International Journal of Business Process Integration and Management, 9(2), 90-106. https://doi.org/10.1504/IJBPIM.2019.099874
[36]. Majumdar, S., Shen, E.-K., & Abdul-Fatah, I. (2004). Performance of adaptive CORBA middleware. Journal of parallel and distributed computing, 64(2), 201-218. https://doi.org/10.1016/j.jpdc.2003.11.008
[37]. Mendling, J., Weber, I., Aalst, W. V. D., Brocke, J. V., Cabanillas, C., Daniel, F., & Gal, A. (2018). Blockchains for business process management-challenges and opportunities. ACM Transactions on Management Information Systems (TMIS), 9(1), 4. https://doi.org/10.1145/ 3183367
[38]. Mikačić, I., & Dulčić, Ž. (2012). Implementation of the process approach and business process management concept in croatian shipyards. Management, Knowledge and Learning, (pp. 277-284).
[39]. Mittasch, C., Weise, T., & Hesselmann, M. (2000). Decentralized control structures for distributed workflow applications. Integrated Computer-Aided Engineering, 7(4), 327-341. https://doi.org/10.3233/ICA-2000-7405
[40]. Oh, J.-Y., Park, J.-H., Jung, G.-H., & Kang, S.-J. (2003). CORBA based core middleware architecture supporting seamless interoperability between standard home network middlewares. IEEE Transactions on Consumer Electronics, 49(3), 581-586. https://doi.org/10.1109/TCE.2003.1233776
[41]. Ohara, K., Sugawara, T., Lee, H. J., Tomizawa, T., Do, H. M., Liang, X., …& Onda, H. (2008). Visual mark for robot manipulation and its RT-middleware component. Advanced Robotics, 22(6-7), 633-655. https://doi.org/10. 1163/156855308X305254
[42]. Pahl, C., Hasselbring, W., & Voss, M. (2009). Servicecentric integration architecture for enterprise software systems. Journal of Information Science and Engineering, 25(5), 1321-1336.
[43]. Papazoglou, M. P., & Georgakopoulos, D. (2003). Service-oriented computing. Communications of the ACM, 46(10), 25-28.
[44]. Poggi, A., Rimassa, G., & Turci, P. (2002). What agent middleware can (and should) do for you. Applied Artificial Intelligence, 16(9-10), 677-698. https://doi.org/10.1080/ 08839510290030444
[45]. Pratap, R. M., Hunleth, F., & Cytron, R. (2004). Building fully customisable middleware using an aspect-oriented approach. IEE Proceedings-Software, 151(4), 199-216. https://doi.org/10.1049/ip-sen:20040923
[46]. Ramfos, A., Busse, R., Platis, N., & Fankhauser, P. (1999). An integration framework for CORBA objects. Journal of Integrated Design and Process Science, 3(1), 27-41.
[47]. Rathfelder, C., Klatt, B., Sachs, K., & Kounev, S. (2014). Modeling event-based communication in componentbased software architectures for performance predictions. Software & Systems Modeling, 13(4), 1291-1317. https://doi.org/10.1007/s10270-013-0316-x
[48]. Robinson, W. N. (2006). A requirements monitoring framework for enterprise systems. Requirements engineering, 11(1), 17-41. https://doi.org/10.1007/s00766- 005-0016-3
[49]. Sacks, R., Eastman, C., Lee, G., & Teicholz, P. (2018). BIM handbook: A guide to building information modeling for owners, designers, engineers, contractors, and facility managers: John Wiley & Sons.
[50]. Sadasivam, G. S. (2006). A grid-based approach to paraloading using mirrored corba servers. Journal of Integrated Design and Process Science, 10(3), 79-85.
[51]. Schmidt, H., Poernomo, I., & Reussner, R. (2001). Trustby- contract: Modelling, analysing and predicting behaviour of software architectures. Journal of Integrated Design and Process Science, 5(3), 25-51.
[52]. Schuster, H., Neeb, J., & Schamburger, R. (1999). Using distributed object middleware to implement scalable workflow management systems. Journal of Integrated Design and Process Science, 3(2), 1-19.
[53]. Sheikh, H. R. (2012). Comparing CORBA and webservices in view of a service oriented architecture. International Journal of Computer Applications, 39(6), 47- 55.
[54]. Silverman, B., & Owens, J. M. (1996). Enterprise information infrastructure (EII): Design issues and guidelines. Information and Systems Engineering Journal, 2(1), 19-45.
[55]. Steiner, F. P., Eshkar, U., & Seibert, C. (1998). Automation, integration, and data management for the back end. Solid State Technology, 41(11).
[56]. Stubbings, G., & Polovina, S. (2013). Levering object- oriented knowledge for service-oriented proficiency. Computing, 95(9), 817-835. https://doi.org/10.1007/ s00607-013-0304-6
[57]. Toral, S. L., Barrero, F., Cortés, F., & Gregor, D. (2013). Analysis of embedded CORBA middleware performance on urban distributed transportation equipments. Computer Standards & Interfaces, 35(1), 150-157. https://doi.org/10.1016/j.csi.2012.06.004
[58]. Tsou, M. H., & Buttenfield, B. P. (2002). A dynamic architecture for distributing geographic information services. Transactions in GIS, 6(4), 355-381. https://doi.org/ 10.1111/1467-9671.00118
[59]. Vermesan, O., & Bacquet, J. [Eds.] (2017). Cognitive Hyperconnected Digital Transformation: Internet of Things Intelligence Evolution. Denmark: River Publishers.
[60]. Wang, F. (2000). A distributed geographic information system on the common object request broker architecture (corba). GeoInformatica, 4(1), 89-115. https://doi.org/10. 1023/A:1009832526289
[61]. Zarras, A. (2004). A comparison framework for middleware infrastructures. Journal of Object Technology, 3(5), 103-123.
[62]. Zha, H., van der Aalst, W. M., Wang, J., Wen, L., & Sun, J. (2011). Verifying workflow processes: a transformationbased approach. Software & Systems Modeling, 10(2), 253-264. https://doi.org/10.1007/s10270-010-0149-9