Java和Internet外文翻译资料

 2022-12-26 19:58:59

Java and the Internet

If Java is, in fact, yet another computer programming language, you may question why it is so important and why it is being promoted as a revolutionary step in computer programming. The answer isnrsquo;t immediately obvious if yoursquo;re coming from a traditional programming perspective. Although Java is very useful for solving traditional standalone programming problems, it is also important because it solves programming problems for the World Wide Web.

What is the Web?

The Web can seem a bit of a mystery at first, with all this talk of “surfing,” “presence,” and “home pages.” Itrsquo;s helpful to step back and see what it really is, but to do this you must understand client/server systems, another aspect of computing thatrsquo;s full of confusing issues.

Client/server computing

The primary idea of a client/server system is that you have a central repository of information— some kind of data, usually in a database—that you want to distribute on demand to some set of people or machines. A key to the client/server concept is that the repository of information is centrally located so that it can be changed and so that those changes will propagate out to the information consumers. Taken together, the information repository, the software that distributes the information, and the machine(s) where the information and software reside are called “the server.” The software that resides on the consumer machine, communicates with the server, fetches the information, processes it, and then displays it on the consumer machine is called the client.

The basic concept of client/server computing, then, is not so complicated. The problems arise because you have a single server trying to serve many clients at once. Generally, a database management system is involved, so the designer “balances” the layout of data into tables for optimal use. In addition, systems often allow a client to insert new information into a server. This means you must ensure that one clientrsquo;s new data doesnrsquo;t walk over another clientrsquo;s new data, or that data isnrsquo;t lost in the process of adding it to the database (this is called transaction processing). As client software changes, it must be built, debugged, and installed on the client machines, which turns out to be more complicated and expensive than you might think. Itrsquo;s especially problematic to support multiple types of computers and operating systems. Finally, therersquo;s the all-important performance issue: You might have hundreds of clients making requests of your server at any moment, so a small delay can be critical. To minimize latency, programmers work hard to offload processing tasks, often to the client machine, but sometimes to other machines at the server site, using so-called middleware. (Middleware is also used to improve maintainability.)

The simple idea of distributing information has so many layers of complexity that the whole problem can seem hopelessly enigmatic. And yet itrsquo;s crucial: Client/server computing accounts for roughly half of all programming activities. Itrsquo;s responsible for everything from taking orders and credit-card transactions to the distribution of any kind of data—stock market, scientific, government, you name it. What wersquo;ve come up with in the past is individual solutions to individual problems, inventing a new solution each time. These were hard to create and hard to use, and the user had to learn a new interface for each one. The entire client/server problem needed to be solved in a big way.

The Web as a giant server

The Web is actually one giant client/server system. Itrsquo;s a bit worse than that, since you have all the servers and clients coexisting on a single network at once. You donrsquo;t need to know that, because all you care about is connecting to and interacting with one server at a time (even though you might be hopping around the world in your search for the correct server).

Initially it was a simple one-way process. You made a request of a server and it handed you a file, which your machinersquo;s browser software (i.e., the client) would interpret by formatting onto your local machine. But in short order people began wanting to do more than just deliver pages from a server. They wanted full client/server capability so that the client could feed information back to the server, for example, to do database lookups on the server, to add new information to the server, or to place an order (which requires special security measures). These are the changes wersquo;ve been seeing in the development of the Web.

The Web browser was a big step forward: the concept that one piece of information can be displayed on any type of computer without change. However, the original browsers were still rather primitive and rapidly bogged down by the demands placed on them. They werenrsquo;t particularly interactive, and tended to clog up both the server and the Internet because whenever you needed to do something that required programming you had to send information back to the server to be processed. It could take many seconds or minutes to find out you had misspelled something in your request. Since the browser was just a viewer it couldnrsquo;t perform even the simplest computing tasks. (On the other hand, it was safe, because it couldnrsquo;t execute any programs on your local machine that might contain bugs or viruses.)

To solve this problem, different approaches have been taken. To begin with, graphics standards have been enhanced to allow better animation and video within browsers. The remainder of the problem can be solved only by incorporating the ability to run programs on the client end, under the browser. This is called client-side programming.

Client-side programming

The Webrsquo;s initial server-browser design provided for interactive content, but the interactivity was completely provided by the server. The server produced static pages for the client browser, which would simply inter

剩余内容已隐藏,支付完成后下载完整资料


Java和Internet

如果Java实际上是另一种计算机编程语言,你可能会质疑为什么它如此重要,以及为什么它被推广为计算机程序设计中的革命性步骤。 如果您从传统的编程角度来看,答案并不明显。 虽然Java对于解决传统的独立编程问题非常有用,但也很重要,因为它解决了万维网的编程问题。

什么是Web?

首先,Web可能看起来有点神秘,所有这一切都是关于“冲浪”,“存在”和“主页”的说法。回过头来看看它真的是有帮助的,但要做到这一点你必须明白 客户端/服务器系统,计算的另一个方面充满了令人困惑的问题。

1.客户端/服务器计算技术

客户端/服务器系统的主要思想是,您有一个信息中心存储库 - 通常在数据库中的某种数据,您希望按需分配给某些人或机器。 客户/服务器概念的关键是信息库位于中心位置,以便可以更改信息,从而将这些更改传播到信息消费者。 总之,信息存储库,分发信息的软件以及信息和软件所在的机器称为“服务器”。驻留在消费者机器上的软件与服务器通信,获取信息 ,处理它,然后在消费者机器上显示它被称为客户端。

那么客户端/服务器计算的基本概念就不那么复杂了。出现这些问题是因为您有一个服务器尝试一次为多个客户端服务。通常,涉及数据库管理系统,因此设计人员将数据的布局“平衡”到表中以获得最佳使用。此外,系统通常允许客户端将新信息插入服务器。这意味着您必须确保一个客户端的新数据不会超出另一个客户端的新数据,或者在将数据添加到数据库的过程中不会丢失数据(这称为事务处理)。随着客户端软件的变化,它必须被构建,调试和安装在客户端机器上,结果比你想象的更复杂和昂贵。支持多种类型的计算机和操作系统是特别有问题的。最后,有一个非常重要的性能问题:您可能有数以百计的客户端随时要求您的服务器,所以延迟很小可能至关重要。为了最小化延迟,程序员通常使用所谓的中间件,努力将处理任务卸载到客户端机器,但有时甚至在服务器站点的其他机器上卸载。 (中间件也用于提高可维护性。)

分发信息的简单想法有这么多层次的复杂性,整个问题似乎绝对无法神秘。 然而至关重要的是:客户端/服务器计算占所有编程活动的大约一半。 它负责从订单和信用卡交易到分配任何类型的数据股票市场,科学,政府,你命名的一切。 过去我们提出的是个别问题的个人解决方案,每次都会发明一种新的解决方案。 这些难以创建和难以使用,用户必须为每个人学习一个新的界面。 整个客户/服务器问题需要大量解决。

2.Web就是一个巨大的服务器

网络实际上是一个巨大的客户端/服务器系统。 这比这更糟糕,因为您将所有服务器和客户端同时存在于单个网络上。 您不需要知道,因为您所关心的是一次连接到一个服务器并与其进行交互(尽管您可能会在搜索正确的服务器的情况下跳转到世界各地)。

最初这是一个简单的单向过程。 您提出了一个服务器的请求,并提交了一个文件,您的计算机的浏览器软件(即客户端)将通过格式化到本地计算机上解释。 但是,简而言之,人们开始想要做的不仅仅是从服务器传送页面。 他们需要完整的客户端/服务器功能,以便客户端可以将信息反馈给服务器,例如,在服务器上进行数据库查找,向服务器添加新信息或下订单(需要特殊的安全措施)。 这些是我们在Web开发中所看到的变化。

Web浏览器向前迈出了一大步:一个信息可以在任何类型的计算机上显示而不改变的概念。 然而,原来的浏览器仍然是相当原始的,并且迅速陷入了对它们的要求。 它们并不特别互动,并且倾向于堵塞服务器和因特网,因为只要您需要做一些需要编程的东西,就必须将信息发送回服务器进行处理。 可能需要几秒钟或几分钟才能发现您在请求中拼错了一些东西。 由于浏览器只是一个查看器,它甚至不能执行最简单的计算任务。 (另一方面,它是安全的,因为它无法在您的本地机器上执行可能包含错误或病毒的任何程序。)

为了解决这个问题,采取了不同的方法。 首先,增强了图形标准,以便在浏览器中实现更好的动画和视频。 其余的问题只能通过在浏览器下结合在客户端运行程序的能力来解决。 这被称为客户端编程。

客户端编程

Web的初始服务器浏览器设计提供了交互式内容,但是交互性完全由服务器提供。服务器为客户端浏览器生成静态页面,这将简单地解释和显示它们。基本超文本标记语言(HTML)包含用于数据收集的简单机制:文本输入框,复选框,收音机框,列表和下拉列表,以及只能编程为重置表单上的数据或“提交”的按钮“表单上的数据返回到服务器。此提交通过所有Web服务器上提供的公共网关接口(CGI)。提交内的文本告诉CGI该怎么办最常见的操作是在服务器上运行位于通常称为“cgi-bin”的目录中的程序(如果在网页上按下按钮时观察浏览器顶部的地址窗口,则可以有时在所有gobbledygook中看到“cgi-bin”。)这些程序可以用大多数语言编写。 Perl是一个常见的选择,因为它是为文本操作而设计的,并被解释,因此无论处理器或操作系统如何,它都可以安装在任何服务器上。然而,由于Python(www.Python.org)具有更大的功能和简单性,所以Python(www.Python.org)一直在进军。

今天许多强大的网站都是严格按照CGI进行构建的,实际上CGI几乎可以做任何事情。然而,建立在CGI程序上的网站可能会迅速变得过于复杂,而且还存在响应时间的问题。 CGI程序的响应取决于必须发送多少数据以及服务器和Internet上的负载。 (除此之外,启动CGI程序往往会变慢)。Web的初始设计人员并没有预见到,这种带宽将会为用户开发的各种应用程序耗尽多快。例如,任何类型的动态图形几乎不可能一致执行,因为必须为图形的每个版本创建图形交换格式(GIF)文件并从服务器移动到客户端。此外,您毫无疑问经历了Web输入表单的数据验证过程。您按一下页面上的提交按钮;数据被运回服务器;服务器启动一个发现错误的CGI程序,格式化HTML页面,通知您错误,然后将页面发送给您;然后必须备份一个页面,然后重试。这不仅是缓慢的,它是不起眼的。

解决方案是客户端编程。 运行Web浏览器的大多数台式计算机都是能够进行大量工作的强大引擎,而且他们正坐在那里的原始静态HTML方法,只是等待服务器清理下一页。 客户端编程意味着Web浏览器被用来做任何可以做的工作,用户的结果是在您的网站上更加快速和更具互动性的体验。

讨论客户端编程的问题在于它们与编程的讨论没有很大的不同。 参数几乎相同,但平台不同; Web浏览器就像一个有限的操作系统。 最后,您仍然需要编程,这是由客户端编程产生的令人眼花缭乱的问题和解决方案。 本节的其余部分概述了客户端编程中的问题和方法。

脚本语言

插件导致浏览器脚本语言的开发。 使用脚本语言,您可以将客户端程序的源代码直接嵌入到HTML页面中,并在显示HTML页面时自动激活解释该语言的插件。 脚本语言往往易于理解,因为它们只是HTML页面一部分的文本,所以它们加载速度非常快,作为采购该页面所需的单个服务器命中的一部分。 权衡是你的代码被暴露给每个人看(和偷)。 然而,一般来说,您并没有使用脚本语言做出令人惊奇的复杂的事情,所以这并不是太多的困难。

一种脚本语言,您可以期望Web浏览器无需插件就可以支持JavaScript(这与Java完全相似,您必须爬上一个额外的学习曲线才能使用它,它被命名为抓住一些Java的营销势头)。不幸的是,大多数Web浏览器最初使用与其他Web浏览器不同的方式实现JavaScript,甚至是其他版本的JavaScript。 ECMAScript形式的JavaScript的标准化已经有所帮助,但是各种浏览器已经花了很长时间才能赶上(并没有帮助微软以VBScript的形式推出自己的议程,这也是模糊的与JavaScript相似)。一般来说,您必须使用JavaScript的最小公分母格式进行编程,以便能够在所有浏览器上运行。处理错误和调试JavaScript只能说是一团糟。作为其难度的证明,只有最近才有人创建了一个真正复杂的JavaScript(谷歌,在GMail),这需要过多的奉献精神和专业知识。

这指出,Web浏览器中使用的脚本语言真正用于解决特定类型的问题,主要是创建更丰富和更加交互式的图形用户界面(GUI)。 然而,脚本语言可能会解决客户端编程中遇到的80%的问题。 您的问题可能完全符合80%的要求,并且由于脚本语言可以使开发更容易和更快捷,因此您可以在查看更多涉及的解决方案(如Java编程)之前考虑使用脚本语言。

Java

如果脚本语言可以解决80%的客户端编程问题,那么另外20%的“真正困难的东西”呢? Java是一个流行的解决方案。 它不仅是一种强大的编程语言,而且是一种安全,跨平台和国际化的编程语言,但是Java正在不断扩展,以提供语言特性和库,它们优雅地处理传统编程语言中困难的问题,如并发,数据库访问 ,网络编程和分布式计算。 Java允许通过小程序和Java Web Start进行客户端编程。

小程序是一个只能在Web浏览器下运行的小程序。该小程序作为Web页面的一部分被自动下载(就像例如图形被自动下载一样)。当applet被激活时,它执行一个程序。这是其美丽的一部分 - 它为您提供了一种在用户需要客户端软件时自动从服务器分发客户端软件的方法,并且不久之后。用户无需重新安装即可获取客户端软件的最新版本。由于Java设计的方式,程序员只需要创建一个程序,该程序将自动与具有内置Java解释器的浏览器的所有计算机配合使用。 (这安全地包括绝大多数机器。)由于Java是一种完整的编程语言,您可以在服务器发出请求之前和之后尽可能多地在客户端上进行工作。例如,您不需要在互联网上发送请求表,以发现您已经收到日期或其他参数错误,并且您的客户端计算机可以快速完成绘制数据的工作,而不是等待服务器做一个情节,并发送一个图形图像给你。您不仅可以获得速度和响应速度的直接胜利,还可以减少服务器上的一般网络流量和负载,从而防止整个互联网的减速。

互联网与内联网

Web是客户端/服务器问题的最通用解决方案,因此使用相同的技术来解决问题的一部分,特别是公司内的经典客户端/服务器问题,这是有道理的。 使用传统的客户端/服务器方法,您会遇到多种类型的客户端计算机的问题,以及安装新客户端软件的困难,这两种方法都可以通过Web浏览器和客户端编程进行轻松解决。 当Web技术被用于限于特定公司的信息网络时,它被称为内联网。 内联网提供比互联网更大的安全性,因为您可以物理地控制对公司内的服务器的访问。 在培训方面,似乎一旦人们了解浏览器的一般概念,他们就可以更容易地处理页面和小程序看起来的差异,所以新型系统的学习曲线似乎有所减少。

安全问题带给我们一个似乎在客户端编程世界中自动形成的部门之一。 如果你的程序在互联网上运行,你不知道它将在什么平台上工作,而且你要特别小心,你不会传播错误代码。 您需要跨平台和安全的东西,如脚本语言或Java。

当面对客户端编程问题的这个令人难以置信的解决方案时,最好的攻击计划是成本效益分析。 考虑您的问题的限制,以及解决方案的最短路径。 由于客户端编程仍在编程中,因此针对您的特定情况采取最快的开发方法总是一个好主意。 这是一个积极的态度,准备与方案开发问题的不可避免的遇难。

总结

你知道程序程序是什么样的:数据定义和函数调用。 要找到这样一个程序的意义,你必须在其中工作,通过函数调用和低级概念来创建一个模型。 这就是我们在设计程序程序时需要中间代表的原因 - 由于这些程序本身就容易混淆,因为表达式的术语更倾向于计算机而不是解决问题。

因为OOP在您以过程语言发现的基础上添加了许多新概念,所以您的自然假设可能是由此产生的Java程序将比等效的程序程序复杂得多。 在这里,您会惊喜的发现:编写好的Java程序通常比程序程序简单得多,易于理解。 您将看到的是代表问题空间中的概念(而不是计算机表示的问题)的对象的定义和发送到这些对象的消息来表示该空间中的活动。 面向对象编程的乐趣之一是,通过精心设计的程序,通过阅读可以很容易地了解代码。 通常,还有很少的代码,因为许多问题将通过重用现有的库代码来解决。

OOP和Java可能不适合所有人。 评估您自己的需求很重要,并决定Java是否能最佳地满足这些需求,或者如果您可能会使用另一个编程系统(包括您当前正在使用的编程系统)更好。 如果您知道您的需求在可预见的未来将非常专业,如果您有Java可能无法满足的具体限制,那么您可以自行调查替代方案(特别是我建议使用Python;请参见www.Python.org)。 如果您仍然选择Java作为您的语言,您至少可以了解什么是选项,并且清楚地看到您为什么采取这一方向。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[27950],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。