Categories of client-server architecture and problems faced by hures Essay Example
Categories of client-server architecture and problems faced by hures Essay Example

Categories of client-server architecture and problems faced by hures Essay Example

Available Only on StudyHippo
  • Pages: 11 (2884 words)
  • Published: August 13, 2018
  • Type: Essay
View Entire Sample
Text preview

Question One: Are the challenges faced by Hures in the past and present unique? Provide reasons for your opinion.

I do not think that the challenges experienced by Hures, both historically and currently, are exclusive. It is widely known that the emergence of client/server computing has greatly influenced organizations. Nonetheless, like any novel technology, it brings along its own obstacles and unresolved inquiries. To tackle these concerns, Hures can adopt a client/server architecture, which can be classified into different types: 1.

Client server architecture, one-tier architecture, two-tier architecture, and three-tier architecture are all discussed.

The N-Tier architecture and the client-server architecture have a close relationship. In the client-server architecture, one computer program, referred to as the client program, communicates with another program called the server program to make a service request. This communication can happen between any two end nodes and a shared resource. Servers come in

...

various sizes and functionalities, ranging from PC-based servers to midrange computers or mainframes.

The client-server architecture is highly flexible and capable of accommodating multiple client programs simultaneously. It enables the logical separation of presentation, application processing, and data management processes. As a result, it is an adaptable and scalable approach for constructing system software.

Unlike typical client/server applications, this architecture services multiple clients, supports client disconnection, and provides a flexible framework for adding applications. Hures, a leading human resources service provider, utilizes TCP/IP for communication. Additionally, Hures should consider implementing a communication protocol, like the shared variable protocol, to provide a higher-level application programming interface (API) and handle the lower level details, such as managing multiple clients. One-Tier Architecture: A one-tier application is a simple program that does not require network access while

View entire sample
Join StudyHippo to see entire essay

running. Examples of one-tier applications include word processors and compilers.

The passage discusses the concepts of one-tier and two-tier architecture in applications. It defines a one-tier application as running on a single computer, while a two-tier application consists of a web browser and a web server. However, the passage raises an interesting question about what happens when a web browser downloads and runs a Java applet that doesn't access the network. In this situation, the self-contained applet is considered to be a one-tier application since it is completely contained on the client computer.

One-tier architecture offers advantages such as simplicity by eliminating the need for network protocols. This results in simple code for one-tier applications, without requiring user requests to traverse networks or wait their turn at servers.

The advantage of this is that it prevents excessive traffic on your network and reduces the workload on your server. The two-tier architecture, consisting of the client, server, and protocol, connects the client and server tiers. This design is very effective for network programming and GUI programs as it allows for functionality to be allocated to the host. The client host contains the GUI code while the server host houses the business logic.

A two-tier application is a client-server program with a GUI front-end written in a high-level language such as Java, C++, or Visual Basic. This program has a clear distinction between the front and back tiers. The Hures input is acquired through an HTTP get request using an HTML form completed by the user. The output of this program consists of one or multiple HTML files.

All the computation occurs on the server. In some cases, a two-tier application

can be constructed without requiring a separate server or protocol design. For example, it is feasible to build a Web browser that communicates with a Web server using HTTP protocol. However, if you plan to establish your own server or create and implement your own protocol, it is likely that developing your program will take longer compared to creating a one-tier application. A three-tier architecture requires data storage on a server.

Multiple clients requesting tasks from the server can cause data honesty issues when the information is stored on the file system. To address this, a common solution is to introduce a third program or database due to concurrency controls in file systems. Databases are specialized in storing, retrieving, and indexing data. Similar to two-tier architecture separating GUI and business logic, three-tier architecture allows for separation of business logic and data access. This architecture also enables optimized data indices and retrieval methods, as well as replication, backup, redundancy, and load-balancing procedures tailored to your specific data needs.

Dividing code into client and server code enhances the scalability of your application, as does storing data on a dedicated process, host, or series of hosts. SQL RDBMS, such as those provided by Oracle and Sybase, are just examples of various database types. Other types include OODBs and ORDBs. The three-tier architecture comprises the following tiers: Presentation Tier, which is the highest level of the application.

This paragraph describes three different tiers in a computer system architecture. The first tier is the presentation tier, which includes services related to browsing merchandise and the shopping cart. The second tier is the application tier, which is responsible for the logic and detailed processing

of the application. The third tier is the data tier, where information is stored and retrieved using a database server. N-tier architectures are praised as a significant improvement in computer technology.

Proponents of CORBA, EJB, and DCOM advocate for the adoption of their favorite spec in every new application, as well as retrofitting existing applications. They envision a distributed object universe where creating a new application is as easy as selecting objects and sending high-level code messages to them. The distributed object protocol takes care of the intricate details, such as parameter marshaling, networking, locating remote objects, and transaction management. A stock trading system exemplifies a N tier application, where multiple data feeds from different sources, access to various databases, and specialized applications for multiple clients are involved. To consolidate these diverse elements, it is sensible to unify them using a common distributed object architecture like CORBA or EJB. CORBA serves as a software mechanism that standardizes the method-call semantics for application objects residing either in the same address space or a remote address space on a network.

CORBA relies on an interface definition language (IDL) for describing the interfaces of objects to be exposed to the outside world. Along with offering a platform-agnostic specification for remote procedure calls, CORBA also provides essential services such as transactions, security, events, time, and other domain-specific interface modifications. To convert the user's IDL code into language-specific generated code, a CORBA implementation includes an IDL compiler tool. The generated code is then compiled by a conventional compiler to produce linkable-object files for the application. The key components involved are ORB vendor supplied code, ORB vendor tool generated code, and user-defined application

code. One of the advantages of CORBA is that it offers:

Client-server architecture enables the distribution of roles and responsibilities among multiple independent computers connected through a network. This setup offers benefits such as easier maintenance, including component replacement, repair, upgrade, or relocation. Furthermore, it ensures enhanced security and protection by storing all data on the server.

Severs offer improved control over access and resources to ensure that only authorized clients can access and modify data. Additionally, data storage is centralized, simplifying the updating process.

However, there are also drawbacks to consider. One disadvantage is:

Traffic congestion can be an issue on the network, especially when multiple client requests are made to a single server. This can result in the server becoming overwhelmed. However, in a P2P network, adding more nodes actually enhances its bandwidth. This emphasizes the strength of a reliable P2P network compared to the client-server model.

In client-server architecture, clients' requests cannot be fulfilled if a critical server fails. However, in P2P networks, resources are typically distributed among multiple nodes. Even if some nodes leave and abandon a downloading file, the remaining nodes should still have the necessary data to complete the download.

Question Two: To address the challenges faced by Hures' current Client/Server technology, alternative architectures can be recommended. One possible alternative architecture is the common object request broker architecture (CORBA), which is a widely successful object-based distributed computing architecture. CORBA's service context provides an efficient and elegant design and implementation approach for constructing distributed systems.

Java RMI (Remote Method Invocation) does not have built-in support for transparent service-context propagation without modifying the underlying protocol. This article presents a lightweight and generic solution that enables transparent and protocol-independent

service-context propagation over RMI. The solution leverages reflection-based techniques to emulate the functionality typically found in protocol-specific service-context implementations. Through this article, you will be introduced to a practical solution and the associated design concept in distributed computing, along with the utilization of Java reflection techniques.

The text discusses the CORBA object request broker (ORB) interceptor and the service-context design architecture. It provides an overview of these concepts and then presents a concrete implementation example to illustrate how RMI invocation is adjusted to transmit service-context data, such as transaction context, using the IIOP layer. Additionally, the text covers performance considerations. In the CORBA architecture, the invocation interceptor is crucial for the ORB runtime and offers four interception points.

The interception points, as shown in Figure 1, consist of outbound request messages from the client process, inbound request messages to the server process, outbound response messages from the server process, and inbound response messages to the client process.

In relation to Question Three, Hures' IS department has proposed the implementation of intranet web technology. It is crucial to assess the pros and cons of this suggestion.

An intranet, similar to the Internet but with distinct features, is a network within an organization that securely shares information and systems with employees using internet technologies. Just like how the Internet has revolutionized communication, intranets have had a significant impact on businesses. Small businesses, including HURES, have adopted this infrastructure to increase productivity and reduce costs. The similarities between intranets and the internet can be attributed to their shared concepts and technologies such as client-server computing and TCP/IP protocol.

Intranets, which are private networks used by small businesses, universities, or organizations, encompass internet

protocols like HTTP (web services), SMTP (e-mail), and FTP (file transfer). Unlike the internet that is open to everyone, intranets serve as closed networks. However, to overcome this limitation, intranets utilize readily accessible Internet technology for internal communication and collaboration. Previously, corporations had to depend on costly and time-consuming exclusive hardware and software systems in order to connect computers in offices spread across different locations.

Creating hardware platforms, file formats, and software is a complicated task, but when it comes to intranets, HTML is used for document creation and TCP/IP for network information transmission. The data is stored on the company's servers and can be accessed through a web browser. This self-contained version of the Internet provides different features such as personal home pages, newsgroups, and email. However, only employees and contractors have access to the intranet. Since Hures employees are already familiar with internet browsing, minimal training is needed to navigate the company's intranet.

Intranet web pages have a consistent point-and-click interface that can be advantageous for intra-Internet connectivity. It is not essential, but it can benefit companies to establish a firewall to limit external access to their intranet, particularly because they store a large amount of sensitive corporate information on internal servers. In the past, computers operated individually as distinct entities.

In the past, computer programs had direct access to input and output devices connected to the computer. However, networks have made life more complex. Now, we must write programs that rely on other programs running on remote computers. In simple terms, a distributed application is a system consisting of programs running on multiple host computers. The architecture of this distributed application describes the various programs

and their functions, including those running on each host and the communication protocols used between different parts of the system. In a three-tier application, an extra program (often a database) is added to store data on the server.

The three-tier application is an expansion of the two-tier architecture with a linear flow of information. It includes the client sending a request to the server, which communicates with the database for data retrieval or storage. The server then sends the requested information back to the client. On the other hand, the N-tier architecture enables simultaneous operation of multiple programs and promotes communication through different protocols. This enables simultaneous interaction and improves the ability of the application to provide various services to diverse clients.

The shift from a three-tier to an n-tier architecture, or from one-tier to two-tier, or from two-tier to three-tier should not be underestimated. Issues are likely to arise, but addressing them calls for a comprehensive approach. Advocates of these technologies often highlight their advantages while disregarding the downsides of adopting a more intricate architecture. This article will explore the pros and cons of each architectural style and offer insights to assist you in choosing the suitable architecture for your application.

Consider these reasons before choosing a product because its fact sheet promises to make your life easier. Here is the table summarizing the advantages and disadvantages of using Intranets:

Advantages Disadvantages
Fast, easy, low cost to implement Management fears loss of control
Connectivity with other system Hidden costs
Many Tools available Potential for chaos
Access to internal and external information Unauthorized access
Improves communication Information overload lowers productivity
Can capture and share knowledge
Increase collaboration and coordination
Supports links with customers and partners

Question Four: Do you think the popularity of intranets and the Internet pose threats to traditional Client/Server systems? Intranet and your public website on the open Internet are two dissimilar information spaces and should have two different user interface designs. It is alluring to try to save design resources by reusing a single design, but it is a bad idea to do so because the two types of site vary along several dimensions. Intranet users are your own employees who know a lot about the company, its organizational structure, and special terminology

and circumstances.

Your company's internet site is primarily used by customers who have limited knowledge about your company and are less interested in it. In contrast, the intranet is utilized by employees for daily tasks within the company, which can involve complex applications. The internet site is primarily designed to provide information about your products. The amount of information available on both platforms varies significantly. The intranet typically contains a significantly higher number of pages, ranging from ten to a hundred times more than the public website. This discrepancy is due to the intranet documenting ongoing work and projects, as well as the fact that certain departments and projects do not publish any content publicly, despite having numerous internal documents.

Bandwidth and cross-platform requirements differ between intranets and the Internet. Intranets typically have much faster speeds, allowing for the inclusion of rich graphics, multimedia, and advanced content. In addition, intranets often have the capability to determine the supported computers and software versions. It is important to note that an intranet and a website exist as separate information spaces.

can be used to make the internal and external sites look different, which helps employees navigate easily and understand when they are accessing information that can be shared with the outside. An intranet design should be more task-oriented and less promotional compared to an Internet design.

It is important for a company to have a single design for its intranet in order to minimize the learning curve for users. This allows for a larger number of options and features to be used, as users will not be overwhelmed as they would be on the open Internet. Unlike a public website,

an intranet requires a stronger navigational system to handle a larger amount of information and facilitate movement between servers. Similarly, an extranet combines elements of both the public Internet and the closed intranet and should be designed accordingly.

When designing an extranet, it is important to ensure that it is visually similar to your public website. This is because the extranet is accessed by people from different companies who do not have access to the internal parts of your intranet. By making the extranet visually similar to your website, your business partners will feel that both sites come from the same company. However, it is also important to subtly differentiate the two styles, such as using complimentary color tones, to emphasize the closed and confidential nature of the extranet.

REFERENCES: 1. Gallaugher, J. ; Ramanathan, S.

"Choosing a Client/Server Architecture: A Comparison of Two-Tier and Three-Tier Systems." Information Systems Management Magazine 13, 2 (Spring 1996): 7-13. Author: Alex Berson. Title: Client-server architecture. Published: New York : McGraw-Hill, c1992. Series: J. Ranade series on computer communications 2.

The book "Client Server survival guide 3rd edition" was written by Robort orfali, dan harkey,jeri Edwards in 1999 and published by john wiley ; sons Canada. In the article "Distributed Coordination Models for Client/Sever Computing" by R. M. Adler, which was published in the April 1995 issue of Computer, the author discusses various coordination models for client/server computing.

Here are some links to websites containing useful information:

Get an explanation on any task
Get unstuck with the help of our AI assistant in seconds
New