第1章 概 述
最近几年,随着全球Internet的迅猛发展及万维网(World Wide Web,WWW)的日益普及和快速增长,整个计算机环境正在经历着深刻的变革。1989年,HTML(Hypertext Markup Language,超文本标记语言)和WWW的产生是Internet数据描述语言的一次飞跃。Java语言产生后,由于它独具特点,逐渐成为在Internet网络以及操作系统等其他方面的最受欢迎的开发与编程语言。
1.1 Java的诞生与发展规律
美国硅谷有一句行话,每10~15年有一次轮回。最近的一次轮回就是从Java开始。Java是一个由Sun公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同操作平台的网络环境中开发软件。不论使用的是哪一种WWW浏览器、哪一种计算机、哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,就可以看到生动的主页。Java正在逐步成为Internet应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来的又一次技术革命,为迅速发展的信息世界增添了新的活力。
1.1.1 Java的诞生
美国Sun公司的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如,交互式电视、烤面包箱等。Sun内部人员把这个项目称为Green,那时World Wide Web(万维网)还在图纸上。该小组的领导人是James Gosling,是一位非常杰出的程序员。他出生于1957年,于1984年加盟Sun公司,之前在一家IBM研究机构工作。在研究开发过程中,Gosling深刻体会到消费类电子产品和工作站产品在开发哲学上的差异:消费类电子产品要求可靠性高、费用低、标准化、使用简单,用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,具有一系列可选的方案,从8086到80586都可以选取。为了使整个系统与平台无关,Gosling首先从改写C编译器着手。但是Gosling在改写过程中感到仅C是无法满足需要的,于是在1991年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢?Gosling回首向窗外望去,看见一棵老橡树,于是取名Oak(橡树),这就是Java语言的前身。后来发现Oak已是Sun公司另一个语言的注册商标,才改名为Java,即太平洋上一个岛屿的名字,该岛出产一种味道非常美妙的咖啡。Gosling在开始写Java时,并不局限于扩充语言机制本身,更注重于语言所运行的软硬件环境。他要建立一个系统,这个系统运行于一个巨大的、分布的、异构的网格环境中,完成各电子设备之间的通信与协同工作。Gosling在设计中采用了虚机器码(Virtual Machine Code)方式,即Java语言编译后产生的是虚拟机,虚拟机运行在一个解释器上,每一个操作系统均有一个解释器。这样一来,Java就成了平台无关语言。这和Gosling设计的SunNeWs窗口系统有着相同的技术味道。在NeWs中用户界面统一用Postscript描述,不同的显示器有不同的Postscript解释器,这样便保证了用户界面的良好的可移植性。
Patrick Naughton也是Sun公司的技术骨干,曾经是OpenWindows项目的负责人。当Naughton加入该小组后,整个工作进展神速。经过17个月的奋战,整个系统胜利完成。它
是由一个操作系统、一种语言(Java)、一个用户界面、一个新的硬件平台、三块专用芯片构成的。通常情况下,这样的项目在Sun公司要75个人干3年。项目完成后,在Sun公司内部做了一次展示和鉴定,观众的反应是:在各方面都采用了崭新的、非常大胆的技术。许多参观者对Java留下了非常深刻的印象,特别得到Sun的两位领导人Scott McNealy和Bill Joy的关注,但Java的前途未卜。到了1994年,WWW已如火如荼地发展起来。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台,它应是一种实时性较高、可靠安全、有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。这项工作由Naughton和Jonathan Payne负责,到1994年秋天,完成了Web Runner的开发工作。Web Runner是HotJava的前身,这个原型系统展示了Java可能带来的广阔市场前景。Web Runner改名为HotJava,并于1995年5月23日发表后在产业界引起了巨大的轰动,Java的地位也随之而得到肯定。又经过一年的试用和改进,Java 1.0版终于在1996年年初正式发表。
Java语言(简称Java)的诞生对IT产业带来了一次变革,从某些意义上讲对人们的日常生活也产生了深远的影响。Java作为一种类C/C++语言,但其平台无关性和与互联网发展紧密结合,预计未来必定成为互联网和计算机应用的主流。Java当之无愧地被纽约时报评为1995年的十大科技成果之一(计算机类仅此一项入选),Java将作为一项重大发明载入科技史册!微软总裁比尔盖茨曾在观察了一段时间后,十分惭愧地说:“Java是长时间以来最卓越的程序设计语言”,并确定微软整个软件开发的战略从PC单机时代向着以网络为中心的计算机时代转移,而购买Java则是他的重大战略决策的实施部署。Sun公司的总裁Scott McNealy认为Java为Internet和WWW开辟了一个崭新的时代。环球信息网WWW的创始人Berners-Lee说:计算机事业发展的下一个浪潮就是Java,并且将很快发生。所以,使用Java已成大势所趋!Microsoft和IBM两大公司都在Internet上销售用Java编写的软件,IBM著名Java开发集成环境Visual Age For Java、网站集成平台Webspere,Microsoft的VJ++都是目前主要常见的Java开发环境或产品。另外,Apple,HP,IBM,Microsoft,Novell,SGI,SCO,Tandem等公司均在各自开发的操作系统中加入了Java开发运行环境,而负责开发并推广Java技术的Javasoft公司(这是Sun公司下属的一个子公司),通过颁发许可证的办法来允许各家公司把Java虚拟机和Java的Applets类库嵌入他们开发的操作系统,这样各类开发人员就能更容易地选择多种平台来使用Java语言编程,不同的用户也就可以脱离Web浏览器来运行Java应用程序,这无疑是很受广大用户的欢迎的,也为Java语言的应用开拓了极为广阔的前景。每年一度的JavaOne大会几乎都会推出让Java更受人欢迎的新技术,曾经有人预言:Java将是网络上的“世界语”,将会被未来所证实。1998年,由于Java在安全、性能等方面到了一个关键阶段,甚至Java被列入了20世纪末十大必然死亡的技术之一,十大科技成果被预言必将死亡实在是幽了一个默。1998至今,随着Java 2一系列新技术如Java2D,Java3D,Swing,Java SOUND,EJB,Servlet,JSP,CORBA,XML等的引入以及JVM自身安全策略的完善、效率提高,新一轮Java热潮再次被掀起。目前,国内电子商务、金融、证券、邮电、电信等行业的大部分系统几乎都正在或者准备采用部分Java技术来实现,预计Java应用将很快被国内广大行业用户所接受,Java技术水平也将逐步与世界同步。
1.1.2 Java的现状
未来的计算机体系是基于Web的分布式计算,Java无疑是当前满足这一趋势的最佳语言,由于其本身的开放性体系以及简洁的语法,国内Java技术应用得以蓬勃发展起来。国内企业级应用中的关键技术和内容主要集中在数据访问、数据格式转换、逻辑控制、数据传输、
数据表示等方面,而这些都是Java的优势所在,因而在实际应用中,Java/J2EE(Java 2企业版)俨然已经成为不可替代的企业级应用解决方案。
企业Java计算模型由四部分组成:标准平台定义(Enterprise Java APIs)、工业强度的应用服务器(Application Servers)、构件架构(Component Frameworks)和简化编码工作的开发工具(Development Tools)。
1. Enterprise Java Beans和Enterprise JavaBean APIs
Enterprise JavaBeans(EJB)使开发者只编写一次组件,然后便可在最适合他们的应用程序和企业需要的服务器环境中使用它们。标准化的Enterprise JavaBean APIs使这一切成为可能。正如Sun公司在Enterprise JavaBeans——Java的服务器构件中所说明的企业的Java平台由一套标准的应用程序编程接口(API)到一套核心的企业类基础服务(其中包括生命周期、命名、远程唤醒、消息处理、交易、数据库访问和管理)组成。这些基础访问经常是使用不同的产品和技术在不同的平台上实现的,所以很难创建可移植的企业类应用程序系统。Java Enterprise APIs提供了一个无需考虑实现方式,为服务奠定基石的公共接口。
2. 应用程序服务器
应用程序服务器为执行由Enterprise JavaBeans创建的中间件提供了一个平台。这些服务器必须具有高度的可伸缩性以支持多用户。用户端可安全地且同时访问应用程序。应用程序能够在任何服务器平台上执行。
3. 组件架构
组件是可被用来构造其他应用程序系统的应用程序。在企业内部,重要的部件应该能提供安全的数据库访问。组件可被方便地导入开发工具中并用来为快速开发基于Java的商业应用程序提供架构。它们被用来设置应用程序并由Web服务器或数据库系统执行。这些组件遵从Enterprise JavaBeans的规范。
4. 开发工具
企业Java开发工具为创建Java兼容的应用程序、Applet,Servlets和JavaBean组件提供了一个途径。通过将Java客户端自动连接到现存的服务器数据、交易和应用程序上,客户便可以利用现存的商业应用程序和Web进行日常的商业运作。
1.1.3 应用范围
作为一门正处于发展高峰期的程序设计语言,Java深刻地体现了“设计”的精髓,严谨清晰的结构使其具有良好的扩展能力和广阔的发展空间,简洁的语法提供了良好的可维护性,同时,通过降低程序员编码的难度使其能够将更多的精力专注于业务逻辑的设计与系统框架的构建。在可以预见的未来3~5年内,Java将进一步巩固其在服务器端确立的战略优势并同时向嵌入式系统等应用中延伸。
由于Java语言具有许多优秀特性,所以其应用前景必然美好,未来发展肯定会与互联网的发展需求绑定。Java将应用于以下领域:
? 所有面向对象的应用开发。
? 软件工程中的需求分析、系统设计、开发实现和维护。 ? 中小型多媒体系统设计与实现。 ? 消息传输系统。
? 分布计算交易管理应用(JTS/RMI/CORBA/JDBC等技术应用)。
? Internet的系统管理功能模块的设计,包括Web页面的动态设计、网站信息提供管理和交互操作设计等。
? Intranet(企业内部网)上完全基于Java和Web技术的应用开发。 ? Web服务器后端与各类数据库连接管理器(队列、缓冲池)。
? 安全扫描系统(包括网络安全扫描、数据库安全扫描、用户安全扫描等)。 ? 网络/应用管理系统。 ? 其他应用类型的程序。
1.1.4 Java语言对软件开发技术的影响
曾有人预言:“Java语言的出现,将会引起一场软件革命”,这是因为Java语言能在执行码(二进制码)上兼容,这样以前所开发的软件就能运行在不同的机器上,只要所用的机器能提供Java语言解释器即可。时至今日,Java的优势已经不再仅限于跨平台和动态页面显示,更多的优势逐步在支持CORBA、Web服务器后端处理以及应用整合等方面的体现。Java语言对现在以及未来软件工程和软件发展可能产生影响,可以从以下几个方面分析。
1. 软件工程
Java适用于Web的许多特征,比如平滑移植、安全、健壮和可扩展等,为面向对象软件工程设计提供了实现工具和想向空间。遵循面向对象思想,软件生命周期的各个部分都将从面向对象的角度出发实现。比如用户需求分析将被划分成具有不同状态(数据)和行为的模块,不同模块之间的联系通过消息实现等。
2. 软件的开发方法
由于Java语言的面向目标的特性,越来越多的人在用O?O(Object Orient,面向对象)开发时都在选择使用Java技术与方法来开发,这与Java的面向对象特性、模块化特性、安全性以及适应IT技术发展密不可分。
3. Web技术
Java提供的CGI、ASP替代方法Servlet/JSP以及EJB都是与互联网发展需求相呼应的,由此可见,Java在未来必然紧跟互联网发展趋势,采用Java解决企业基于Web的应用是明智的选择。
4. 分布式计算
Java对CORBA,RMI(远程方法调用),EJB,XML和网络处理的支持及应用将使未来企业分布计算向其倾斜。
5. 图形处理与多媒体效果
Java2以及以后版本提供了Swing,2D,3D,Sound等图形、图像和多媒体支持类库,弥补了早期Java版本在此方面的不足。Java的媒体处理能力使程序开发出的动画效果远比GUI技术更加逼真,尤其是利用WWW提供的巨大动画资源空间,可以共享全世界的动态画面的资源。
相关推荐: