Logo

Navigation
  • Home
  • Services
    • ERP Solutions
    • Implementation Solutions
    • Support and Maintenance Solutions
    • Custom Solutions
    • Upgrade Solutions
    • Training and Mentoring
    • Web Solutions
    • Production Support
    • Architecture Designing
    • Independent Validation and Testing Services
    • Infrastructure Management
  • Expertise
    • Microsoft Development Expertise
    • Mobile Development
    • SQL Server Database and BI
    • SAP BI, SAP Hana, SAP BO
    • Oracle and BI
    • Oracle RAC
  • Technical Training
    • Learn Data Management
      • Business Intelligence
      • Data Mining
      • Data Modeling
      • Data Warehousing
      • Disaster Recovery
    • Learn Concepts
      • Application Development
      • Client Server
      • Cloud Computing Tutorials
      • Cluster Computing
      • CRM Tutorial
      • EDI Tutorials
      • ERP Tutorials
      • NLP
      • OOPS
      • Concepts
      • SOA Tutorial
      • Supply Chain
      • Technology Trends
      • UML
      • Virtualization
      • Web 2.0
    • Learn Java
      • JavaScript Tutorial
      • JSP Tutorials
      • J2EE
    • Learn Microsoft
      • MSAS
      • ASP.NET
      • ASP.NET 2.0
      • C Sharp
      • MS Project Training
      • Silverlight
      • SQL Server 2005
      • VB.NET 2005
    • Learn Networking
      • Networking
      • Wireless
    • Learn Oracle
      • Oracle 10g
      • PL/SQL
      • Oracle 11g Tutorials
      • Oracle 9i
      • Oracle Apps
    • Learn Programming
      • Ajax Tutorial
      • C Language
      • C++ Tutorials
      • CSS Tutorial
      • CSS3 Tutorial
      • JavaScript Tutorial
      • jQuery Tutorial
      • MainFrame
      • PHP Tutorial
      • VBScript Tutorial
      • XML Tutorial
    • Learn Software Testing
      • Software Testing Types
      • SQA
      • Testing
  • Career Training
    • Career Improvement
      • Career Articles
      • Certification Articles
      • Conflict Management
      • Core Skills
      • Decision Making
      • Entrepreneurship
      • Goal Setting
      • Life Skills
      • Performance Development
      • Personal Excellence
      • Personality Development
      • Problem Solving
      • Relationship Management
      • Self Confidence
      • Self Supervision
      • Social Networking
      • Strategic Planning
      • Time Management
    • Education Help
      • Career Tracks
      • Essay Writing
      • Internship Tips
      • Online Education
      • Scholarships
      • Student Loans
    • Managerial Skills
      • Business Communication
      • Business Networking
      • Facilitator Skills
      • Managing Change
      • Marketing Management
      • Meeting Management
      • Process Management
      • Project Management
      • Project Management Life Cycle
      • Project Management Process
      • Project Risk Management
      • Relationship Management
      • Task Management
      • Team Building
      • Virtual Team Management
    • Essential Life Skills
      • Anger Management
      • Anxiety Management
      • Attitude Development
      • Coaching and Mentoring
      • Emotional Intelligence
      • Stress Management
      • Positive Thinking
    • Communication Skills
      • Conversation Skills
      • Cross Culture Competence
      • English Vocabulary
      • Listening Skills
      • Public Speaking Skills
      • Questioning Skills
    • Soft Skills
      • Assertive Skills
      • Influence Skills
      • Leadership Skills
      • Memory Skills
      • People Skills
      • Presentation Skills
    • Finding a Job
      • Etiquette Tips
      • Group Discussions
      • HR Interviews
      • Interview Notes
      • Job Search Tips
      • Resume Tips
      • Sample Resumes
 

Client-Server Computing : Butler Model

By Exforsys | on July 3, 2007 |
Client Server

Client-Server Computing : Butler Model

How to Use Client Servers in the Business Environment

This article will discuss the Butler pyramid model of client-server computing in an attempt to provide a metaphor for understanding the most effective way of using client-server resources in a business environment. This five-layered model is also known as the Butler Group VAL (Value Added Layers) Model.

I will describe each of the layers and their function in an integrated client-server architecture. To expand this discussion on architecture, we will describe the four main client-server application models. We will summarize with conclusions.

Butler Pyramid Model of Client-Server Computing

The Butler pyramid model of client-server computing was developed as a metaphor with which to visualize the necessary components for effective client-server integration.

The bottom of the pyramid, the base, is infrastructure. This is Layer 1. This layer is made up of all the technological components that don’t directly perform business function but enable them passively. Operating systems, networks, user interfaces and database management systems (DBMS) are the broadest level or floor level. It encompasses the technology interacted with by most employees at all levels. It’s the layer IT managers are most familiar with.

Layer 2 is the middleware level. It is above the infrastructure layer and adds value through specialization. Middleware is the general term for programming that allows transparent communication between pre-existing applications. It provides messaging services so that applications can communicate. For example, a program can be written for one database in a way that also allows access to other databases, thereby multiplying its usefulness. The same program can provide communication between multiple databases by multiple users. The tying together of different components through middleware is known as enterprise application integration (EAI). It provides a means of mapping applications to specific resources to perform specific tasks. Middleware typically monitors and supports database connections and network connections.

Examples of different middleware applications include ones that offer database access technology, like ODBC (Open Database Connectors). Another one is Java’s database connectivity API (Application Programming Interface) or JDBC. There are also remote computation products, like ONC RPC (Open Network Computing Remote Procedure Call). Remote procedure call is a protocol by which one computer can request a service from another computer in a network without requiring full knowledge of network details. Other remote computation products are OSF RPC (Open Software Foundation Remote Procedure Call) and Java’s RMI (Remote Method Invocation). Other products include DCE (Distributed Computing Environments) products, CORBA (Common Object Request Broker Architecture), and DCOM (Distributed Component Object Model).

Layer 3 is more dense and specialized than Layer 2. Remember the layers keep decreasing in size as they increase in number. However, they keep increasing in specialization. Layer 3 contains applications. This is the layer that actively manipulates data and executes business functions. Companies usually invest a lot of money on applications. Unfortunately, some of this expense is superfluous because unneeded applications come as a part of software packages. However, in client-server models applications can be chosen from a variety of vendors to suit the company’s specific needs. Competitiveness is enhanced by this kind of in-house application development.

Layer 4 is the repository. This is the layer separating the business model or strategy from the technology that executes it. It is the location that stores and maintains multiple databases over a network. These are the networks and databases that run from the infrastructure to the top level.

The top level, Layer 5, is the business model level. It is the top of the pyramid, the point. It is independent from the technologies that execute it. But nonetheless, it structures the more technological levels underneath it. Business models represent a company’s cost-revenue-profit mechanics and the strategies it will use to reach its goals. It is essentially a company’s business design.

Business models will determine which hardware and software environments are needed. These environments may change according to the business model. However, the business model should remain constant and independent, picking and choosing technology to support its vision. Most business models are methodologically object oriented, concerned more with the manipulation of objects or data than concerned with the logic. This is a big leap from original programming, which was all about writing the logic that executed tasks.

Four Main Models of Client-Server Application Models

When client-server technology was being developed there were 4 dominant models: SQL (Structured Query Language) databases; Transaction Processing (TP) monitors; Groupware; and distributed objects.

SQL is the standardized query language used to make requests from databases. SQL supports distributed databases, which are different databases spread across several computer systems. This allows many users/employees to access databases that are networked together through LANs (Local Area Networks) simultaneously, insuring that all the data available throughout an organization is consistent and up-to-date. In addition to just manipulating data through simple commands/requests, SQL must also manage the functions that define these command/requests. This is done through stored procedures.

Stored procedures are a collection of commands and logical procedures that are stored on a server-side database. These procedures protect data integrity, conduct system maintenance, and execute the server’s application logic. Previously, SQLs were not standardized for database management, data replication, and user-defined data types. They were also not standardized in relation to format and protocols over networks. This made them costly and difficult to maintain due to the level of complexity in the using the language to write commands.

It is important to remember that SQL is a declarative programming language, which describes a problem rather than solving it. Data is retrieved by giving criteria rather than employing commands on ‘how’ to find the requested data. It is a declarative language rather than a function one. However, SQLs are popular because it is easy to build client-server applications in a single-vendor or single-server environment. (However, we know that this is increasingly not the case for larger businesses who mix-and-match products from different vendors.) GUI (graphic user interface) tools also make it easy to build SQL applications.

Transaction Processing monitors or TP monitors are another popular model for building client-server environments. TP monitors were programs developed to protect against system crashes when too many clients make too many requests from a single server. Originally, TP monitors were known as teleprocessing monitors and were used for multiplexing, allowing several clients to connect and work through one server. However, it developed into a program that breaks down other applications into pieces of code called transactions. Each transaction consists of a set of actions that comply with four properties known as ACID. Therefore, the actions within a transaction must be Atomic, Consistent, Isolated, and Durable. TP monitors are not necessary in single vendor/single server environments. They work best in three-tier architectures that employ load balancing. These three tier architectures are the user interface (UI), the functional logic for processing requests, and data storage/access. They are created on different platforms as independent modules and are then linked according to the business model’s needs.

Load balancing, another feature of TP monitors, is the even distribution of communications and processing over a network so that no device becomes overwhelmed. When one server reaches its threshold, requests are sent to other available servers. TP monitors ensure this process. Middleware employed by TP monitors is usually a transactional RPC (Remote Procedure Call) or peer-to-peer middleware. Peer-to-peer middleware insures that all users have access to the same data, execute the same procedures, and initiate communication.

Groupware uses five technologies to allow users to collect unstructured data into a set of documents. This is done by having multimedia management, e-mail, work-flow management, conferencing, and scheduling work together collaboratively. E-mail is its primary middleware. However, its greatest contribution comes from work-flow management. Work-flow is the process by which data gets sent to the appropriate parties that can act on it to move the work forward. It simulates real-life worker collaboration electronically, reducing the amount of manpower required to complete a business task.

The distributed object client-server model is the most flexible and is currently the vanguard of client-server architecture. Distributed objects are software modules that exist on multiple computer systems but are designed to work together. Objects are the individual units of data storage that are acted upon in object-oriented programming. Unlike other forms of programming that are mostly a collection of functions, object-oriented programming allows objects to receive and send messages and process data within the object. One of the factors that make distributed object models so flexible is their standardization. For example, OMG (Object Management Group) was one of the first to contribute to standardization by creating CORBA (Common Object Request Broker Architecture). CORBA allows objects or pieces of programs to communicate with each other regardless of operating systems or what programming language they were written in.

Benefits of Client-Server Models

The benefits of client-server models help businesses confront challenges in a variety of ways. For example, increasing complexity due to global marketing and remote online distribution requires a level of de-centralized accessibility to data and processes. Client-server models allow for easier and quicker communication between business departments and individuals. It also allows for easier coordination between customers, the businesses providing the service, and any supporting businesses outside the organization that are used to execute its services. The most powerful model currently is the distributed object model (DOM).

« « Supply Chain Management : Industrial Engineering
JavaScript Location Object » »

Author Description

Avatar

Editorial Team at Exforsys is a team of IT Consulting and Training team led by Chandra Vennapoosa.

Free Training

RSSSubscribe 394 Followers
  • Popular
  • Recent
  • .NET Client-Server Technology

    July 15, 2007 - 0 Comment
  • Ajax and Web Applications

    August 22, 2007 - 0 Comment
  • Client-Server Technology : Thin Clients

    July 18, 2007 - 0 Comment
  • Client-Server Security

    July 20, 2007 - 0 Comment
  • Client-Server Trends for 2007

    July 28, 2007 - 0 Comment
  • What are Web Servers?

    June 18, 2007 - 0 Comment
  • Virtualization and Client-Server Technology

    August 1, 2007 - 0 Comment
  • Client Server Features

    June 24, 2007 - 0 Comment
  • Client-Server Testing Technology

    August 6, 2007 - 0 Comment
  • Client Server Models in Business Environment

    June 27, 2007 - 0 Comment
  • Ajax and Web Applications

    August 22, 2007 - 0 Comment
  • Java and Client Server Models

    August 22, 2007 - 0 Comment
  • Web Services and Client Server Technology

    August 20, 2007 - 0 Comment
  • Object-Oriented Client-Server Internet

    August 20, 2007 - 0 Comment
  • N-Tier Client-Server Architecture

    August 15, 2007 - 0 Comment
  • Peer-to-Peer and Client-Queue-Client Architecture

    August 15, 2007 - 0 Comment
  • Client-Server Testing Technology

    August 6, 2007 - 0 Comment
  • Virtualization and Client-Server Technology

    August 1, 2007 - 0 Comment
  • Client-Server Trends for 2007

    July 28, 2007 - 0 Comment
  • Client-Server Security

    July 20, 2007 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • Ajax and Web Applications
  • Java and Client Server Models
  • Web Services and Client Server Technology
  • Object-Oriented Client-Server Internet
  • N-Tier Client-Server Architecture

Latest Articles

  • Project Management Techniques
  • Product Development Best Practices
  • Importance of Quality Data Management
  • How to Maximize Quality Assurance
  • Utilizing Effective Quality Assurance Strategies
  • Sitemap
  • Privacy Policy
  • DMCA
  • Trademark Information
  • Contact Us
© 2023. All Rights Reserved.IT Training and Consulting
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptReject Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT