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
 

Object-Oriented Client-Server Internet

By Exforsys | on August 20, 2007 |
Client Server

Object-Oriented Client-Server Internet

OCSI Environments as IT Infrastructure

Client Server Basics

Object-Oriented Client-Server Internet (OCSI) environments provide the IT infrastructure for supporting OCSI applications. For our purposes, infrastructure refers to operating systems, networks, middleware, and hardware. OCSI are distributed applications with three core technologies: Client-Server, in which parts of the application behave as clients (or service consumers) and others behave as servers (or service providers); object-oriented programming, which allows applications to be easily created, modified, reused and; the Internet, which provides access to application components, like business logic or databases, through web browsers.

The IT infrastructure platform begins with operating systems and hardware. Above this layer exist two side by side modules, the network services and the local services. On top of that is middleware and the final, top layer is the application itself. These are the building blocks. They can come from multiple vendors. Clients-server models contain functional modules with defined interfaces. Client-Server relationships exist between two functional modules, one is the ‘client’ and the other is the ‘server’.

However, thinking of them as modules neutralizes confusion, since one server can become a client for another server depending on the original request and the processing it requires. In other words, clients may make requests of servers that generate other requests making the server occupy the client position in the newly initiated communication. However, it will always remain a server to the original client. The ‘client’ requests a service from the ‘server’ who then processes the request and returns a response. Information exchange between clients and servers is performed through messages. Messaging is a crucial feature of Client-Server models. These messages are interactive.

Features like message queuing allow clients to store messages and pick them up asynchronously by servers later. Because in our discussion clients and servers are located on different machines, real-time messages pass between them over a network. This improves flexibility and scalability, but creates problems regarding interoperability, portability, performance, and security. Middleware addresses these technical issues.

Middleware is the software that provides the “glue” between separate programs, allowing them to understand and work for each other. Conceptually, it is located above the network and below the application. It provides business un-aware services (more technical than computing), where as the top application software is business aware. Middleware services are made available to applications through APIs (Application Programming Interfaces). They are accessible to humans through GUIs (Graphical User Interfaces).

Client-Server models are only one example of DCS (Distributed Computing System). Other examples of DCS are file transfer models and peer-to-peer models. These systems do not share memory with other nodes on the network and communication between the nodes only occurs through messaging.

Internet

The Internet, as a Client-Server system, has made all the information and services on the World Wide Web a household tool. It has accomplished this by making the system so user friendly. The Internet uses GUI clients also known as web browsers to search, navigate and share information on the web regardless of location. Documents and information is connected through hypermedia links.

A layered technical view of the Internet and the World Wide Web begins with the physical network and the machines on that network. Above that is the IP (Internet Protocol) stack. This includes an IP layer that contains the protocol or language of rules and formatting for delivering data over networks. On the layer above that located side by side are the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). Working with IP, TCP is a protocol to send packets of data over networks.

While IP actually delivers the data, TCP keeps track of the data packets in a message to make sure they are routed correctly. TCP/IP is the backbone of the Internet. UDP works with IP as well. UDP/IP is protocol that is also primarily used to broadcast messages over networks. It sends and receives datagrams directly over IP networks. Datagrams are units that are transmitted between Internet modules. At the top of the IP stack are application protocols like File Transfer Protocol (FTP), Network File System Protocol, Simple Mail Transfer Protocol (SMTP), and Remote Procedure Call (RPC).

World Wide Web applications are the top layer. They interact directly with the IP stack or with middleware specific to the World Wide Web. This middleware is made up of different components like web browsers, web servers, and web gateways. It also contains all the necessary technology for the creation of dynamic web content, such as HTML and HTTP (Hypertext Transfer Protocol). World Wide Web applications communicate with the web middleware, which then communicates downward to the IP stack.

Object-Orientation and Distributed Objects

Object orientation has influenced many technologies. For example, its effects can be felt in programming languages, user interfaces, and databases.

The basic components of objects are class, object, message, and inheritance. These are the components that make object orientation flexible and reusable. There are three core object oriented technologies: object oriented user interfaces, object oriented programming, and object oriented databases.

Object Oriented User Interfaces (OOUI) are in contrast to GUIs. GUIs provide dialog boxes and all the tools for navigating and formatting as well as extracting input from the user in the form of their service request. They contain graphic dialog boxes, colors, menus, scroll bars, pull-down and pop-up windows. GUIs can only perform one function at a time, while OOUIs support multi-tasking and unpredictable sequencing. Mac uses OOUI.

Object Oriented Programming (OOP) is one of the dominant languages for building software. Java, C++, and C# are examples of object oriented programming languages. These languages specifically support the concept of inheritance in object orientation. Inheritance represents the active relationship between classes. Classes are categories of objects. Inheritance allows classes to behave like other classes and customize those behaviors according to request needs.

Object databases store and retrieve irregular objects like arrays, icons, sets, and lists, to name a few. These objects are varied as are their relationships to each other. They can be internally complex or simple. They can relate to each other through complex relationships and inherit properties from each other.

Reusable software components that can be assembled quickly to create new applications. These reusable software parts are called component parts or applets.

Distributed objects are objects that are dispersed across a network, but can communicate through that same network. They are applications that are “de-composed” into objects located in a network. Networks are understood as a collection of objects where an object on one machine can message an object in a different location. This concept of distributed objects is helping alleviate many IT problems around portability, interoperability, and re-use, for example. In distributed computing, applications can be constructed from re-usable component parts or applets. Re-usable components encapsulate internal details and function on a different platform improving their interoperability.

Distributed object models start at the bottom with object service. These communicate with the ORB (Object Request Broker) layer. The ORB has access to all object services. Client objects above the ORB layer communicate with it. The ORB the retrieves requested services from the object services layer and communicates it back to the client objects. This same process can be repeated by server objects, which conceptually exist on the same plane as client objects in relation to object services.

Object-Oriented Client Server Internet Environments

OCSI combines object-orientation, Client-Server models, and the Internet to improve business functionality. There are two multi-layered modules side by side. One is the client side and one is the server side. At the bottom of both of these modules are the operating system and hardware. These two communicate through an exchange protocol. The second layer of each contains local and network services side by side in the client and server modules.

The next layer consists of client middleware and server middleware, respectively. Client middleware in OCSI is a web browser. Server middleware in this model includes web servers, SQL (Standard Query Language) servers, or object servers. At the top layer on the client side are client processes like web-based user interfaces. On the server side are server processes like business objects. On both the client side and the server side are application programming interfaces (APIs).

By using the World Wide Web through the Internet, the Object Oriented Client Server Internet (OCSI) model is making user interfaces equivalent with web browsers. This means web users can access HTML documents directly from web servers or from private organizations through gateways. OCSI makes it possible for users to access remote databases through a combo of traditional Client-Server technology, like remote procedure call (RPC) and distributed object models (DOMs).

Client and server programs are both understood as objects being transmitted to the web browser that communicate using remote object oriented calls. This treats them like distributed object. Networks, like the Internet, contain routers so messages can find the most efficient paths and gateways to translate one kind of protocol into another. Database managers and transaction process monitors create interconnectivity between networks and client server environments.

« « C++ Structure Part II
Web Services and Client Server Technology » »

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
  • Client-Server Security

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

    June 18, 2007 - 0 Comment
  • Client-Server Trends for 2007

    July 28, 2007 - 0 Comment
  • Client Server Features

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

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

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

    August 6, 2007 - 0 Comment
  • Client Server Architecture

    June 30, 2007 - 0 Comment
  • Peer-to-Peer and Client-Queue-Client Architecture

    August 15, 2007 - 0 Comment
  • Client-Server Computing : Butler Model

    July 3, 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
  • 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
  • Client-Server Technology : Thin Clients

    July 18, 2007 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • Ajax and Web Applications
  • Java and Client Server Models
  • Web Services and Client Server Technology
  • N-Tier Client-Server Architecture
  • Peer-to-Peer and Client-Queue-Client 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