High Availability with Clusters of Web Services
|
|
- Elizabeth Cain
- 8 years ago
- Views:
Transcription
1 High Availability with Clusters of Web Services Julio Fernández Vilas 1, José Pazos Arias 2, Ana Fernández Vilas 2 1 CPD - Caixa Galicia A Coruña, Spain jfvilas@caixagalicia.es 2 Universidad de Vigo Vigo, Spain {Jose.Pazos, Ana.Vilas}@det.uvigo.es Abstract. Internet is open 24 hours a day, 7 days a week, so hardware, software, and communications must be always online. Additionally, the total number of users and its workload is completely unpredictable. If you decide to use web services, you will have no solution for problems like those. This paper shows a new technique that can be applied to web services technology in order to be able to deploy web services with high availability features using clustering. This new technique is based on the virtualization of the real web services used to serve the client requests, creating new virtual web services that will be the ones invoked by the clients. At the back-end, the implementation web services (the real ones) will be invoked inside a cluster. 1 Introduction Typically, availability problems (also scalability, continuity...) have mainly two solutions: Fault Tolerance and Clustering. Fault tolerance [1, 2] means that all components inside a single computer are redundant. In clustering [3, 4], complete computers are redundant. When clustering is used, all cluster components (nodes) run at the same time, so, in addition to availability, other properties like scalability or load balancing are obtained. How can we deploy web services with high availability? A cluster in which nodes have some fault-tolerant features should be the best hardware infrastructure. The software infrastructure should provide solutions to three main problems: identify cluster nodes in error; provide mechanisms to perform cluster and node maintenance; and modify cluster structure as needed (adding and removing nodes). To solve these problems we propose a virtualization model. After introducing the problems, the remainder of the paper is structured as follows: section 2 introduces virtualization and its components, while its implementation is discussed in section 3. The details about cluster implementation are explained in section 4, and section 5 shows the solution to the previously identified problems. 2 Virtualization The technique we propose, virtualization, is based on grouping one or more web services inside a unique wrapper, which is then published as a standard web service,
2 2 Julio Fernández Vilas, José Pazos Arias, Ana Fernández Vilas so clients use the new virtual web service as a standard web service, that is, there is no difference between real and virtual from the client s point of view. With virtualization, some additional logic can be performed out of the client applications (error management, provider selection...), and this way the software complexity is radically reduced, since developers must only worry about business logic. Wrapping a group of web services has nothing to do with the well-known web service wrappers, which are software components used to isolate the communication layer (SOAP, HTTP ) of the web services from the web services implementation. The wrapper term is used here to refer to a virtual view of a set of web services, that is, clients have a unique view of that group. The virtual view is in fact a standard WSDL [5] document. Virtualizing a web service requires a change in the standard web services architecture, since a virtual web service must reside in an intermediate element different from the client and the provider. 2.1 Architectural change Let us think about the way web services are created and used. First, a provider entity builds a piece of software (a component) that implements the business logic. Then, using a development tool, the WSDL document and the wrapper classes for the component are created. Finally, the provider deploys the web service to an application server and publishes the WSDL in order to make it accessible by clients. On the client side, a client entity finds the WSDL document. Then, using a development tool, the client creates the proxy classes that will be invoked by the client s business logic. Because of this way of developing proxies and wrappers, we detect a big dependence between clients and servers. That dependence has its origin in the SOAP messages. Let us suppose that the provider modifies the parameters sent/received at the provider component. After modifying the business logic, the provider should rebuild the wrapper classes and the WSDL document. A simple change in the name or the type of a parameter will cause a change in the way SOAP messages are produced. The invocations will not run properly if client proxies and client applications remain unchanged, since SOAP messages sent from client to server and back do not follow the same schema. From this point of view, clients and servers are strongly coupled (like a method or a function inside a program). This strong coupling is caused by the nature of invocations. In the standard web services architecture, clients use direct invocations to invoke web services. Other problems can arise due to the use of the direct invocation model: Adding more web service providers to a client application implies rewriting client proxies and/or client applications. If a provider is unavailable, client entities do not have a way to specify alternative providers inside their client applications. Ad-hoc programming code must be used. What we propose here is to change the architecture, moving the invocation model from direct to indirect. We also suggest the use of intermediate elements inside the standard architecture (as proposed in [6]) that can receive, process, and re-route SOAP messages.
3 High Availability with Clusters of Web Services VWS Components Our proposed architecture for the use of Virtual Web Services (VWS) determines the need of, at least, three components: a client, a service provider, and a VWS engine. The client is the one who needs a service and performs an invocation. The service provider is the one that publishes and offers a web service. In our VWS architecture, invocations are not performed directly from the client to the server (provider), but rather the client performs an invocation to the VWS engine, who acts as an intermediary, and the engine performs an invocation to the provider. The VWS engine can be something as simple as adding some kind of decision capabilities to the client proxies (Fig. 1). Alternatively, it can be something as complex as a dedicated server (Fig. 2). This document explains how to deploy web services with high-availability features using a complex VWS engine. Client Provider Proxy Provider Fig. 1. Simple VWS Engine. Client Client VWS Engine VWS Engine Provider Provider Provider Fig. 2. Complex VWS Engine. The VWS engine is not a virtual server. It is a standard server, and it should be implemented in the same way as a server used to process standard web service invocations. The term VWS engine refers to the capability of a server to understand virtual services definitions. That is, it can receive, process, and respond to standard web service invocations. In order to process a request, the engine uses VWS descriptions to select and invoke the most suitable web service provider. 3 Implementing Virtualization Virtualization will lead us to use a new kind of services: virtual web services (VWS). Any application that is able to use a standard web service can be bound to a a virtual web service. Our virtualization technology provides a definition language (an XMLbased language). This language (VWSDL, VWS Definition Language) is used to write VWS documents. Clients do not use VWS documents, since these documents are just a definition of an implementation of a virtual service, and this definition is only useful to the VWS engine. Our proposed language has been defined as a standalone language, that is, not as a WSDL extension, since its intended use is completely different. Even though the main objective of WSDL and VWSDL is the same (describe a web service), the way that services are described are completely different. VWS documents are used to describe virtual web services, and they must contain, at least, a list of methods provided by the service (using the method elements, as shown in Fig. 3). In addition, for each method published inside a service, we must specify the input and output parameters, and their corresponding data types. As shown in Fig. 3, each method element has its own name attribute and another attribute called type. The type attribute is used to specify the type of implementation that is being defined. For instance, the equivalent value states that, in order to execute a virtual method, a set of equivalent services are available to accomplish the execution. The content of a method element is also used to specify a list of web
4 4 Julio Fernández Vilas, José Pazos Arias, Ana Fernández Vilas services and methods that will be invoked in order to complete the execution of a method. All those web services and their methods represent in fact the implementation of a virtual method, and they are specified (inside the method element) using so many invoke elements as needed (Fig. 3). Usually, we want web services to be deployed to all nodes in a cluster, so we should add so many invoke elements as nodes belong to the cluster. It is important to note that deploying a web service to a node does not mean that it will be invoked. If a web service has been deployed to a given node, and we want it to be invoked, the provider (a cluster node) must be specified inside an invoke element (in a VWS document). <method name="getprice" type="equivalent" select="0.7*adjust(availability)+0.3*reverseadjust(responsetime)"> <input> <parm name="ticker" type="xsd:string"/> </input> <output> <parm name="name" type="xsd:string"/> <parm name="value" type="xsd:float"/> <parm name="date" type="xsd:date"/> </output> <invoke id="2" method="sendittome" location=" <map> <in origin="/ticker" target="t"/> <out origin="/name/shortname" target="/name"/> <out origin="/price" target="/value" type="relaxed"/> </map> </invoke> <...> </method> Fig. 3. Sample method declaration. 3.1 Parameter Handling In WSDL / SOAP parameters are nominal, that is, input parameters sent to methods use the name of the elements (XML elements). The same happens with return parameters. Let us suppose that we build a virtual method that receives a parameter called P1 and returns a parameter called RP. This represents a little restriction in the way we write the method and invoke elements, since the name of the parameters used in the virtual method must match the ones used in real methods. If a match can be found, the invoke elements can be used without a problem. When such a match cannot be found, a map element should be used to solve this situation. The map element can contain a set of in and out elements that are used to specify the correspondence between virtual parameters and real parameters. Inside each subelement (in or out), we must write an origin parameter name and a destination one, so the engine knows how to map the parameters before and after each invocation. An example can be examined in Fig. 3. It is possible to find equivalent services that use similar parameters with different data types; a price is a typical example that can be handled using integer types or float types. In situations like this, a conversion process must be performed. This conversion
5 High Availability with Clusters of Web Services 5 is expressed via the type attribute. It is also possible to map a simple type to an element contained inside a complex one using XPath [7] expressions, that is, assign a simple value extracted from a DOM node [8], for example. The VWS engine should check all type assignments described inside the VWS documents, and this type-checking process should be made only once per VWS document: when a document is first deployed to the engine. The use of the map element brings much new functionality to the virtualization technique, since parameter mapping between virtual and real services lessens the coupling level between client applications and service implementations. Some benefits we obtain are: deploying new versions of implementation services with the same interface, new interface versions using the same web services, and service testing inside the cluster deploying different versions of the real web services. 4 Cluster Implementation Our virtualization model establishes the existence of two types of nodes inside a cluster. The first type is the principal node. This node will be in charge of receiving service invocation requests. We must place the VWS documents inside the principal node. The second type is the non-principal node or provider node, and it is in charge of executing requests received from principal nodes. Using the method and invoke elements of the VWS documents we can establish a relation between real and virtual services. This way, we can create a cluster architecture like the one depicted in Fig. 2, where the cluster s principal node (a VWS engine) will be the one in charge of receiving client requests and distributing the workload across cluster nodes (web service providers). According to this structure, if a provider (a cluster node) fails, the VWS engine will redistribute pending invocation requests, and the operative nodes in the cluster should take charge of unassigned workload. This way, the whole cluster continuity can be guaranteed. However, there are still some problems to solve. How can we accomplish such a load balancing system? How can we deal with a planned or unplanned node outage? How can we select the most suitable provider in each moment? Next sections will provide answers to these questions. 4.1 Building a Web-Services-Based Cluster Let us suppose that we have a web service (WS1), with a method (M1). If we want WS1 to be a highly available web service, we must deploy it to a cluster. The deployment process requires the web service to be deployed to each one of the nonprincipal nodes in the cluster. This way, more than one instance of the web service can be used, and these instances can be executed at different nodes. All of them are said to be equivalent. To get our VWS engine up and running we must create a VWS document to define a virtual web service (VWS1) that would contain, at least, a virtual method (VM1) (it is important to note that clients do not use the VWS documents to perform the binding; they use a standard WSDL document derived from the VWS document). Inside the VWS document, we must specify how the virtual method execution should be accomplished. We need to include, at least, three XML elements inside the VWS
6 6 Julio Fernández Vilas, José Pazos Arias, Ana Fernández Vilas document: a service element describing the service; a method element that describes the method we want to publish (including its input and output elements); and one or more invoke elements. These invoke elements are the ones in charge of describing how and where the method implementation must be made. When a method execution request for the VM1 method arrives to the VWS engine, the engine must select the most suitable provider in order to complete the request. Once a provider has been selected, a real service (implementation service) will be invoked sending it input parameters as needed. After service execution, the engine will receive the return parameters from the real service and it will send them back to the client application. For the whole cluster to run accurately, the VWS engine has to decide which provider node would be the most suitable to perform an execution. The engine should use some selection criteria in order to maximize cluster performance. 4.2 Node Selection After the VWS engine receives a request, the engine must select a cluster node that can accomplish the invocation request. To do it, the engine will examine the content of the method element included in a VWS document describing the virtual service. Among the providers detailed in the invoke elements (included in the method element), the VWS engine will choose the best prior to each real service invocation. This concept, the best, is a concept that can change along time. Our virtualization model proposes the use of expressions to select the most appropriate provider prior to each invocation. Each method element inside a VWS document should include an expression. This expression must reflect which the priorities are when a provider has to be selected. Let us consider expression (1) 0.7*A+0.3*R (1) where A is the availability and R is the response-time, and they represent historical data about a given web service. Prior to a web service invocation, the VWS engine must compute the values associated with all services specified in the invoke elements inside a method element; then compare all result values and, finally, invoke the service with the highest score. In order to unify scales, ranges and units for all variables used in an expression, the function adjust can be used. In addition, for variables whose minimum values represent a maximum scoring, the function reverseadjust is available. An example (just a fragment of it) is shown in Fig. 3 (select element). 4.3 Complex expressions Two additional methods will allow writing complex expressions: complex variables and time-variables. A complex variable is a new variable that is created using a combination of simple ones. In expression (2), a variable defined as G is used to hold a value that represents a global score for a provider, using A, R, and another variable C that represents the current number of pending requests at the provider. On the other hand, time-variables allow writing expressions that involve present and past values of a variable. For example, expression (3) can be used to obtain a global qualification for a provider, where time is taken into account by using two
7 High Availability with Clusters of Web Services 7 global-score values (G i-1 and G i ), and a weighting factor (W) is used as an stabilization mechanism. G = 0.1*reverserAdjust(C) + 0.3*reverseAdjust(R) + 0.6*A (2) adjust (( W*G i-1 + G i ) / (W + 1)) (3) 4.4 External Variables Our virtualization model does not impose any kind of constraint when writing expressions or using variables, and so we can use external variables managed by an external entity. Let us suppose that we have a virtual service (VS1) and three providers (P1, P2, and P3), and they are selected using expression (4). To force the use of a given provider, we can use expression like (5). 0.4*reverseAdjust(R)+0.6*adjust(A) (4) updown*(0.4*reverseadjust(r)+0.6*adjust(a)) (5) The updown variable is an external variable, and so an external entity should provide so many values as providers are detailed inside the virtual method definition. At first, the updown variable should be created with value 1 for all the providers. If we want to stop using provider P2 as an implementer of VS1, we only need to change the value of updown and set it to zero. 5 Cluster Management 5.1 Cluster maintenance To succeed in having a 100% available system, methods that allow performing maintenance on the cluster must be available. When we need to perform any kind of maintenance, we meet with the need for stopping part of the system. If we want to stop a node without interrupting activity, we should use the updown variable. If we want to remove a node from the cluster, we must set the value of the updown variable to zero, and the node will stop receiving new execution requests. That is, the node enters a draining state, and when there are no pending requests, the node can be removed from the cluster. 5.2 Node Error Detection During normal cluster operation, errors can appear that can cause two different effects: increments in response time, and fatal errors like a node outage. The VWS engine is the element in charge of dealing with those kinds of errors. If the response time of a given node is increased more than usual, the normal operation of the engine should make that node to stop being used. This can be accomplished by adding a variable called R (response time) to all expressions. For example, using expression (4) providers with the lowest response time will always get a high qualification value, while providers with a high response time would stop
8 8 Julio Fernández Vilas, José Pazos Arias, Ana Fernández Vilas being selected for an invocation. If a node outage is detected, then the VWS engine should stop invoking services on that node. To deal with this situation the VWS engine must use the updown variable, like in expression (5). When does the provider can be used again? A simple procedure for dealing with this situation would consist on using a polling technique (PING or repetitive TCPopen). A most appropriate method consists on having a mechanism that allows the provider to send a notification to the engine, in order to notify the new state. VWS engines must provide a web service including a specific method (let us name it udport). Using udport, providers can notify its actual state. Moreover, the udport can also be used to stop a cluster node (by modifying the updown variable value). 5.3 Scalability Scalability problems are usually solved using two different types of solutions: vertical scalability, achieved by improving hardware configuration of the cluster nodes, and horizontal scalability, where new nodes can be added to the cluster. If we decide to use vertical scalability, we will find no problems when implementing virtualization, since web services are completely independent on the hardware infrastructure. If we decide to use horizontal scalability as a way to extend the whole cluster capacity, we must search for alternative cluster structures, when building virtual services. Our virtualization model sees the cluster as a tree, in which the root node is the VWS engine, and the provider nodes are leafs in that tree. The first way in we can extend a cluster consists on adding leafs to the tree (Fig. 4). Node 1 Node 1 Node 2a VWS Engine Node 2 VWS Engine N2 Engine Node 2b Node 3 Fig. 4. Horizontal Scalability. Node 3 Fig. 5. Hierarchical Scalability. The virtualization model also proposes another type of scalability: hierarchical scalability. With VWS, we can publish virtual web services and use them as if they were traditional (standard) web services. A virtual service implementation can be done using another virtual service, and so we can build cluster structures that contain intermediate nodes. According to this, the root node of the cluster would be a VWS engine, leaf nodes would be provider nodes, and intermediate nodes should be implemented as a mixture of both a root node and a leaf node. Intermediate nodes should behave as a root node in order to send requests to leaf nodes under it, and as a leaf node that receives requests from a root node. In Fig. 5 an expansion of Node 2 has caused the creation of an intermediate node and the addition of two new nodes. 6 Related Work Highly available web services are currently being implemented using application servers clusters (IIS+DCOM [9], WAS+EJB [10, 11]), but these clusters do not benefit of using web services inside the cluster itself, and so all nodes and all web services instances must have the same software infrastructure. There are also
9 High Availability with Clusters of Web Services 9 solutions like HAWS [12, 13] that focuses mainly on traditional Fault Tolerant hardware architecture (like zseries). All these solutions reach high availability by protecting only service implementation, instead of protecting the whole service itself. There are other architectures comparable to our virtualization model. They are centered in solving specific problems like providing centralized security mechanisms (WS-DBC [14]), or achieving protocol independence between client and provider (WS-Gateway, now part of WAS [10]). In all cases, the web services are treated as indivisible units, while our model allows managing methods (WSDL ports), parameters, and parameter types, in an independent way. 7 Conclusions and Further Work Using clusters of VWS, a high-availability-web-services infrastructure can be built. In addition to cluster benefits, we get additional benefits like building heterogeneous clusters (different node implementation), service implementation flexibility (independence between real and virtual), and the ability to build Internet-wide clusters. Some issues of our virtualization model are being studied: security issues in public (i.e. Internet) clusters and improvement of the node selection algorithms using aging models in order to improve the workload distribution mechanism. The VWS engine introduces some overhead inside the execution architecture, since requests must be received, processed, and routed to a cluster node. This overhead is not important compared with the benefits obtained with the cluster, since the main goal when using clusters is to achieve the highest availability, while achieving the lowest response time is less important, and it is a secondary goal. It has not been observed in this paper, since it is out of scope, but we wish to note that the availability of a principal node inside our virtualization model must be accomplished using redundant VWS engines and a network load balancer (like MNLB from CISCO [15], for instance) The virtualization technology has been developed as a part of a larger project called INES. Internet ENhanced Services (INES) is a project that defines an application architecture that will be the basis for a large-scale production environment for web services. The VWS technology is the base for other works that extend the use of our model. Regarding these other features of our model: We can use the VWS documents to build composite web services. This work is in progress, and we are defining a set of different types of invocations. Our goal is to develop a web services programming language (WSPL, as an extension of VWSDL) that supports basic programming structures (if-then-else, while-do, etc.) and advanced issues like callback, transaction support, or synchronism. VWS architecture enables building QoS-driven invocations, using a variablebased model that enables qualifying services and providers. Our proposed architecture also provides a way to implement Service Level Agreement support over standard web services architecture. Purposes like [16] (where measurements must be taken on the client or on the provider) or like [17] (where a centric measurement element cannot be implemented using the actual architecture), can be implemented using our intermediary-based architecture.
10 10 Julio Fernández Vilas, José Pazos Arias, Ana Fernández Vilas Unlike BPEL4WS [18], WSCI [19], or BPML[20], we propose VWSDL and a new architecture as a mechanism to give the web services technology new features like QoS, high availability, etc., not only process management. All these issues are solved using the same VWS technique, whose main feature is the compatibility with existing web services standards. That is, the virtualization technique and the new architecture can be implemented while maintaining compatibility with existing infrastructure and using the same resources. References 1. Steve Russell et al., High Availability without Clustering, IBM, 2001, 2. Gray, J. et al., High-availability computer systems, Computer, Volume 24, Issue 9, Sept. 1991, pp Rajkumar Buyya, High Performance Cluster Computing: Architectures and Systems, Prentice Hall, Armando Fox et al., Cluster-Based Scalable Network Services, Symposium on Operating Systems Principles, 1997, pp Roberto Chinnici et al., Web Services Description Language (WSDL) Version 1.2, World Wide Web Consortium, 2002, 6. Booth et al., Web Services Architecture, W3C Working Draft, 2003, 7. J. Clark, S. DeRose XML Path Language (XPath) Version 1.0, W3C, 1999, 8. V. Apparao et al., Document Object Model (DOM) Level 2 Core Specification Version 1.0, W3C Recommendation, 1998, 9. Distributed Component Object Model, WebSphere Application Server, Enterprise JavaBeans, S/390 Division, High Availability Web Services, IBM and CISCO, 2000, 1.ibm.com/servers/eserver/zseries/networking/haws.html 13. High Availability with QoS, IBM and CISCO, 2000, 1.ibm.com/servers/eserver/zseries/library/specsheets/high_availability_qos.html 14. Securing Web Services with the Xtradyne WS-Domain Boundary Controller, 2003, MultiNode Load Balancing, Cisco Systems Inc., 2000, Sahai, A. et al., Automated SLA Monitoring for Web Services, 13 th IFIP/IEEE International Wokshop on Distributed Systems (DSOM 2002) pages Ludwig, H. et al., Web Service Level Agreement (WSLA) Language Specification, International Business Machines, August Curbera, F. et al., Business Process Execution Language for Web Services, May 2003, Arkin, A. et al., Web Service Choreography Interface 1.0 Specification, BEA, Intalio, SAP and Sun, June Arkin A. et al., Business Process Modelling Language (BPML) specification, BPMI, June 2002
Optimizing web services performance using cache
Paper: jc*-**-**-**** Optimizing web services performance using cache Julio Fernandez Vilas, Ana Fernandez Vilas, Jose Pazos Arias Campus Universitario s/n, 36200 Vigo, Spain E-mail: {jfvilas,ana.vilas,jose}@det.uvigo.es
More informationIntroduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
More informationService-Oriented Architectures
Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems
More informationChapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.
Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component
More informationClassic Grid Architecture
Peer-to to-peer Grids Classic Grid Architecture Resources Database Database Netsolve Collaboration Composition Content Access Computing Security Middle Tier Brokers Service Providers Middle Tier becomes
More informationChapter 1 - Web Server Management and Cluster Topology
Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management
More informationEnterprise Application Designs In Relation to ERP and SOA
Enterprise Application Designs In Relation to ERP and SOA DESIGNING ENTERPRICE APPLICATIONS HASITH D. YAGGAHAVITA 20 th MAY 2009 Table of Content 1 Introduction... 3 2 Patterns for Service Integration...
More informationChallenges and Opportunities for formal specifications in Service Oriented Architectures
ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute
More informationOracle Service Bus Examples and Tutorials
March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan
More informationLinuxWorld Conference & Expo Server Farms and XML Web Services
LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware
More informationHigh Performance Cluster Support for NLB on Window
High Performance Cluster Support for NLB on Window [1]Arvind Rathi, [2] Kirti, [3] Neelam [1]M.Tech Student, Department of CSE, GITM, Gurgaon Haryana (India) arvindrathi88@gmail.com [2]Asst. Professor,
More informationWeb Application Development for the SOA Age Thinking in XML
Web Application Development for the SOA Age Thinking in XML Enterprise Web 2.0 >>> FAST White Paper August 2007 Abstract Whether you are building a complete SOA architecture or seeking to use SOA services
More informationResearch on the Model of Enterprise Application Integration with Web Services
Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business
More informationWebSphere ESB Best Practices
WebSphere ESB Best Practices WebSphere User Group, Edinburgh 17 th September 2008 Andrew Ferrier, IBM Software Services for WebSphere andrew.ferrier@uk.ibm.com Contributions from: Russell Butek (butek@us.ibm.com)
More informationDistributed Systems and Recent Innovations: Challenges and Benefits
Distributed Systems and Recent Innovations: Challenges and Benefits 1. Introduction Krishna Nadiminti, Marcos Dias de Assunção, and Rajkumar Buyya Grid Computing and Distributed Systems Laboratory Department
More informationA standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights
More informationSLA Business Management Based on Key Performance Indicators
, July 4-6, 2012, London, U.K. SLA Business Management Based on Key Performance Indicators S. Al Aloussi Abstract-It is increasingly important that Service Level Agreements (SLAs) are taken into account
More informationService-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
More informationSCA-based Enterprise Service Bus WebSphere ESB
IBM Software Group SCA-based Enterprise Service Bus WebSphere ESB Soudabeh Javadi, WebSphere Software IBM Canada Ltd sjavadi@ca.ibm.com 2007 IBM Corporation Agenda IBM Software Group WebSphere software
More informationDependability in Web Services
Dependability in Web Services Christian Mikalsen chrismi@ifi.uio.no INF5360, Spring 2008 1 Agenda Introduction to Web Services. Extensible Web Services Architecture for Notification in Large- Scale Systems.
More informationInternationalization and Web Services
Internationalization and Web Services 25 th Internationalization and Unicode Conference Presented by Addison P. Phillips Director, Globalization Architecture webmethods, Inc. 25 th Internationalization
More informationIntroduction into Web Services (WS)
(WS) Adomas Svirskas Agenda Background and the need for WS SOAP the first Internet-ready RPC Basic Web Services Advanced Web Services Case Studies The ebxml framework How do I use/develop Web Services?
More informationAutomating Rich Internet Application Development for Enterprise Web 2.0 and SOA
Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Enterprise Web 2.0 >>> FAST White Paper November 2006 Abstract Modern Rich Internet Applications for SOA have to cope with
More informationCOMPARISON OF VMware VSHPERE HA/FT vs stratus
COMPARISON OF VMware VSHPERE HA/FT vs stratus ftserver SYSTEMS White Paper 2 Ensuring Availability of Virtualized Business-Critical Applications in an Always-On World Introduction Virtualization has become
More informationWeb Service Testing. SOAP-based Web Services. Software Quality Assurance Telerik Software Academy http://academy.telerik.com
Web Service Testing SOAP-based Web Services Software Quality Assurance Telerik Software Academy http://academy.telerik.com The Lectors Snejina Lazarova Product Manager Talent Management System Dimo Mitev
More informationIntroduction to WebSphere Process Server and WebSphere Enterprise Service Bus
Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 Unit objectives
More informationAnalyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware
Analyses on functional capabilities of BizTalk Server, Oracle BPEL Process Manger and WebSphere Process Server for applications in Grid middleware R. Goranova University of Sofia St. Kliment Ohridski,
More informationHow To Use The Dcml Framework
DCML Framework Use Cases Introduction Use Case 1: Monitoring Newly Provisioned Servers Use Case 2: Ensuring Accurate Asset Inventory Across Multiple Management Systems Use Case 3: Providing Standard Application
More informationMotivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
More informationQoS Integration in Web Services
QoS Integration in Web Services M. Tian Freie Universität Berlin, Institut für Informatik Takustr. 9, D-14195 Berlin, Germany tian @inf.fu-berlin.de Abstract: With the growing popularity of Web services,
More informationService Virtualization: Managing Change in a Service-Oriented Architecture
Service Virtualization: Managing Change in a Service-Oriented Architecture Abstract Load balancers, name servers (for example, Domain Name System [DNS]), and stock brokerage services are examples of virtual
More informationSODDA A SERVICE-ORIENTED DISTRIBUTED DATABASE ARCHITECTURE
SODDA A SERVICE-ORIENTED DISTRIBUTED DATABASE ARCHITECTURE Breno Mansur Rabelo Centro EData Universidade do Estado de Minas Gerais, Belo Horizonte, MG, Brazil breno.mansur@uemg.br Clodoveu Augusto Davis
More informationA Survey Study on Monitoring Service for Grid
A Survey Study on Monitoring Service for Grid Erkang You erkyou@indiana.edu ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide
More informationORACLE ENTERPRISE MANAGER 10 g CONFIGURATION MANAGEMENT PACK FOR ORACLE DATABASE
ORACLE ENTERPRISE MANAGER 10 g CONFIGURATION MANAGEMENT PACK FOR ORACLE DATABASE CONFIGURATION MANAGEMENT PACK FEATURES Automated discovery of dependency relationships between services, systems and Oracle
More informationHow To Create A C++ Web Service
A Guide to Creating C++ Web Services WHITE PAPER Abstract This whitepaper provides an introduction to creating C++ Web services and focuses on:» Challenges involved in integrating C++ applications with
More informationIntroduction to Virtualization. Paul A. Strassmann George Mason University October 29, 2008, 7:20 to 10:00 PM
Introduction to Virtualization Paul A. Strassmann George Mason University October 29, 2008, 7:20 to 10:00 PM 1 Data Center Transformation 2 Scope of Virtualization Services 3 Virtualization Evolution 4
More informationOracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario
Oracle Service Bus Situation A service oriented architecture must be flexible for changing interfaces, transport protocols and server locations - service clients have to be decoupled from their implementation.
More informationEAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.
EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES Peter R. Egli INDIGOO.COM 1/16 Contents 1. EAI versus SOA versus ESB 2. EAI 3. SOA 4. ESB 5. N-tier enterprise architecture
More informationA Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus
A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus Karim M. Mahmoud 1,2 1 IBM, Egypt Branch Pyramids Heights Office Park, Giza, Egypt kmahmoud@eg.ibm.com 2 Computer
More informationInformix Dynamic Server May 2007. Availability Solutions with Informix Dynamic Server 11
Informix Dynamic Server May 2007 Availability Solutions with Informix Dynamic Server 11 1 Availability Solutions with IBM Informix Dynamic Server 11.10 Madison Pruet Ajay Gupta The addition of Multi-node
More informationLesson 18 Web Services and. Service Oriented Architectures
Lesson 18 Web Services and Service Oriented Architectures Service Oriented Architectures Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano A bit of history (1)
More informationAn Oracle White Paper May 2011. Oracle Tuxedo: An Enterprise Platform for Dynamic Languages
An Oracle White Paper May 2011 Oracle Tuxedo: An Enterprise Platform for Dynamic Languages Introduction Dynamic languages, also sometimes known as scripting languages, have been in existence for a long
More informationLesson 4 Web Service Interface Definition (Part I)
Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs
More informationARC VIEW. Stratus High-Availability Solutions Designed to Virtually Eliminate Downtime. Keywords. Summary. By Craig Resnick
ARC VIEW OCTOBER 23, 2014 Stratus High-Availability Solutions Designed to Virtually Eliminate Downtime By Craig Resnick Keywords Virtualization, High Availability, Fault Tolerant, Critical Process, Real-time
More informationEVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer
WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration Developer Web Age Solutions Inc. USA: 1-877-517-6540 Canada: 1-866-206-4644 Web: http://www.webagesolutions.com Chapter 6 - Introduction
More informationThe Service Availability Forum Specification for High Availability Middleware
The Availability Forum Specification for High Availability Middleware Timo Jokiaho, Fred Herrmann, Dave Penkler, Manfred Reitenspiess, Louise Moser Availability Forum Timo.Jokiaho@nokia.com, Frederic.Herrmann@sun.com,
More informationA Flexible Approach for Assessing Service Compatibility at Element Level
153-1 A Flexible Approach for Assessing Service Compatibility at Element Level Marcelo Yamashita, Karin Becker, Renata Galante Instituto de Informática - Universidade Federal do Rio Grande do Sul Porto
More informationGrid Data Integration based on Schema-mapping
Grid Data Integration based on Schema-mapping Carmela Comito and Domenico Talia DEIS, University of Calabria, Via P. Bucci 41 c, 87036 Rende, Italy {ccomito, talia}@deis.unical.it http://www.deis.unical.it/
More informationAn Oracle White Paper November 2009. Oracle Primavera P6 EPPM Integrations with Web Services and Events
An Oracle White Paper November 2009 Oracle Primavera P6 EPPM Integrations with Web Services and Events 1 INTRODUCTION Primavera Web Services is an integration technology that extends P6 functionality and
More informationCORPORATE NETWORKING
CORPORATE NETWORKING C. Pham Université de Pau et des Pays de l Adour Département Informatique http://www.univ-pau.fr/~cpham Congduc.Pham@univ-pau.fr Typical example of Ethernet local networks Mostly based
More informationThe Six Things You Need for More Efficient Network Management
The Six Things You Need for More Efficient Network Management Does your network management solution easily adapt to change or are you afraid to touch it for fear that something will break? Are you worried
More informationChapter 3. Enterprise Campus Network Design
Chapter 3 Enterprise Campus Network Design 1 Overview The network foundation hosting these technologies for an emerging enterprise should be efficient, highly available, scalable, and manageable. This
More informationREVIEW PAPER ON PERFORMANCE OF RESTFUL WEB SERVICES
REVIEW PAPER ON PERFORMANCE OF RESTFUL WEB SERVICES Miss.Monali K.Narse 1,Chaitali S.Suratkar 2, Isha M.Shirbhate 3 1 B.E, I.T, JDIET, Yavatmal, Maharashtra, India, monalinarse9990@gmail.com 2 Assistant
More informationUSING VIRTUAL MACHINE REPLICATION FOR DYNAMIC CONFIGURATION OF MULTI-TIER INTERNET SERVICES
USING VIRTUAL MACHINE REPLICATION FOR DYNAMIC CONFIGURATION OF MULTI-TIER INTERNET SERVICES Carlos Oliveira, Vinicius Petrucci, Orlando Loques Universidade Federal Fluminense Niterói, Brazil ABSTRACT In
More informationDealer Agent based Cloud Ecommerce Framework
Dealer Agent based Cloud Ecommerce Framework DivyaJyothi.Madhe Computer Engineering M.G.M. College of Engg. and Tech., Navi Mumbai, Maharashtra, India D.R.Ingle Computer Engineering Bharati Vidyapeeth
More informationWeb Services Advanced Topics
Web Services Advanced Topics Where things are now and where they are going Version 9 Web Services Advanced Topics WSAdvanced-2 Enterprise Web Services Industry trends and organizations Security and Reliability
More informationVertical Integration of Enterprise Industrial Systems Utilizing Web Services
Vertical Integration of Enterprise Industrial Systems Utilizing Web Services A.P. Kalogeras 1, J. Gialelis 2, C. Alexakos 1, M. Georgoudakis 2, and S. Koubias 2 1 Industrial Systems Institute, Building
More informationEnterprise IT Architectures SOA Part 2
Dr. Hans-Peter Hoidn Executive IT Architect, IBM Software Group Global Business Integration "Tiger" Team Enterprise IT Architectures SOA Part 2 SOA Reference Architecture 2 SOA Reference Model Strategy
More informationWebSphere Portal Server and Web Services Whitepaper
WebSphere Server and s Whitepaper Thomas Schaeck (schaeck@de.ibm.com) IBM Software Group Abstract As web services will become the predominant method for making information and applications available programmatically
More informationAquaLogic Service Bus
AquaLogic Bus Wolfgang Weigend Principal Systems Engineer BEA Systems 1 What to consider when looking at ESB? Number of planned business access points Reuse across organization Reduced cost of ownership
More informationChapter 10: Scalability
Chapter 10: Scalability Contents Clustering, Load balancing, DNS round robin Introduction Enterprise web portal applications must provide scalability and high availability (HA) for web services in order
More informationOracle SOA Suite Then and Now:
Oracle SOA Suite Then and Now: The Evolution from 10g to 11g Shane Goss Impac Services Agenda SOA Suite 11g New Features Highlight new features of SOA 11g Some products have added features and functionality
More informationHighly Available Service Environments Introduction
Highly Available Service Environments Introduction This paper gives a very brief overview of the common issues that occur at the network, hardware, and application layers, as well as possible solutions,
More informationApplication Centric Infrastructure Object-Oriented Data Model: Gain Advanced Network Control and Programmability
White Paper Application Centric Infrastructure Object-Oriented Data Model: Gain Advanced Network Control and Programmability What You Will Learn This document discusses application centric infrastructure
More informationIntroduction to WebSphere Administration
PH073-Williamson.book Page 1 Thursday, June 17, 2004 3:53 PM C H A P T E R 1 Introduction to WebSphere Administration T his book continues the series on WebSphere Application Server Version 5 by focusing
More informationSystem Models for Distributed and Cloud Computing
System Models for Distributed and Cloud Computing Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF Classification of Distributed Computing Systems
More informationService Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc. Mike.Rosen@Azoratech.com
Service Oriented Architecture Based Integration Mike Rosen CTO, AZORA Technologies, Inc. Mike.Rosen@Azoratech.com Mike Rosen ACCESS TO THE EXPERTS Consultant Chief Enterprise Architect for service and
More informationOn Engineering Web-based Enterprise Applications
On Engineering Web-based Enterprise Applications Srinivasa Narayanan, Subbu N. Subramanian, Manish Arya, and the Tavant Team Tavant Technologies 3101 Jay Street, Santa Clara, CA 95054 USA {srinivas.narayanan,
More informationVMDC 3.0 Design Overview
CHAPTER 2 The Virtual Multiservice Data Center architecture is based on foundation principles of design in modularity, high availability, differentiated service support, secure multi-tenancy, and automated
More informationFax Server Cluster Configuration
Fax Server Cluster Configuration Low Complexity, Out of the Box Server Clustering for Reliable and Scalable Enterprise Fax Deployment www.softlinx.com Table of Contents INTRODUCTION... 3 REPLIXFAX SYSTEM
More informationJavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
More informationA Peer-to-Peer Approach to Content Dissemination and Search in Collaborative Networks
A Peer-to-Peer Approach to Content Dissemination and Search in Collaborative Networks Ismail Bhana and David Johnson Advanced Computing and Emerging Technologies Centre, School of Systems Engineering,
More informationExtend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
More informationTowards Management of SLA-Aware Business Processes Based on Key Performance Indicators
Towards Management of SLA-Aware Business Processes Based on Key Performance Indicators Branimir Wetzstein, Dimka Karastoyanova, Frank Leymann Institute of Architecture of Application Systems, University
More informationSo You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO
So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise Eric Newcomer, CTO Overview First of all: concepts and definitions Change your thinking about your IT environment Including organization
More informationLab 5 Explicit Proxy Performance, Load Balancing & Redundancy
Lab 5 Explicit Proxy Performance, Load Balancing & Redundancy Objectives The purpose of this lab is to demonstrate both high availability and performance using virtual IPs coupled with DNS round robin
More informationIntegration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems
Integration of Hotel Property Management Systems (HPMS) with Global Internet Reservation Systems If company want to be competitive on global market nowadays, it have to be persistent on Internet. If we
More informationClustering and Queue Replication:
Clustering & Queue Replication Clustering and Queue Replication: How WatchGuard XCS Provides Fully Redundant Messaging Security Technical Brief WatchGuard Technologies, Inc. Published: March 2011 Introduction
More informationSoftware Requirement Specification Web Services Security
Software Requirement Specification Web Services Security Federation Manager 7.5 Version 0.3 (Draft) Please send comments to: dev@opensso.dev.java.net This document is subject to the following license:
More informationUnderstanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX
APPENDIX A Introduction Understanding TCP/IP To fully understand the architecture of Cisco Centri Firewall, you need to understand the TCP/IP architecture on which the Internet is based. This appendix
More informationService Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
More informationScaling 10Gb/s Clustering at Wire-Speed
Scaling 10Gb/s Clustering at Wire-Speed InfiniBand offers cost-effective wire-speed scaling with deterministic performance Mellanox Technologies Inc. 2900 Stender Way, Santa Clara, CA 95054 Tel: 408-970-3400
More informationT-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm
T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm Based on slides by Sasu Tarkoma and Pekka Nikander 1 of 20 Contents Short review of XML & related specs
More informationA SOA visualisation for the Business
J.M. de Baat 09-10-2008 Table of contents 1 Introduction...3 1.1 Abbreviations...3 2 Some background information... 3 2.1 The organisation and ICT infrastructure... 3 2.2 Five layer SOA architecture...
More informationGetting Started with Service- Oriented Architecture (SOA) Terminology
Getting Started with - Oriented Architecture (SOA) Terminology Grace Lewis September 2010 -Oriented Architecture (SOA) is a way of designing, developing, deploying, and managing systems it is neither a
More informationSoftware-Defined Networks Powered by VellOS
WHITE PAPER Software-Defined Networks Powered by VellOS Agile, Flexible Networking for Distributed Applications Vello s SDN enables a low-latency, programmable solution resulting in a faster and more flexible
More informationRotorcraft Health Management System (RHMS)
AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center
More informationHow To Manage A Distributed Application
of E-Commerce Brokerage Services Jorge E. López de Vergara, Víctor A. Villagrá, Juan I. Asensio, José I. Moreno, Julio J. Berrocal. Dept. de Ingeniería de Sistemas Telemáticos Universidad Politécnica de
More information02267: Software Development of Web Services
02267: Software Development of Web Services Week 5 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2015 1 Recap XML Schema Complex
More informationChapter 2: Cloud Basics Chapter 3: Cloud Architecture
Chapter 2: Cloud Basics Chapter 3: Cloud Architecture Service provider s job is supplying abstraction layer Users and developers are isolated from complexity of IT technology: Virtualization Service-oriented
More informationK2 [blackpearl] deployment planning
K2 [blackpearl] deployment planning UNDERSTANDING THE DEPLOYMENT SCENARIOS AND OPTIONS December 14 This paper describes the various deployment scenarios of the K2 [blackpearl] software, and discusses when
More informationZenoss for Cisco ACI: Application-Centric Operations
Zenoss for Cisco ACI: Application-Centric Operations Introduction Zenoss is a systems management software company focused on the challenges of operating and helping ensure the delivery of large-scale IT
More informationTRILL Large Layer 2 Network Solution
TRILL Large Layer 2 Network Solution Contents 1 Network Architecture Requirements of Data Centers in the Cloud Computing Era... 3 2 TRILL Characteristics... 5 3 Huawei TRILL-based Large Layer 2 Network
More informationDecomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
More informationHigh Availability with Windows Server 2012 Release Candidate
High Availability with Windows Server 2012 Release Candidate Windows Server 2012 Release Candidate (RC) delivers innovative new capabilities that enable you to build dynamic storage and availability solutions
More informationContents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform
Part III: Component Architectures Natividad Martínez Madrid y Simon Pickin Departamento de Ingeniería Telemática Universidad Carlos III de Madrid {nati, spickin}@it.uc3m.es Introduction Contents Client-server
More informationHA for Enterprise Clouds: Oracle Solaris Cluster & OpenStack
HA for Enterprise Clouds: Oracle Solaris Cluster & OpenStack Eve Kleinknecht / Thorsten Frueauf Oracle Keywords: OpenStack, High Availability, Solaris, Solaris Cluster, Oracle Introduction: More and more
More informationPerformance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications
Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications by Samuel D. Kounev (skounev@ito.tu-darmstadt.de) Information Technology Transfer Office Abstract Modern e-commerce
More informationBeeple, B-Pel, Beepul? Understanding BPEL and Its Role in SOA
Beeple, B-Pel, Beepul? Understanding BPEL and Its Role in SOA presented by John Jay King King Training Resources john@kingtraining.com Download this paper and code examples from: http://www.kingtraining.com
More informationA Service Oriented Architecture for Managing Operational Strategies
A Service Oriented Architecture for Managing Operational Strategies Nektarios Gioldasis, Nektarios Moumoutzis, Fotis Kazasis, Nikos Pappas, and Stavros Christodoulakis Laboratory of Distributed Multimedia
More information