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 Architecture

By Exforsys | on June 30, 2007 |
Client Server

The Importance of Flexibility in a Changing World

Client-server software architecture is versatile and flexible in today’s fast-changing IT landscape. It is modular in structure and relies on messaging services for communication between components. They were designed to improve flexibility, usability, scalability, and interoperability. Software flexibility implies the ability for a program to change easily according to different users and different system requirements.

Usability refers to human-computer interaction and the ability of a software application to accomplish a user’s goal. Some defining features are ease-of-use and a clear, logical process of evolution towards a goal. Scalability refers to a product’s (be it hardware or software) ability to change in size or volume gracefully to meet user requests. Interoperability is the ability of software or hardware to function with other systems without requiring human intervention and manpower. Client-server software architecture aims to increase productivity through improvements in all of these categories.

Client-server architecture developed as a response to the limitations of file-sharing architectures, which require tons of bandwidth and can often stall or jam a network causing it to crash. They require low shared usage and low volume of data to be transferred. In client-server architecture, the database server replaced the file server. Relational data base management systems (DBMSs) answered user queries directly. Since only specific queries were being answered, only that data was transferred instead of entire files that slow down networks. It also improved consistency in data between users, since all users had access to the same updated information.

The primary languages for structuring queries are SQL and RCP. SQL stand for ‘standard query language’. SQL uses a GUI (graphic user interface) to make requests form databases. The newest ANSI (American National Standards Institute) standard is SAG SQL. However, there are several recent versions of SQLs for sale from a variety of major vendors from Microsoft to Oracle. RPC is ‘remote procedure call’.

RPC is protocol or set of rules structuring an intelligible request that is used by one program to request data or services from another program on another computer in another network. Full knowledge of network details is unnecessary. It allows an application to be distributed on and accessible from different platforms. Client and server stubs are created respectively so each party has the section it needs for the remote function it requests. Stubs are called to work when a remote function is required by the application and communication between client and server is synchronous. RPCs make it easier to design a client-server software architecture that employs multiple programs distributed over a network.

Two Tier Architecture

Two tier client-server software architectures improve usability and scalability. Usability is increased though user-friendly, form-based interfaces. Scalability is improved because two tiered systems can hold up to 100 users, whereas file server architectures can only accommodate 12. Two tiered architecture is best suited to homogeneous environments processing non-complex, non-time sensitive information.

Two tier architectures consist of three components: user system interfaces, processing management, and database management. User system interface (USI) is a component of an organization’s decision support system, which includes human decision-makers. It provides a user friendly layer of communication to make requests of the server and offers multiple forms of input and output. USIs include features like display management services, sessions, text input, and dialog. Processing management includes process development, process implementation, process monitoring, and process resources services. Database management includes database and file services.

Two tier client-server design derives its name from how it distributes work between client and server. Clients access databases through the user system interface. Database management, on the server side, distributes processing between both client and server. Both tiers, the client and the server, are responsible for some of the processing management. Simply put, the client uses the user interface to make requests through database management on the server side.

Most of the application processing takes place on the client side, while the database management system (DBMS), on the server side, focuses on processing data through stored procedures. Connectivity between the tiers can be dynamically altered depending on users’ requests and the services they are demanding. Two tier client server architectures work well for groups or businesses of up to 100 users on an LAN (Local Area Network), any more and service would deteriorate. Also, this software architecture offers limited flexibility by requiring the writing of manual code to move program functionality to a different server.

Three Tier Architecture

Three tier client server architecture is also known as multi-tier architecture and signals the introduction of a middle tier to mediate between clients and servers. The middle tier exists between the user interface on the client side and database management system (DBMS) on the server side. This third layer executes process management, which includes implementation of business logic and rules. The three tier models can accommodate hundreds of users. It hides the complexity of process distribution from the user, while being able to complete complex tasks through message queuing, application implementation, and data staging or the storage of data before being uploaded to the data warehouse.

As in two tiered architectures, the top level is the user system interface (client) and the bottom level is performs database management. The database management level ensures data consistency by using features like data locking and replication. Data locking is also referred to as file or record locking. This is a first-come, first-serve DBMS feature used to manage data and updates in a multi-user environment. The first user to access a file or record denies any other user access or “locks it”. It opens up again and becomes accessible to other users once the update is complete.

The middle tier is also called the application server. It contains a centralized processing logic, which facilitates management and administration. Localizing system functionality in the middle tier makes it possible for processing changes and updates to be made once and be distributed throughout the network available to both clients and servers. Sometimes the middle tier is divided into two or more units with different functions. This makes it a multi-layer model.

For example, in web applications, the client side is usually written in HTML meanwhile the application servers are usually written in C++ or Java. By using a scripting language embedded in HTML, web servers act as translation layers that allow for communication between the client and server layers.

This layer receives requests from clients and generates HTML responses after requesting it from database servers. Popular scripting languages include JavaScript, ASP (Active Server Page), JSP (JavaScript Pages), PHP (Hypertext Preprocessor), Perl (Practical Extraction and Reporting Language), and Python. One of the major benefits of three tier architecture is the ability to partition software and “drag and drop” modules onto different computers in a network.

Types of Three Tier Architecture

On of the most basic ways of configuring the middle layer in three tier architecture is through TP (transaction process) monitoring. Here, the middle layer takes care of processing through a system of prioritizing messages, queuing messages, scheduling transactions. This allows the user to connect to the TP monitor and then work on other things while the TP monitor manages the transaction until it is complete. TP monitoring allows multiple DBMSs to be updated in a single transaction. It also provides connectivity to a variety of data sources and can attach priorities to transactions.

Messaging servers also provide a middle layer in three tier client-server architectures. They also prioritize messages. The messages contain priority information, addresses and identification numbers to locate requested data on relational DBMSs and other data sources. However, in this context, the intelligent information is found in the content of the message and headings. In TP monitors, intelligence is located in the monitor itself.

In three tier application server architecture, most application functions run on a shared host. This makes them more secure and scalable since it lessens the burden of software placed on the client-side. Application servers are also less expensive to install since it is installed on a single server and not on every desktop in the network.

ORB (Object Request Broker) architecture in a three tiered model increases interoperability. Technologies like CORBA (Common Object Request Broker Architecture) and COM/DCOM (Common Object Model/Distributed Common Object Model) support distributed objects and allow requests to be processed across platforms and across programming languages.

Finally, distributed/collaborative enterprise architecture is based on ORB, but advances CORBA. Developed in 1993, it shares and reuses not just objects, but also business models on an enterprise-wide scale. Enterprise, here, refers to as an organization’s multiple business systems that must all work together. Distributed/collaborative enterprise architecture increases flexibility and efficiency operationally. The limitations of this model include a lack of commercial object-oriented analysis and design tools to work with applications.

As previously stated, when determining which client-server model will work best in your organization, important factors include number of users, whether the organization will grow (scalability), interoperability, flexibility, usability and efficiency. Other considerations include the cost of implementation and maintenance and how these models might impact human resources. For example, an initial investment may be required to train employees before the cost benefits can be realized.

« « Supply Chain Management Marketing Techniques
NLP Time Lining » »

Author Description

Avatar

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

Free Training

RSSSubscribe 391 Followers
  • Popular
  • Recent
  • Java and Client Server Models

    August 22, 2007 - 0 Comment
  • .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
  • 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