1. Define how a Web server performs its basic functions. Include an example of t
ID: 3604571 • Letter: 1
Question
1. Define how a Web server performs its basic functions. Include an example of the types of client requests made by a typical Web site visitor. Next, describe the difference between centralized and decentralized Web server architecture. If you were in charge of the e-commerce function at a small to medium sized organization, which type of architecture would recommend? Explain.
2. Research Web server hardware at Dell, Hewlett-Packard, and Oracle. Provide a summary of what is offered by each manufacturer. Include information such as the operating system, the type of processor used, the ability to expand, price (if available), and any other relevant information. If you were in charge of the e-commerce function at a small to medium sized company, which one would you select? Explain.
3. Visit the Open Source Initiative. Describe what is meant by “open source,” and indicate the potential benefit of using software that is categorized in this manner. What are the standards for this type of software? Also, read the article on Microsoft’s open source plans. How does this approach affect the future of Web server software and software in general?
4. Visit the Microsoft Internet Information Server and the Apache HTTP Server Web sites and research information provided for each. Describe how this type of software works and select the one that you would use for your own Web server if you were in charge of the e-commerce function at a small to medium sized company. Include your rationale for your decision. Which factors were the most important to you?
5. Select two of the administrative/utility software programs discussed in this module. These include those utilized for route tracing, file transfer, searching/indexing, data analysis, link-checking, and remote server administration. Identify an example of each and research information on each manufacturer’s Web site. Describe how this type of software works and how it would benefit an e-commerce operation. Provide a link to ALL Web sites used for this part of the assessment.
6. Reflecting on the previous five requirements for this assessment, indicate how each would affect the electronic commerce activities of a business. Be sure to include the relationships between the architecture, hardware, and software. Also, comment on how your decisions would be affected by previously-discussed areas including the technology infrastructure, sales and marketing, business-to-business activities, social networking, mobile commerce, online auctions, ethical issues, and regulatory considerations.
Explanation / Answer
1. Web Server : It’s a computer system that processes requests using HTTP, the basic network protocol used to distribute information on the world wide web.
The primary function of a web server is to store, process and deliver web pages to clients. The communication between client and server takes place using the Hypertext Transfer Protocol (HTTP)
1)The client’s browser divides the URL into diff. parts dividing including address, path name ,protocol
Method name .
2)DNS server translates the domain name into the corresponding IP address .the numeric combination represents the site’s true address on the internet.
3)The browser now decides which protocol should be used .a protocol in common parlance is a language which the client’s to communicate with the server. FTP,HTTP are some such protocols.
4)The server sends a GET request to the web server to retrieve the address it has been given. It verifies given address exists, finds necessary files ,runs appropriate scripts exchanges cookies if necessary and returns back to the browser.
5)The browser now converts the data into HTML and displays results to the user. If it does not locate it sends an error message to the browser and to the client.
Centralized Web server:
This represents a multiple client-single server like architecture where the server computer is the one where all of the major processing is done. It even has more computing resources than its clients.
Client machines connect to the server computer (we can also call this as master computer), and submit their requests.
A typical example of centralized computing would be NFS (Network File System). There is a single NFS File Server machine that actually hosts all the file system data and meta-data. Client machines run a client side component (NFS Client) that allows the machines to mount the remote file system locally on respective Operating Systems.
NFS Client intercepts file system requests corresponding to NFS mount, and uses RPC to send them across the network to NFS file server.
Another example of centralized computing would be a web application server that hosts all the business logic, runs the database etc. Various client machines connect to the web application server and send/receive requests/responses through the HTTP application layer protocol (of course underneath HTTP runs over TCP).
It’s not the case that clients do not run any kind of software. They are usually thin clients that are mostly responsible for presentation logic — for example displaying results, allowing the user to customize UI etc. But all of the core application logic is self contained in the software running on web application server
Disadvantage:
• Single Point of Failure Server machine goes down, clients are no longer able to process user requests since the machine that runs the core software to process requests is dead. Now the impact of such a failure will vary from system to system. It will depend on what capabilities are provided by the client component. If clients are not responsible for running any core logic and strongly depend on the server machine, then availability is completely compromised for such a system in case the server machine fails.
• Limited Scalability - Because all the core application logic is self contained in a single server machine, the only way we can imagine to scale the system is vertical scaling — by adding more storage, I/O bandwidth, processing power (number of CPUs, number of cores) to the server machine. The more powerful our server machine is, the better the performance of overall system.
o The problem is that it is difficult to create, maintain and rely on a single magic computer box that solves all of our problems. Eventually the attempts to scale up a single machine by adding more hardware may not turn out to be cost effective.
o It might be more reasonable to add another compute node to the system — this means scale out (aka horizontal scaling) by adding another machine with just good enough computing resources.
• Throughput - I would say throughput as just another side of limited scalability. Imagine there is just a single system, and with a given number of resources and processing power (number of cores etc), there are only so many client requests that can be processed in parallel. During periods of high activity, the single server model will soon turn out to be a bottleneck as it will be difficult to keep up with influx of concurrent user requests, and the number of requests system can really process.
Decentralized Web Server:
• There is no single server machine that is solely responsible for all the processing.
• The architecture allows to distribute the workload among multiple compute nodes (aka machines), and each of them is equally capable of
• We should be aware of the well known challenges in the distributed system space. In centralized computing, we have simple model since there is just a single server machine that does all the jobs. If that is gone, we are out of luck.
• But in decentralized computing, simple model is not easy. Since now we have more machines, we also have more problems to deal with. I would actually call decentralized computing similar to distributed computing as I really don’t see much of difference. We typically need to deal with same set of problems and challenges in both spaces.
4.
Apache HTTP server is a server to deploy web applications.
Addresses on the Web are expressed with URLs - Uniform Resource Locators - which specify a protocol (e.g. http), a servername (e.g. www.apache.org), a URL-path (e.g. /docs/current/getting-started.html), and possibly a query string (e.g. ?arg=value) used to pass additional arguments to the server.
In order to connect to a server, the client will first have to resolve the servername to an IP address - the location on the Internet where the server resides. Thus, in order for your web server to be reachable, it is necessary that the servername be in DNS.
If you are testing a server that is not Internet-accessible, you can put host names in your hosts file in order to do local resolution. For example, you might want to put a record in your hosts file to map a request for www.test.com to your local system, for testing purposes. This entry would look like:
127.0.0.1 www.test.com
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.