The Critical Choice of a Client/Server Architecture John M. Gallaugher Suresh C. Ramanathan
|
|
- Ethan Montgomery
- 8 years ago
- Views:
Transcription
1 The Critical Choice of a Client/Server Architecture John M. Gallaugher Suresh C. Ramanathan Payoff The architectural design of a client/server system affects the initial development cost, dayto-day transactional performance, ongoing maintenance costs, and long-term flexibility and scalability of the application. This article assesses the merits of two- and three-tier architectures to help IS managers choose an appropriate architecture for any given project. Introduction As organizations move up the learning curve from small-scale client/server projects toward mission-critical applications, performance expectations and uptime requirements increase correspondingly, as does the need to remain both flexible and scalable. In such a demanding scenario, the choice and implementation of an appropriate architecture is critical. Architecture affects all aspects of software design and engineering. Before deciding on the type of architecture, the architect considers the complexity of the application, the level of integration and interfacing required, the number of users, their geographical dispersion, the nature of networks, and the overall transactional needs of the application. An inappropriate architectural design or a flawed implementation can result in horrendous response times. The choice of architecture also affects the development time and the future flexibility and maintenance of the application. At the start of every client/server project, IS professionals must make the critical choice between a two-tier and three-tier architecture. This article defines the basic concepts of client/server architecture, describes two-tier and three-tier architectures, and analyzes their respective benefits and limitations. Differences in development efforts, flexibility, and ease of reuse are also compared to further aid IS managers in making the choice of an appropriate architecture for any given project. Overview of Client/Server Computing Despite massive press coverage, there is no clear definition of client/server computing. Client and server are software and not hardware entities. In its most fundamental form, client/server involves a software entity (client) making a specific request that is fulfilled by another software entity (server). Exhibit 1 illustrates the client/server exchange. The client process sends a request to the server. The server interprets the message and then attempts to fulfill the request. To fulfill the request, the server may have to refer to a knowledge source (e.g., data base),process data (e.g., perform calculations), control a peripheral, or make an additional request of another server. In many architectures, a client can make requests of multiple servers and a server can service multiple clients. Client/Server Transactions
2 It is important to understand that the relationship between client and server is a command/control relationship. In any given exchange, the client initiates the request and the server responds accordingly. A server cannot initiate dialog with clients. Because the client and server are software entities, they can be located on any appropriate hardware. A client process, for instance, could be resident on a network server hardware and request data from a server process running on another server hardware or even on a PC. In another scenario, the client and server processes can be located on the same physical hardware box. In fact, in the prototyping stage, a developer may choose to have both the presentation client and the data base server on the same PC hardware. The server can later be migrated (i.e., distributed) to a larger system for further preproduction testing after the bulk of the application logic and data structure development is complete. Although the client and server can be located on the same machine, this article focuses primarily on architectures used to create distributed applications, that is, those in which the client and server are on separate physical devices. A distributed application consists of separate parts that execute on different nodes of the network and cooperate to achieve a common goal. 98 The supporting infrastructure should also render the inherent complexity of distributed processing invisible to the end user. The client in a client/server architecture does not have to sport a Graphical User Interface; however, the mass commercialization of client/server has come about in large part because of the proliferation of graphical user interface (GUI) clients. Some client/server systems support highly specific functions such as print spooling (i.e., network print queues) or presentation services (i.e., X-Window). Although these special-purpose implementations are important, discussion here focuses mainly on the distributed client/server architectures that demand flexibility in functionality and enhanced graphical user interface (GUI). Types of Client/Server Architecture IS professionals considering a move to client/server computing, whether to replace existing systems or introduce entirely new systems, must determine which type of architecture to use. In the early 1980s, the American National Standards Institute (ANSI), in conjunction with the University of Minnesota, defined a three-layer architecture for building portable systems. This architecture divided data processing into presentation, processing (functionality logic), and data. Client/server architectures can be defined by how these components are split up among software entities and distributed on a network. A variety of ways exist for dividing these resources and implementing client/server architectures. Here the focus is on the most popular forms of implementation of two-tier and three-tier client/server computing systems. Two-Tier Architecture Although a two-tier client/server system can be architected in several ways, this section focuses on examining what is overwhelmingly the most common implementation. In this implementation, the three components of an application (i.e., presentation, processing, and data) are divided among two software entities or tiers: client application code and data base server. 98 M. Bever et al., Distributed Systems, OSF DCE and Beyond, in DCE The OSF Distributed Computing Environment, ed. A. Schill (New York: Springer-Verlag, 1993).
3 A robust client application development language and a versatile mechanism for transmitting client requests to the server are essential for a two-tier implementation. Presentation is handled exclusively by the client, processing is split between client and server, and data is stored on and accessed through the server. The PC client assumes the bulk of responsibility for application (functionality) logic with respect to the processing component, while the data base engine with its attendant integrity checks, query capabilities, and central repository functions handles data intensive tasks. In a data access topology (see Exhibit 2), a data engine would process requests sent from the clients. Currently, the language used in these requests is most typically a form of Structured Query Language. Sending structured query language (SQL) from client to server requires a tight linkage between the two layers. To send the Structured Query Language, the client must know the syntax of the server or have this translated by an API (application program interface). It must also know the location of the server, how the data is organized, and how the data is named. The request may take advantage of logic stored and processed on the server that centralizes global tasks such as validation, data integrity, and security. Data returned to the client can be manipulated at the client level for further subselection, business modeling, what-if analysis, and reporting. Data Access Topology for a Two-Tier Architecture; the Majority of Functional Logic Exists at the Client Level Advantages of a Two-Tier Environment. The most compelling advantage of a two-tier environment is application development speed. In most cases, a two-tier system can be developed in a small fraction of the time it would take to code a comparable but less-flexible legacy system. Using any one of a growing number of PC-based tools, a single developer can model data and populate a data base on a remote server, paint a user interface, create a client with application logic, and include data access routines. Most two-tier tools are also extremely robust. These environments support a variety of data structures, including several built-in procedures and functions, and insulate developers from many of the more mundane aspects of programming, such as memory management. Finally, these tools also lend themselves well to iterative prototyping and Rapid Application Development techniques, which can be used to ensure that the requirements of the users are accurately and completely met. Tools for developing two-tier client/server systems have allowed many IS organizations to attack their applications backlog and satisfy pent-up user demand by rapidly developing and deploying what are primarily smaller work group-based solutions. Two-tier architectures work well in relatively homogeneous environments with fairly static business rules. They are less suitable for dispersed, heterogeneous environments with rapidly changing rules. As such, relatively few IS organizations are using two-tier client/server architectures to provide cross-departmental or cross-platform enterprisewide solutions Making the Infrastructure Choices, Datamation, January 7, 1994.
4 screen
5 Disadvantages of a Two-Tier System. Because the bulk of application logic exists on the PC client, the two-tier architecture faces several potential version control and application redistribution problems. A change in business rules would require a change to the client logic in each application in a corporation's portfolio affected by the change. Modified clients would have to be redistributed through the network a potentially difficult task given the current lack of robust PC version control software and problems associated with upgrading PCs that are turned off or not docked to the network. System security in the two-tier environment can be complicated because a user may require a separate password for each structured query language (SQL) server accessed. The proliferation of end-user query tools can also compromise data base server security. The overwhelming majority of client/server applications developed today are designed without sophisticated middleware technologies that offer increased security. 100 Instead, end users are provided a password that gives them access to a data base. In many cases, this same password can be used to access the data base with data access tools available in most commercial PC spreadsheet and data base packages. Using such a tool, a user may be able to access otherwise hidden fields or tables and possibly corrupt data. Client tools and the structured query language (SQL) middleware used in two-tier environments are also highly proprietary, and the PC tools market is extremely volatile. The market for client/server tools seems to be changing at an increasingly unstable rate. In 1994, the developer of the leading client/server tool was purchased by a large data base firm, raising concern about the manufacturer's ability to continue to work cooperatively with Relational Data Base Management System vendors who compete with the parent company's products. 101 The number-two tool maker lost millions 102 and has been labeled as a takeover target. 103 The tool that received some of the brightest accolades in 1995 is supplied by a firm also in the midst of severe financial difficulties and management transition. 104 The volatility of the client/server tool market raises questions about the long-term viability of any proprietary tool an organization may commit to and complicates implementation of two-tier systems. A migration from one proprietary technology to another requires a firm to scrap much of its investment in application code because none of this code is portable from one tool to the next. Three-Tier Architecture The three-tier architecture (depicted in Exhibit 3) attempts to overcome some of the limitations of the two-tier scheme by separating presentation, processing, and data into separate, distinct software entities (i.e., tiers). The same types of tools can be used for presentation as were used in a two-tier environment, however, the tools are now dedicated to handling just the presentation. When calculations or data access is required by the presentation client, a call is made to a middle-tier functionality server. This tier performs calculations or makes requests as a client to additional servers. The middle-tier servers are 100 M. Dolgicer, When It's Time for a TP Monitor, Client/Server Today(March 1995). 101 T. Smith, Top Execs Tackle Tough Issues Debate Errupts Over Sybase's Gamble, Computer Reseller News (December 19, 1994). 102 M. Ricciuti, Gupta Ranges Further Afield with SQLBase, Info World 17(January 30, 1995). 103 D. Bartholomew, Oracle Hungry For Gupta Hostile Takeover a Possibility as Gupta Stock Tumbles, Information Week (August 1, 1994). 104 E. Heichler, Borland Sees Big Hit with Delphi Tool, Computer World(February 6, 1995).
6 typically coded in a highly portable, nonproprietary language such as C. Middle-tier functionality servers may be multithreaded and can be accessed by multiple clients, even those from separate applications. Three-Tier Architecture Most of the Logic Processing is Handled by Functionality Servers; Middle-Tier Code is Accessed and Utilized by Multiple Clients Although three-tier systems can be implemented using a variety of technologies, the calling mechanism from client to server in such a system is most typically the Remote Procedure Call, or remote procedure call. Because the bulk of two-tier implementations involve Structured Query Language messaging and most three-tier systems utilize remote procedure call, examination of the merits of these respective request/response mechanisms is warranted. Advantages of a Three-Tier Architecture. RPC calls from presentation client to middle-tier server provide greater overall system flexibility than the structured query language (SQL) calls made by clients in the two-tier architecture. This is because in an remote procedure call, the requesting client simply passes parameters needed for the request and specifies a data structure to accept returned values (if any). Unlike in most two-tier implementations, the three-tier presentation client is not required to speak structured query language (SQL). As such, the organization, names, or even the overall structure of the back-end data can be changed without requiring changes to PC-based presentation clients. Because Structured Query Language is no longer required, data can be organized hierarchically, relationally, or in object format. This added flexibility allows a firm to access legacy data and simplifies the introduction of new data base technologies. In addition to openness, several other advantages are presented by this architecture. Having separate software entities allows for the parallel development of individual tiers by application specialists. It should be noted that the skill sets required to develop client/server applications differ significantly from those needed to develop mainframe-based character systems. User interface (UI)creation, for example, requires an appreciation of platform and corporate UI standards, and data base design requires a commitment to and understanding of the enterprise's data model. Having experts focus on each of these three layers increases the overall quality of the final application. The three-tier architecture also provides for more-flexible resource allocation. Middletier functionality servers are highly portable and can be dynamically allocated and shifted as the needs of the organization change. Network traffic may be reduced by having functionality servers strip data to the precise structure required before distributing it to individual clients at the local area network (LAN) level. Multiple server requests and complex data access emanate from the middle tier instead of from the client, further decreasing traffic. Also, because PC clients are now dedicated solely to presentation, memory and disk storage requirements for PCs may be reduced. Modularly designed middle-tier code modules can be reused by several applications. Reusable logic reduces subsequent development efforts, minimizes the maintenance work load, and decreases migration costs when switching client applications. In addition, implementation platforms for three-tier systems such as the Open Software Foundation's
7 Distributed Computing Environment (OSF/DCE) offer a variety of additional features to support distributed applications development. These include integrated security, directory, and naming services; server monitoring and boot capabilities for supporting dynamic faulttolerance; and distributed time management for synchronizing systems across networks and separate time zones. Limitations of Three-Tier Architectures. There are of course drawbacks associated with a three-tier architecture. Current tools are relatively immature and require more complex third-generation Language (3GLs) for middle-tier server generation. Many tools have underdeveloped facilities for maintaining server libraries a potential obstacle for simplifying maintenance and promoting code reuse throughout an IS organization. More code in more places also increases the likelihood that a system failure will affect an application, so detailed planning with an emphasis on the reduction/elimination of critical-paths is essential. The three-tier model brings with it an increased need for network traffic management, server load balancing, and fault tolerance. For technically strong IS organizations servicing customers with rapidly changing environments, three-tier architectures can provide significant long-term gains through increased responsiveness to business climate changes, code reuse, maintainability, and ease of migration to new server platforms and development environments. Two- and Three-Tier Development Efforts Exhibit 4 illustrates the time to deployment for two-tier versus three-tier environments. Time to deployment is forecast in overall systems delivery time, not people hours. According to a Deloitte & Touche study, Rapid Application Development time is cited as one of the primary reasons firms chose to migrate to a client/server architecture. As such, strategic planning and platform decisions require an understanding of how development time relates to architecture and how development time changes as an IS organization gains experience in client/server. A Comparison of Time to Deployment for Two- and Three-Tier Architectures The first set of graphs in Exhibit 4 show the initial development effort forecast to create comparable distributed applications using the common two-tier and three-tier approaches previously discussed. The three-tier application takes much longer to develop primarily because of the complexity involved in coding the bulk of the application logic in a lowerlevel third-generation Language such as C and the difficulties associated with coordinating multiple independent software modules on disparate platforms. In contrast, the two-tier scheme allows the bulk of the application logic to be developed in a higher-level language within the same tool used to create the user interface. Subsequent development efforts (shown in the middle set of graphs)may see three-tier applications deployed with greater speed than two-tier systems. This is entirely due to the amount of middle-tier code that can be reused from previous applications. The speed advantage favoring the three-tier architecture results only if the three-tier application is able to use a sizable portion of existing logic. Experience indicates that these savings can be
8 significant, particularly in organizations requiring separate but closely related applications for various business units. Reuse is also high for organizations with a strong enterprise data model because data access code can be written once and reused whenever similar access needs arise across multiple applications. The degree of development time reduction on subsequent efforts grows as an organization deploys more client/server applications and develops a significant library of reusable, middle-tier application logic. The last comparison in Exhibit 4 makes the important case for code savings when migrating from one client development tool to another. As discussed previously, client tools are highly proprietary and code is not portable between the major vendor packages. In addition, the PC tools market is highly volatile and vendor shake outs and technical leapfrogging are commonplace. In a two-tier environment, IS organizations wishing to move from one PC-based client development platform to another must scrap their previous investment in application logic because most of this logic is written in the language of the proprietary tool. In the three-tier environment, this logic is written in a reusable middle tier, so the developer simply has to create the presentation and add Remote Procedure Call calls to the functionality layer. Flexibility in reusing existing middle-tier code also assists organizations that are developing applications for various PC client operating system platforms. Until recently few cross-platform client tool development environments existed, and most of today's cross-platform solutions are not considered best-of-breed. In a three-tier environment, the middle-tier functionality layer can be accessed by separate client tools on separate platforms. Coding application logic once in an accessible middle tier decreases the overall development time on the cross-platform solution and provides the organization greater flexibility in choosing the best tool on any given platform. Conclusion Two-tier architectures group the presentation component of data processing with most of the non-data base processing in a single client application. Although the robustness and ease of use of two-tier development tools dramatically decrease initial development time, IS organizations may pay a penalty when trying to update functionality simultaneously in a variety of systems, integrate systems, or migrate from a proprietary development tool. Three-tier architectures split the three processing layers into three distinct software entities. This architecture requires more planning and support, but it can reduce development and maintenance costs over the long term by leveraging code reuse and flexibility in product migration. Three-tier architectures are also the most vendor-neutral of the architectures considered and thus facilitate the integration of heterogeneous systems. In Shaping the Future: Business Design Through Information Technology (Cambridge MA: Harvard Business School Press, 1991), Peter Keen pointed out that a firm's long-term ability to compete is enabled or limited by the reach and range provided by the firm's technical architecture. His suggestions for defining a platform include selecting architectures that: Protect existing IT investments. Ensure the firm's ability to adopt new technologies. Provide integration of heterogeneous resources. Accommodate emerging standards embraced by a broad base of firms.
9 This discussion of popular client/server architectures exposes the weaknesses in the overwhelming majority of current client/server systems systems employing a two-tier architecture as they relate to Keen's platform selection criteria. Such systems may provide adequate work group-level systems that can be developed rapidly and employ empowering interfaces. However, such systems lack the openness, flexibility, scalability, and integration provided by three-tier systems. The case for deploying three-tier systems will strengthen over time as tools mature and momentum for vendor-neutral standards increases. In the meantime, research should focus on examining issues in migration from two-tier to threetier systems, operationalizing the conceptual graphs presented here as they relate to development time, and studying how the level of complexity in three-tier systems acts as a barrier to its widespread acceptance. Author Biographies John M. Gallaugher John M. Gallaugher is a doctoral student in management information systems at Syracuse University in Syracuse NY. His address is jmgallau@syr.edu. Suresh C. Ramanathan Suresh C. Ramanathan played a leadership role in pioneering client/server activities at the Aluminum Company of America in Pittsburgh PA. He can be reached at ramana01@ssw.alcoa.com.
10
11
12
This paper was presented at the 1996 CAUSE annual conference. It is part of the proceedings of that conference, "Broadening Our Horizons:
This paper was presented at the 1996 CAUSE annual conference. It is part of the proceedings of that conference, "Broadening Our Horizons: Information, Services, Technology -- Proceedings of the 1996 CAUSE
More informationClient/server is a network architecture that divides functions into client and server
Page 1 A. Title Client/Server Technology B. Introduction Client/server is a network architecture that divides functions into client and server subsystems, with standard communication methods to facilitate
More informationCOMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters
COMP5426 Parallel and Distributed Computing Distributed Systems: Client/Server and Clusters Client/Server Computing Client Client machines are generally single-user workstations providing a user-friendly
More informationICS 434 Advanced Database Systems
ICS 434 Advanced Database Systems Dr. Abdallah Al-Sukairi sukairi@kfupm.edu.sa Second Semester 2003-2004 (032) King Fahd University of Petroleum & Minerals Information & Computer Science Department Outline
More information13/10/2015. ACS 3907 E-Commerce. E-Commerce Design Architecture Part 1. Client/Server Architecture. Instructor: Kerry Augustine October 13 th 2015
ACS 3907 E-Commerce Instructor: Kerry Augustine October 13 th 2015 2014 Pearson Education, Inc. Publishing as Prentice Hall 1 E-Commerce Design Architecture Part 1 Client/server architecture Two-tier vs.
More informationUNIX AS AN APPLICATION SERVER IN A NETWORK OPERATING SYSTEM ENVIRONMENT
50-30-30 DATA COMMUNICATIONS MANAGEMENT UNIX AS AN APPLICATION SERVER IN A NETWORK OPERATING SYSTEM ENVIRONMENT Scott Koegler INSIDE Integrating with the Networking Environments, Network Server vs. Application
More informationCHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
More informationClient/Server Computing Distributed Processing, Client/Server, and Clusters
Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the
More informationApplication Consolidation
Application Consolidation As enterprises look for ways to reduce costs and simplify IT management, they often consider various approaches to server consolidation. Among them, application consolidation
More informationSoftware: Systems and Application Software
Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal
More informationChapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server
Chapter 3 Database Architectures and the Web Transparencies Database Environment - Objectives The meaning of the client server architecture and the advantages of this type of architecture for a DBMS. The
More informationWhat Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
More informationSession 11 : (additional) Cloud Computing Advantages and Disadvantages
INFORMATION STRATEGY Session 11 : (additional) Cloud Computing Advantages and Disadvantages Tharaka Tennekoon B.Sc (Hons) Computing, MBA (PIM - USJ) POST GRADUATE DIPLOMA IN BUSINESS AND FINANCE 2014 Cloud
More informationIT Architecture Review. ISACA Conference Fall 2003
IT Architecture Review ISACA Conference Fall 2003 Table of Contents Introduction Business Drivers Overview of Tiered Architecture IT Architecture Review Why review IT architecture How to conduct IT architecture
More informationAccessing Enterprise Data
Accessing Enterprise Data Mark Lochbihler Emily Wallace Candy Habich SAS Institute, Inc. SAS Institute, Inc. Eastman Chemical Company Abstract Every organization is faced with a set of common concerns
More information3-02-10 Realizing the Benefits of Client/Server Computing Peter M. Spenser
Payoff 3-02-10 Realizing the Benefits of Client/Server Computing Peter M. Spenser Whether an organization is planning for or attempting to manage a cooperative processing environment, IS managers have
More informationClient Server Architecture
Client Server Architecture Key concepts: - client server architecture - Functional requirements in the 2-tier structures - Functional distribution in the 2-tier structures - Implementation of Business
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 informationIntroduction to Network Management
Introduction to Network Management Chu-Sing Yang Department of Electrical Engineering National Cheng Kung University Outline Introduction Network Management Requirement SNMP family OSI management function
More informationObjectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation
Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed
More informationORACLE PLANNING AND BUDGETING CLOUD SERVICE
ORACLE PLANNING AND BUDGETING CLOUD SERVICE ENTERPRISE WIDE PLANNING, BUDGETING AND FORECASTING KEY FEATURES Multi-dimensional / multi user planning with a powerful business rules engine Flexible workflow
More informationMaking the Most of Your Enterprise Reporting Investment 10 Tips to Avoid Costly Mistakes
Making the Most of Your Enterprise Reporting Investment 10 Tips to Avoid Costly Mistakes Making the Most of Your Enterprise Reporting Investment 10 Tips to Avoid Costly Mistakes Charts, graphs, tables,
More informationSecuring Virtual Applications and Servers
White Paper Securing Virtual Applications and Servers Overview Security concerns are the most often cited obstacle to application virtualization and adoption of cloud-computing models. Merely replicating
More informationORACLE DATABASE 10G ENTERPRISE EDITION
ORACLE DATABASE 10G ENTERPRISE EDITION OVERVIEW Oracle Database 10g Enterprise Edition is ideal for enterprises that ENTERPRISE EDITION For enterprises of any size For databases up to 8 Exabytes in size.
More informationP R O D U C T P R O F I L E. Gridstore NASg: Network Attached Storage Grid
Gridstore NASg: Network Attached Storage Grid Scale-Out NAS for the SMB Market June 2010 Smart start-up Gridstore has announced their Networked Attached Storage grid product NASg. NASg offers powerful
More informationAgility has become a key initiative for business leaders. Companies need the capability
A ZK Research White Paper Influence and insight through social media Prepared by Zeus Kerravala March 2014 A Guide To Network Virtualization ZK Research Zeus Kerravala A Guide to BYOD Network And Virtualization
More informationOracle Identity Analytics Architecture. An Oracle White Paper July 2010
Oracle Identity Analytics Architecture An Oracle White Paper July 2010 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may
More informationA framework for web-based product data management using J2EE
Int J Adv Manuf Technol (2004) 24: 847 852 DOI 10.1007/s00170-003-1697-8 ORIGINAL ARTICLE M.Y. Huang Y.J. Lin Hu Xu A framework for web-based product data management using J2EE Received: 8 October 2002
More informationAzure Scalability Prescriptive Architecture using the Enzo Multitenant Framework
Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework Many corporations and Independent Software Vendors considering cloud computing adoption face a similar challenge: how should
More informationA Modular Approach to Teaching Mobile APPS Development
2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development
More informationDistributed Systems Architectures
Software Engineering Distributed Systems Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the advantages and disadvantages of different distributed systems
More informationChapter 16 Distributed Processing, Client/Server, and Clusters
Operating Systems: Internals and Design Principles Chapter 16 Distributed Processing, Client/Server, and Clusters Eighth Edition By William Stallings Table 16.1 Client/Server Terminology Applications Programming
More informationP u b l i c a t i o n N u m b e r : W P 0 0 0 0 0 0 0 4 R e v. A
P u b l i c a t i o n N u m b e r : W P 0 0 0 0 0 0 0 4 R e v. A FileTek, Inc. 9400 Key West Avenue Rockville, MD 20850 Phone: 301.251.0600 International Headquarters: FileTek Ltd 1 Northumberland Avenue
More informationWHITE PAPER Ten Things You Need to Know about Virtualization
WHITE PAPER WHITE PAPER Ten Things You Need to Know about Virtualization As many already know, virtualization is big, and it continues to grow in popularity. Users are now actively seeking complementary
More informationINTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS
INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS CLOUD COMPUTING Cloud computing is a model for enabling convenient, ondemand network access to a shared pool of configurable computing
More informationWHITE PAPER. Realizing the Value of Unified Communications
Realizing the Value of Unified Communications TABLE OF CONTENTS Executive Summary...3 Maximizing the Benefit of Unified Messaging...3 Why Should You Consider Unified Messaging?...3 Overview...3 The Challenges
More informationAS/400 System Overview
Chapter 1 AS/400 System Overview 1.1 Major Characteristics of AS/400 1.1.1 High Level of Integration 1.1.2 Object Orientation 1.1.3 Relational and Integrated Database 1.1.4 Data and Program Independence
More informationUnderstanding Client/Server Computing
Understanding Client/Server Computing By Will Fastie PC Magazine; "Enterprize Computing;" Back in the eighties when network equipment vendors first started to hawk their wares, the term client/server was
More informationChapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Architecture Chapter Outline Distributed transactions (quick
More informationWhat is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
What is Middleware? Application Application Middleware Middleware Operating System Operating System Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
More informationABSTRACT INTRODUCTION SOFTWARE DEPLOYMENT MODEL. Paper 341-2009
Paper 341-2009 The Platform for SAS Business Analytics as a Centrally Managed Service Joe Zilka, SAS Institute, Inc., Copley, OH Greg Henderson, SAS Institute Inc., Cary, NC ABSTRACT Organizations that
More informationPurpose-Built Load Balancing The Advantages of Coyote Point Equalizer over Software-based Solutions
Purpose-Built Load Balancing The Advantages of Coyote Point Equalizer over Software-based Solutions Abstract Coyote Point Equalizer appliances deliver traffic management solutions that provide high availability,
More informationChapter 1 Introduction to Enterprise Software
Chapter 1 Introduction to Enterprise Software What Is Enterprise Software? Evolution of Enterprise Software Enterprise Software and Component-Based Software Summary If you have heard of terms such as
More informationHigh-Volume Data Warehousing in Centerprise. Product Datasheet
High-Volume Data Warehousing in Centerprise Product Datasheet Table of Contents Overview 3 Data Complexity 3 Data Quality 3 Speed and Scalability 3 Centerprise Data Warehouse Features 4 ETL in a Unified
More informationEnterprise Workloads on the IBM X6 Portfolio: Driving Business Advantages
WHITE PAPER Enterprise Workloads on the IBM X6 Portfolio: Driving Business Advantages Sponsored by: IBM Jed Scaramella January 2014 EXECUTIVE SUMMARY Enterprise information technology (IT) leaders are
More informationCloud Based Application Architectures using Smart Computing
Cloud Based Application Architectures using Smart Computing How to Use this Guide Joyent Smart Technology represents a sophisticated evolution in cloud computing infrastructure. Most cloud computing products
More informationChapter 2: Remote Procedure Call (RPC)
Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC
More informationDISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study
DISTRIBUTED SYSTEMS AND CLOUD COMPUTING A Comparative Study Geographically distributed resources, such as storage devices, data sources, and computing power, are interconnected as a single, unified resource
More informationSoftware design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
More informationEnsuring Web Service Quality for Service-Oriented Architectures. An Oracle White Paper June 2008
Ensuring Web Service Quality for Service-Oriented Architectures An Oracle White Paper June 2008 Ensuring Web Service Quality for Service-Oriented Architectures WEB SERVICES OFFER NEW OPPORTUNITIES AND
More informationModule 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur
Module 17 Client-Server Software Development Lesson 42 CORBA and COM/DCOM Specific Instructional Objectives At the end of this lesson the student would be able to: Explain what Common Object Request Broker
More informationBase One's Rich Client Architecture
Base One's Rich Client Architecture Base One provides a unique approach for developing Internet-enabled applications, combining both efficiency and ease of programming through its "Rich Client" architecture.
More informationInternet and Web-Based Database Technology
Internet and Web-Based Database Technology Amjad A. Abdullat Computer Information Systems Department West Texas A&M University Canyon, Texas 79016 Abstract The demand for data-intensive Web sites is driving
More informationTABLE OF CONTENTS THE SHAREPOINT MVP GUIDE TO ACHIEVING HIGH AVAILABILITY FOR SHAREPOINT DATA. Introduction. Examining Third-Party Replication Models
1 THE SHAREPOINT MVP GUIDE TO ACHIEVING HIGH AVAILABILITY TABLE OF CONTENTS 3 Introduction 14 Examining Third-Party Replication Models 4 Understanding Sharepoint High Availability Challenges With Sharepoint
More informationThe Role of the Operating System in Cloud Environments
The Role of the Operating System in Cloud Environments Judith Hurwitz, President Marcia Kaufman, COO Sponsored by Red Hat Cloud computing is a technology deployment approach that has the potential to help
More informationbe architected pool of servers reliability and
TECHNICAL WHITE PAPER GRIDSCALE DATABASE VIRTUALIZATION SOFTWARE FOR MICROSOFT SQL SERVER Typical enterprise applications are heavily reliant on the availability of data. Standard architectures of enterprise
More informationEnterprise Application Integration
Enterprise Integration By William Tse MSc Computer Science Enterprise Integration By the end of this lecturer you will learn What is Enterprise Integration (EAI)? Benefits of Enterprise Integration Barrier
More informationOracle Application Development Framework Overview
An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services
More informationThe GeoMedia Architecture Advantage. White Paper. April 2002. The GeoMedia Architecture Advantage Page 1
The GeoMedia Architecture Advantage White Paper April 2002 The GeoMedia Architecture Advantage Page 1 Introduction What is wrong with GIS? GIS is primarily about data not software. Data should be independent
More informationTier Architectures. Kathleen Durant CS 3200
Tier Architectures Kathleen Durant CS 3200 1 Supporting Architectures for DBMS Over the years there have been many different hardware configurations to support database systems Some are outdated others
More informationArchitecture Example Point-to-point wire
Class Announcements TIM 50 - Business Information Systems Lecture 10 Midterm Tuesday 5/5 Study guide posted Instructor: John Musacchio UC Santa Cruz Feb. 5, 2015 Time sharing Architecture Example Point-to-point
More informationThe Power of Analysis Framework
All too often, users must create real-time planning and analysis reports with static and inconsistent sources of information. Data is locked in an Excel spreadsheet or a rigidly customized application
More information4-04-60 Enterprise Computing Strategies Brian Jeffery
4-04-60 Enterprise Computing Strategies Brian Jeffery Payoff Few companies can afford the continuously escalating costs and implementation delays associated with first-generation client/server strategies.
More informationHow To Understand The Concept Of A Distributed System
Distributed Operating Systems Introduction Ewa Niewiadomska-Szynkiewicz and Adam Kozakiewicz ens@ia.pw.edu.pl, akozakie@ia.pw.edu.pl Institute of Control and Computation Engineering Warsaw University of
More informationDistributed System: Definition
Distributed System: Definition A distributed system is a piece of software that ensures that: A collection of independent computers that appears to its users as a single coherent system Two aspects: (1)
More informationSystem types. Distributed systems
System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors
More informationClient/Server and Distributed Computing
Adapted from:operating Systems: Internals and Design Principles, 6/E William Stallings CS571 Fall 2010 Client/Server and Distributed Computing Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Traditional
More informationThe Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets
The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets!! Large data collections appear in many scientific domains like climate studies.!! Users and
More informationDeploying a distributed data storage system on the UK National Grid Service using federated SRB
Deploying a distributed data storage system on the UK National Grid Service using federated SRB Manandhar A.S., Kleese K., Berrisford P., Brown G.D. CCLRC e-science Center Abstract As Grid enabled applications
More informationEnd-to-End Testing of IT Architecture and Applications
TP322, 06/02 End-to-End Testing of IT Architecture and Applications Jeffrey Bocarsly Division Manager, Automated Functional Testing RTTS Johanthan Harris Division Manager, Scalability Testing RTTS Bill
More informationStorage Guardian Remote Backup Restore and Archive Services
Storage Guardian Remote Backup Restore and Archive Services Storage Guardian is the unique alternative to traditional backup methods, replacing conventional tapebased backup systems with a fully automated,
More informationENZO UNIFIED SOLVES THE CHALLENGES OF OUT-OF-BAND SQL SERVER PROCESSING
ENZO UNIFIED SOLVES THE CHALLENGES OF OUT-OF-BAND SQL SERVER PROCESSING Enzo Unified Extends SQL Server to Simplify Application Design and Reduce ETL Processing CHALLENGES SQL Server does not scale out
More informationZend and IBM: Bringing the power of PHP applications to the enterprise
Zend and IBM: Bringing the power of PHP applications to the enterprise A high-performance PHP platform that helps enterprises improve and accelerate web and mobile application development Highlights: Leverages
More informationService Oriented Architectures
8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history
More informationMEng, BSc Applied Computer Science
School of Computing FACULTY OF ENGINEERING MEng, BSc Applied Computer Science Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions
More informationM.Sc. IT Semester III VIRTUALIZATION QUESTION BANK 2014 2015 Unit 1 1. What is virtualization? Explain the five stage virtualization process. 2.
M.Sc. IT Semester III VIRTUALIZATION QUESTION BANK 2014 2015 Unit 1 1. What is virtualization? Explain the five stage virtualization process. 2. What are the different types of virtualization? Explain
More informationDatamation. Find the Right Cloud Computing Solution. Executive Brief. In This Paper
Find the Right Cloud Computing Solution In This Paper There are three main cloud computing deployment models: private, public, and hybrid The true value of the cloud is achieved when the services it delivers
More informationVersion 14.0. Overview. Business value
PRODUCT SHEET CA Datacom Server CA Datacom Server Version 14.0 CA Datacom Server provides web applications and other distributed applications with open access to CA Datacom /DB Version 14.0 data by providing
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 informationPIVOTAL CRM ARCHITECTURE
WHITEPAPER PIVOTAL CRM ARCHITECTURE Built for Enterprise Performance and Scalability WHITEPAPER PIVOTAL CRM ARCHITECTURE 2 ABOUT Performance and scalability are important considerations in any CRM selection
More informationSoftware. PowerExplorer. Information Management and Platform DATA SHEET
DATA SHEET PowerExplorer Software Information Management and Platform KEY FEATURES Web-enabled Advanced, ad-hoc query capabilities Spatial E&P data presentation ZGF file import/export Spatializer Tabular
More informationORACLE HYPERION DATA RELATIONSHIP MANAGEMENT
Oracle Fusion editions of Oracle's Hyperion performance management products are currently available only on Microsoft Windows server platforms. The following is intended to outline our general product
More informationBest Practices for Installing and Configuring the Captaris RightFax 9.3 Shared Services Module
WHITE PAPER Best Practices for Installing and Configuring the Captaris RightFax 9.3 Shared Services Module Taking Advantage of Multiple RightFax Servers Sharing a Single Database PREFACE Captaris has created
More informationVirtual Operational Data Store (VODS) A Syncordant White Paper
Virtual Operational Data Store (VODS) A Syncordant White Paper Table of Contents Executive Summary... 3 What is an Operational Data Store?... 5 Differences between Operational Data Stores and Data Warehouses...
More informationThe EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.
The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide
More informationMichigan Criminal Justice Information Network (MiCJIN) State of Michigan Department of Information Technology & Michigan State Police
Michigan Criminal Justice Information Network (MiCJIN) State of Michigan Department of Information Technology & Michigan State Police NASCIO 2005 Recognition Awards Enterprise Architecture Category Executive
More informationDistributed Database Management Systems for Information Management and Access
464 Distributed Database Management Systems for Information Management and Access N Geetha Abstract Libraries play an important role in the academic world by providing access to world-class information
More informationEMC Backup and Recovery for Microsoft SQL Server 2008 Enabled by EMC Celerra Unified Storage
EMC Backup and Recovery for Microsoft SQL Server 2008 Enabled by EMC Celerra Unified Storage Applied Technology Abstract This white paper describes various backup and recovery solutions available for SQL
More informationModernizing enterprise application development with integrated change, build and release management.
Change and release management in cross-platform application modernization White paper December 2007 Modernizing enterprise application development with integrated change, build and release management.
More informationCUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series www.cumulux.com
` CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS Review Business and Technology Series www.cumulux.com Table of Contents Cloud Computing Model...2 Impact on IT Management and
More informationSage Intergy 6.10 Architecture Guide
Reference Confidential This document and the information it contains are the confidential information of Sage. Neither this document nor the information it contains may be disclosed to any third party
More informationA Technology Based Solution to Move Client Server Applications to Java /.NET in Native 3-Tier Web Code Structures
A Technology Based Solution to Move Client Server Applications to Java /.NET in Native 3-Tier Web Code Structures Accelerated Application Modernization (AAM) Page 1 of 16 Table of Contents TABLE OF CONTENTS...
More informationBusiness Applications and Infrastructure Entwined
Markets, S. Hayward, B. Burton, J. Comport, Y. Genovese, T. Bittman Research Note 9 July 2003 Business and Infrastructure Entwined Oracle's bid for PeopleSoft encompasses more than applications. It illustrates
More informationIMPLEMENTING AND SUPPORTING EXTRANETS
87-10-18 DATA SECURITY MANAGEMENT IMPLEMENTING AND SUPPORTING EXTRANETS Phillip Q. Maier INSIDE Extranet Architectures; Router-Based Extranet Architecture; Application Gateway Firewalls; Scalability; Multi-homed
More informationSpreadsheet Simulation
Spreadsheet Simulation Development and Business Benefits Arvind Waghmare Consultant - Modeling, COE - Simulation & TOPSIM Tata Interactive Systems Abstract/Introduction Using simulations as a medium of
More informationEnterprise Single Sign-On SOS. The Critical Questions Every Company Needs to Ask
Enterprise Single Sign-On SOS The Critical Questions Every Company Needs to Ask Enterprise Single Sign-On: The Critical Questions Every Company Needs to Ask 1 Table of Contents Introduction 2 Application
More informationVicom Data Migration Engine. An Indispensable Tool for Storage Vendors and Professional Services Organizations. A white paper from Vicom Systems, Inc.
Vicom Data Migration Engine An Indispensable Tool for Storage Vendors and Professional Services Organizations A white paper from Vicom Systems, Inc. Table of Contents Executive Summary The Data Migration
More informationwhitepaper Absolute Manage: Client Management Managing Macs in a Windows Environment
Absolute Manage: Client Management Intelligent, Automated, Cross-Platform Management of All Your Computers if you can buy one, and only one set of tools for managing your Mac network, Absolute Manage would
More informationzen Platform technical white paper
zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant
More information