[ieee 2011 fourth international workshop on advanced computational intelligence (iwaci) - wuhan,...

6
AbstractDistributed computing, a paradigm often used for building business applications, enables a task to be performed by combining the efforts of multiple processes. The processes can be running at different locations, and on different types of computers. So research on EAI Platform System is very useful work. In this paper, we gives an overview on the distributed computing problem in an integrated application environment. Based on this problem description, we give out the EAI Platform Distributed Computing Solution. To this end, we design a platform system for enterprise applications integration. EAI Platform provides an infrastructure for communication and control among diverse, distributed applications. The EAI Platform framework supports applications that use distributed, client-server communications, in both Java and C++. I. INTRODUCTION N e-Business platform addresses the needs of modern businesses by providing a software platform that is the basis for automating business processes. An e-Business platform provides business process management, business- to-business communication, and enterprise application integration. E-Business platforms allow companies to execute their business processes with great speed, flexibility, and reliability. EAI Platform is an e-Business platform. It provides a framework of business process management, enterprise application integration, and business-to-business communca- tion that you can use to develop and implement a comprehe- nsive e-Business solution. And EAI Platform can provide a suite of applications, servers, and interfaces to develop and run a EAI Platform solution. EAI Platform components can be grouped to form framework categories. Each framework category consists of EAI Platform components that allow you to develop, implement, or administer a EAI Platform solution [1]. Distributed computing, a paradigm often used for building business applications, enables a task to be performed by combining the efforts of multiple processes. The processes can be running at different locations, and on different types of computers. Distributed computing has a number of challenges, including the following requirements: (1) Clients must be able to find servers. (2) Clients must know what functions are available on the Ping Xu is with the School of Mathematics and Computer Science, Jianghan University, Wuhan, China(corresponding author to provide phone: 13971302823; e-mail: [email protected]). Kun Luo is with the School of Mathematics and Computer Science, Jianghan University, Wuhan, China(e-mail: [email protected]). server. (3) Servers must be able to find out whether clients are permitted to run the requested functions. (4) Clients and servers running on different types of computers must be able to communicate. In this paper we present a solution of EAI Platform distributed computing, and we discuss the issues and emerging technologies that support such a solution. The paper is organized as follows. Section II and III gives an overview on the distributed computing problem in an integrated application environment. Section IV gives out the EAI Platform Distributed Computing Solution. Section V presents the implement of EAI Platform System. Finally, the conclusion is discussed in Section VI. II. DISTRIBUTED COMPUTING A. Demand-Driven Distributed Computing and Event- Driven Distributed Computing In the demand-driven style, one application makes a request of another, then waits for a reply. Many people are familiar with this style of distributed computing through using the World Wide Web: web browsers request data when users enter web-page addresses and they request data updates when, for example, users order goods from online merchants. To make it easier to discuss a distributed application, the terms client and server are often used to describe the roles of the participants. An application acts as a client when it sends requests for data or for data updates. An application acts as a server when it receives and responds to requests. In the event-driven style, clients, also called publishers, make information available, and servers, also called subscribers, receive and process some or all of the available information. Unlike demand-driven clients, publishers do not wait for replies from subscribers. Many people are also familiar with this style of distributed computing from mailing lists on the Internet: the mailing list server is a publisher, sending out messages to members of the mailing list, and the members become subscribers when they add their names to the mailing list. These two styles of distributed computing, demand- driven and event-driven, are not mutually exclusive. For example, consider the simple order-entry system shown in Fig. 1. Research on Distributed Computing of EAI Platform System Ping Xu and Kun Luo A Fourth International Workshop on Advanced Computational Intelligence Wuhan, Hubei, China; October 19-21, 2011 978-1-61284-375-9/11/$26.00 @2011 IEEE 7

Upload: kun

Post on 25-Feb-2017

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE 2011 Fourth International Workshop on Advanced Computational Intelligence (IWACI) - Wuhan, China (2011.10.19-2011.10.21)] The Fourth International Workshop on Advanced Computational

Abstract—Distributed computing, a paradigm often used for building business applications, enables a task to be performed by combining the efforts of multiple processes. The processes can be running at different locations, and on different types of computers. So research on EAI Platform System is very usefulwork. In this paper, we gives an overview on the distributed computing problem in an integrated application environment.Based on this problem description, we give out the EAI Platform Distributed Computing Solution. To this end, we design a platform system for enterprise applications integration. EAI Platform provides an infrastructure for communication and control among diverse, distributed applications. The EAI Platform framework supports applications that use distributed, client-server communications, in both Java and C++.

I. INTRODUCTION

N e-Business platform addresses the needs of modern businesses by providing a software platform that is the basis for automating business processes. An e-Business

platform provides business process management, business-to-business communication, and enterprise application integration. E-Business platforms allow companies to execute their business processes with great speed, flexibility, and reliability.

EAI Platform is an e-Business platform. It provides a framework of business process management, enterprise application integration, and business-to-business communca-tion that you can use to develop and implement a comprehe- nsive e-Business solution. And EAI Platform can provide a suite of applications, servers, and interfaces to develop and run a EAI Platform solution. EAI Platform components can be grouped to form framework categories. Each framework category consists of EAI Platform components that allow you to develop, implement, or administer a EAI Platform solution [1].

Distributed computing, a paradigm often used for building business applications, enables a task to be performed by combining the efforts of multiple processes. The processes can be running at different locations, and on different types of computers.

Distributed computing has a number of challenges, including the following requirements:

(1) Clients must be able to find servers. (2) Clients must know what functions are available on the

Ping Xu is with the School of Mathematics and Computer Science,Jianghan University, Wuhan, China(corresponding author to provide phone: 13971302823; e-mail: [email protected]).

Kun Luo is with the School of Mathematics and Computer Science,Jianghan University, Wuhan, China(e-mail: [email protected]).

server.(3) Servers must be able to find out whether clients are

permitted to run the requested functions. (4) Clients and servers running on different types of

computers must be able to communicate. In this paper we present a solution of EAI Platform

distributed computing, and we discuss the issues and emerging technologies that support such a solution.

The paper is organized as follows. Section II and III gives an overview on the distributed computing problem in an integrated application environment. Section IV gives out the EAI Platform Distributed Computing Solution. Section V presents the implement of EAI Platform System. Finally, the conclusion is discussed in Section VI.

II. DISTRIBUTED COMPUTING

A. Demand-Driven Distributed Computing and Event-Driven Distributed Computing

In the demand-driven style, one application makes a request of another, then waits for a reply. Many people are familiar with this style of distributed computing through using the World Wide Web: web browsers request data when users enter web-page addresses and they request data updates when, for example, users order goods from online merchants. To make it easier to discuss a distributed application, the terms client and server are often used to describe the roles of the participants. An application acts as a client when it sends requests for data or for data updates. An application acts as a server when it receives and responds to requests.

In the event-driven style, clients, also called publishers, make information available, and servers, also called subscribers, receive and process some or all of the available information. Unlike demand-driven clients, publishers do not wait for replies from subscribers. Many people are also familiar with this style of distributed computing from mailing lists on the Internet: the mailing list server is a publisher, sending out messages to members of the mailing list, and the members become subscribers when they add their names to the mailing list.

These two styles of distributed computing, demand-driven and event-driven, are not mutually exclusive. For example, consider the simple order-entry system shown in Fig. 1.

Research on Distributed Computing of EAI Platform SystemPing Xu and Kun Luo

A

Fourth International Workshop on Advanced Computational Intelligence Wuhan, Hubei, China; October 19-21, 2011

978-1-61284-375-9/11/$26.00 @2011 IEEE 7

Page 2: [IEEE 2011 Fourth International Workshop on Advanced Computational Intelligence (IWACI) - Wuhan, China (2011.10.19-2011.10.21)] The Fourth International Workshop on Advanced Computational

Fig. 1. Demand- and Event-Driven Application The application that a customer-service representative

uses to enter an order is a client. The application that receives the request and updates inventory data is a server. If that application also publishes the order data, it is not only a server, but also a publisher. The applications that receive the published data and act to arrange delivery and bill the customer are subscribers. EAI Platform uses primarily the event-driven style of distributed computing.

B. Advantages of Distributed Computing Distributed computing enables companies to make

services widely available: client machines can be in different locations from the server. The only requirement is that a network must connect the clients' and servers' computers. The network can be an intranet (a network that connects the computers within a company) or, for even more flexibility, the network can include the Internet.

Scalability refers to the ability to increase processing power by adding hardware or software components. Each additional component provides power equal to the original components. To make services scalable, the number of servers can be increased to balance the increased number of users. At the same time, a proxy server might be employed to balance the client load among the available servers, though this is not required. A proxy server sits between the clients and their servers; it receives the clients' requests and forwards those requests to servers that can handle them. EAI Platform provides administrators a straightforward set of tasks to start new EAI Platform servers, and incorporate them into the users' working environment.

There are a few options for using distributed computing to improve a service's reliability. Run critical services on multiple computers, and have clients try another service if a chosen service fails. Depending on the software infrastructure, the system could move the client to a new server automatically and transparently. If the server is unavailable and the client's request can be done at a later time, save the request and process it when the failed server is available again. This capability is inherent in the publish-subscribe paradigm upon which EAI Platform is built.

III. PROBLEM OF DISTRIBUTED COMPUTING

Distributed computing has a number of challenges, including the following requirements:

(1) Clients must be able to find servers. (2) Clients must know what functions are available on the

server.(3) Servers must be able to find out whether clients are

permitted to run the requested functions.

(4) Clients and servers running on different types of computers must be able to communicate.

A. Finding Servers In a distributed environment, clients must be able to find

the servers they need to contact. One way for a client to find a server is by specifying the server's name. EAI Platform both provides and encourages this capability, maintaining the mapping between the server's name and location. When you change a server's location, you update only the mapping in EAI Platform, not the individual clients. Through naming, EAI Platform enables you to more easily create and maintain distributed systems.

B. Server Interfaces Each server handles certain requests from clients. For

example, one server might handle requests for information about inventory levels and requests to change those levels, while another server might handle requests for information about customer data, and requests to update that data. There must be a way for developers to know what requests a server handles, so their client applications direct requests appropriately. In EAI Platform, interfaces can be described graphically or programmatically using the Interface Definition Language (IDL) of the Object Management Group (OMG).

C. Access to Server Functionality Although servers can handle various requests, it is

possible that not all clients should be able to make all requests. For example, a server that handles merchandise inventory might restrict the ability to decrement inventory to customer service representatives, who process customer orders, and might restrict the ability to increment inventory to receivers, who accept shipments of new merchandise. EAI Platform enables services to restrict which clients are permitted to access which interfaces by providing access control lists (ACLs). With an access control list, an administrator or interface developer enumerates which users and groups of users are permitted to access a particular interface. A server rejects requests from users that do not appear on the access control list.

Often, companies have computers of various ages, from various vendors. These computers can differ from each other in any number of ways, from their word sizes to their file systems. A common concern, therefore, is creating a distributed environment where applications on these computers can easily communicate with each other.

D. Communication in a Multi-Vendor Environment EAI Platform enables distributed computing in multi-

vendor environments. It runs on a variety of platforms and it can get and update data from a number of different sources, such as a Windows file, an IMAP server on Solaris, DB2 on the AIX operating system, and so on. Further, users can extend EAI Platform to include new sources of data. When EAI Platform gets data from one source, such as a Solaris

8

Page 3: [IEEE 2011 Fourth International Workshop on Advanced Computational Intelligence (IWACI) - Wuhan, China (2011.10.19-2011.10.21)] The Fourth International Workshop on Advanced Computational

file, it can save the data to another location, such as aWindows file, transparently making any changes required by the underlying operating systems.

IV. THE EAI PLATFORM DISTRIBUTED COMPUTING SOLUTION

A. Platform Architecture In achieving the goal we propose a framework supporting

EAI. The framework can be accomplished based on communicator, connectors, and automator. The details are described by Fig. 2.

Fig. 2. Architecture of The EAI Platform system EAI Platform provides a framework, meaning that it

provides the underlying standards and software components around which you can develop and implement a comprehensive e-Business solution. EAI Platform provides components that fall into one of the following three framework categories [2][3]:

(1)Definition applications: build-time applications that allow you to define and create components of an e-Business solution.

(2)Runtime environment: runtime services that support and execute e-Business functions.

(3)System administration applications: applications that allow you to configure and administer components of an e-Business solution prior to run time, and monitor components during runtime.

B. Naming A challenge of distributed computing is enabling

applications (clients, servers, publishers, and subscribers) to find the resources they need. EAI Platform meets this challenge by using a CORBA service, CosNaming.

With CosNaming, developers and administrators give their resources names, and applications use those names to access the resources. Named EAI Platform resources include publishers, channels, subscribers, descriptions of events, called event interfaces, models of business processes, and so on. When, as shown in Fig. 3, a publisher sends an event to a channel, it sends an event of a particular named type to a named channel. CosNaming maps the name to the resource.

Fig. 3. Application Using Named Resources When you give a resource a name, that name becomes

part of the EAI Platform namespace. Each resource in a namespace must have a unique name. EAI Platform helps you organize your resources by providing: (1) AHierarchical Namespace, (2) Federated Namespaces.

Because there are many resources that can be named, EAI Platform enables you to organize them for easier system maintenance by providing a hierarchical namespace. A hierarchical namespace means that you can create folders in the namespace, which can contain resources or other folders. Fig. 4 shows a hierarchical namespace.

Fig. 4. A Hierarchical Namespace EAI Platform enables you to see one namespace from

another; this ability is called federating namespaces. You federate the namespaces of EAI Platform installations so that a EAI Platform solution can transparently use resources managed by a remote EAI Platform site. You can federate namespaces in a number of ways, from making entire workspaces visible to each other to making a single resource in one workspace visible from another workspace.

For example, suppose that a EAI Platform installation in California has the Orders channel and another EAI Platform installation in New York has a subscriber. Federating could result in namespaces that allow the subscriber to reference the channel by name, without regard to its physical location or its logical location as part of another company's EAI Platform solution. Fig.5 shows that the supplier's namespace after federation.

Fig. 5. Federated Namespace

C. EAI Platform-Specific Metadata EAI Platform uses metadata to describe the structure of

data. In a EAI Platform solution, that is, in software you

9

Page 4: [IEEE 2011 Fourth International Workshop on Advanced Computational Intelligence (IWACI) - Wuhan, China (2011.10.19-2011.10.21)] The Fourth International Workshop on Advanced Computational

build within the EAI Platform framework, you will perform actions that create one or more kinds of metadata. That information is stored away, and your solution knows when to use that metadata information and where to find it.

EAI Platform provides a graphics-based development environment for developing EAI Platform components. The Object Modeler is the graphics-based application that lets you define metadata. It is accessed through the Console. Metadata are managed by the EAI Platform Server, and stored in a file called the repository.

EAI Platform uses the same hierarchy of metadata as is used by the Common Object Request Broker Architecture (CORBA), a vendor-neutral standard for client/server middleware. EAI Platform uses the same specification language that CORBA uses, Interface Definition Language (IDL), to describe events and other kinds of metadata. It also uses the Object Definition Language (ODL), which is a superset of IDL, to describe the structure of object-oriented databases [4][5].

There are three ways to create metadata: (1) Create an IDL, ODL, or DTD file, import the file into

EAI Platform, and register it with the EAI Platform repository.

(2) Create the metadata through the EAI Platform Console and register it with the EAI Platform repository.

(3) Use a connector to transfer data from a relational database to EAI Platform; this process automatically registers the data.

D. Access Control EAI Platform uses access controls, also called

permissions, to control what actions a user or group of users can perform on EAI Platform items. For example, the permissions associated with a model can allow some EAI Platform users to only look at the model, and allow others to both look at and change it. The list of who has what permissions on a EAI Platform item is called the item's access-control list or permissions list.

A system administrator creates the users that can receive permissions on EAI Platform items. On the other hand, creating groups of users and managing permissions on individual EAI Platform items is a cooperative effort between users and system administrators [6].

the permissions that a user or group can be granted on a EAI Platform item. To make permissions easier to manage, EAI Platform organizes commonly assigned permissions into groups, and gives these groups names.

Fig. 6 shows that the possible permissions and groups of permissions common to all EAI Platform items.

Fig. 6. Types of Permissions on EAI Platform Items

V. IMPLEMENT OF THE EAI PLATFORM SYSTEM

A. The Console of the EAI Platform System The EAI Platform System, which is a distributed

workflow management system designed and implemented,is used as a test workflow system for the proposed framework. Three modules defined by the framework are implemented by using JDK1.2, JMS (Java Message Service), and JAXP (Java API for XML Processing). JMS is a Java API that allows applications to create, send, receive, and read messages. It also enables point-to-point messaging and publish-subscribe messaging, which allows applications to send messages to multiple targets. JAXP is a Java API for parsing and generating XML messages.

The Console is a Java application that provides an easy-to-use, graphical user interface for setting up and managing the EAI Platform software. When the Console starts, you see the main window on your screen. The main window is divided into two areas. The left pane, called the navigation pane, displays a hierarchical directory of all items on the EAI Platform server. The right pane is a tabbed workspace area where you enter information for creating, setting, and using EAI Platform items. The Integrated system Console is showed in Fig. 7.

Fig. 7. Basic Features of the Console Window

B. Namespaces and Federation Topologies The folders on a server are organized in a tree. This tree

represents the structure of the server's namespace. Anamespace is a context in which every name unambiguously resolves to just one object. Thus you cannot have two files called mydata in the same folder because the name mydata would not refer to one unique object. However, you can have two files called mydata in two different folders because the full pathnames of the files are different. The different pathnames uniquely identify the files in the server's namespace.

One obvious topology is bilateral root-to-root federation. In this scheme, every EAI Platform server would have a federated shortcut to the root of every other EAI Platform server. However, because you cannot create a shortcut at the

10

Page 5: [IEEE 2011 Fourth International Workshop on Advanced Computational Intelligence (IWACI) - Wuhan, China (2011.10.19-2011.10.21)] The Fourth International Workshop on Advanced Computational

root level of a namespace (you must create a shortcut in a folder), EAI Platform supports bilateral folder-to-root federation.

Fig. 8. Example of Bilateral Root-to-Root Federation The example in Fig. 8 is a typical of a bilateral folder - to-

root "web style" federation, in which all hosts have a folder (/net in this example) that contains shortcuts to the roots of all other EAI Platform servers.

C. Creating Metadata Using the Console

Fig. 9. Using the Console to Create Metadata As shown in Fig. 9, we know the left - hand pane is the

navigation pane, which displays the contents of the repository in a hierarchical tree. All metadata are stored in the /admin/types/ folder. You can select metadata by clicking it in the navigation pane. When you do so, the metadata is highlighted by a gray background, and information about it is displayed in the workspace, the right-hand side of the Console, in one or more tabs. These tabs enable you to browse and edit the selected metadata. When you click the label of a tab, the Console displays that tab's information.

D. Assigning Rights EAI Platform users can work only with EAI Platform

resources—folders, connectors, channels, models, and so forth—to which they have been given access. Access to an

object—a folder, say—gives a user rights to work with it in certain ways. For example, a user may be given the right to use the objects in a folder but not the right to change those objects. Giving a user access rights on an object is also called setting permissions.

The rights a user has to a particular resource depend on the level of access he has been given to that resource. The system defines access levels by collecting types of rights into the groupings you are most likely to want to give users. You can also give users ad hoc access level groupings.

Fig. 10 shows the access levels defined by the system for EAI Platform objects in general.

Fig. 10. Access Levels and Rights

VI. CONCLUSION AND FUTURE WORK

The issue of enterprise application integration is a critical one for modern organizations to address. The problem is multi-faceted and will rely on marshalling an array of technology methods and tools, mature processes and organizational expertise.

In this paper, we give the detailed distribute computing problem characterization, followed by a discussion of the EAI Platform distribute computing solution, and we introduce our approach. Finally, the approach deals with the distribute computing problem of EAI Platform.

REFERENCES[1] C. Bussler, “B2B Protocal Standards and their Role in Semantic B2B

Integration Engines,” IEEE Data Engineering Bulletin, vol. 24, no. 1, pp. 3-11, Jan. 2001.

[2] A. Laroia, and L. Sayavedra, “EAI Business Drivers,” EAI Journal,vol. 2, pp. 27-29, Mar. 2003.

[3] B.Medjahed, B. Benattalah, A. Bouguettaya, A. Ngu, and A. Elmagarmid, “Business-to-business interactions: Issues and enabling technologies,” The VLDB Journal, vol. 12, no. 1, pp.59-85, Jan.

2003. [4] D. Skeen, “Business Vocabulary Management,” Business Integration

Journal, vol. 7, pp. 10-12, Jul. 2003. [5] D. S. Han, J. Y. Shim, and C. S. Yu, “ICU/COWS: A Distributed

Transactional Workflow System Supporting Multiple Workflow Types,” IEICE Transactions on Information and Systems, vol. E83- D, no. 7, pp. 120-125, Jul. 2000.

[6] K. Verma, K. Sivashanmugam, A. Sheth, A. Patil, S. Oundhakar, and J. Miller, “METEOR-S WSDI: A Scalable P2P Infrastructure of Registries for Semantic Publication and Discovery of Web

Services,” Journal of Information Technology and Management, vol. 6, no. 1, pp. 17-39, Jan. 2005.

[7] J.M. Zhang and J.G. Liu "Rough Sets and BP Neural Network for Transformer Fault Diagnosis " Transformer, vol.46, pp.18-22, 2009.

[8] J. Moody and C. Darken, “Fast learning in networks of locally-tuned processing units,” Neural Computers, vol. 1, pp. 281-294, 1991.

[9] J. Buhmann and H. Kuhnel, “Unsupervised and supervised data

11

Page 6: [IEEE 2011 Fourth International Workshop on Advanced Computational Intelligence (IWACI) - Wuhan, China (2011.10.19-2011.10.21)] The Fourth International Workshop on Advanced Computational

[10] D. Crandall, P.Felzenszwalb, and D.Huttenlocher, "Spatial priors for part-based recognition using statistical models," Proc.CVPR 2005, pp. 10-17.

[11] B. Leibe, A.Leonardis and B.Schiele, "Robust object detection with interleaved categorization and segmentation," International journal of computer vision, vol. 77, pp. 259-289, 2008.

[12] J. Shotton, A. Blake, and R.Cipolla,"Contour-based learning for object detection," Proc.ICCV 2005, vol. 1, pp. 503-510.

[13] B. Leibe, E.Seemann, and B.Schiele, "Pedestrian detection in crowded scenes," Proc.CVPR 2005. pp. 878-885.

[14] R. Fergus, P. Perona, and A. Zisserman, "Object class recognition by unsupervised scale-invariant learning," Proc.CVPR 2003. pp. 264-271.

[15] E. B. Sudderth, A. Torralba, and WT. Freeman,"Learning hierarchical models of scenes, objects, and parts," Proc.iccv 2003. pp. 1331-1338.

[16] B. Leibe, A.Leonardis and B.Schiele, "Robust object detection with interleaved categorization and segmentation," International journal of computer vision, vol. 77, pp. 259-289, 2008.

clustering with competitive neural networks,” Neural Networks, vol. 4, pp. 796-801, Jun. 1992.

12