📄 0068.htm
字号:
<br>
4. JavaIDL: Java Interface Definition Language<br>
<br>
当前有许多企业采用CORBA作为它们的分布式计算对象模型,它们需要Java提供开发CORBA应用的能力。Java
IDL正是为了满足这一需求而推出的,Java成为又一种能够开发CORBA对象的语言。<br>
<br>
Java IDL与CORBA/IIOP2.0规范兼容,包括一个ORB(Object Request Broker)和一个IDL语言编译器用于将用IDL语言定义的界面编译成Java源代码,然后用Java来实现该CORBA对象。Java
IDL还提供了一个名服务器用于通过名称寻找CORBA对象。开发人员通过Java
IDL API可以快速开发CORBA应用。<br>
<br>
Java Enterprise Platform Servlet、RMI、JDBC和Java IDL等强大的分布式计算技术使Java具备了在企业计算中一展身手的能力,但并不能算是完整的企业计算解决方案。一般认为,现代的企业计算解决方案除了企业的业务逻辑(business
logic)外,还需要提供对8种基本的服务的支持,分别是:<br>
<br>
·名/目录服务(Naming and Directory Service)<br>
<br>
在企业范围内的信息共享(包括计算机、用户、打印机、应用程序等所有资源)过程中,名/目录服务扮演着重要的角色,它维护着名字和实际资源之间的连接关系,以便使用者能通过名字实现对实际资源的透明访问。在一个大型的企业中可能有多种名/目录服务并存,如何将所有的名/目录服务在现有的计算架构完整地统一起来,以便让应用程序透明地访问所有的名/目录服务,就成了企业计算解决方案必须解决的问题之一。<br>
<br>
·Data Access Service<br>
<br>
大部分的应用都需要访问数据库。企业计算解决方案必须提供一种统一的界面对所有的数据库进行访问。<br>
<br>
·Distributed Object Service<br>
<br>
在一个分布式的环境中,构成整个应用的所有组件可能位于不同的服务器上,这些组件通常通过CORBA进行互联。在企业计算环境里必须提供一种统一的方法访问这些组件,以保护企业的投资。<br>
<br>
·Enterprise Management Service<br>
<br>
在任何分布式环境中,管理都是一个关键的需求,需要应用程序提供远程管理的能力,以防止出现非法操作和访问以及对设备、应用程序状态的管理。<br>
<br>
·Transaction Processing Service<br>
<br>
一些关键部门在日常工作中有大量的事务处理,事务处理的开发是一件极其复杂的工作,它们一般依赖于TP
Monitor完成工作。<br>
<br>
·Messaging Service<br>
<br>
在一些企业,特别是一些对同步传输要求不高的企业通常采用消息机制在应用程序之间进行通讯。<br>
<br>
·Security Service<br>
<br>
应用程序的安全性是任何企业都关心的焦点之一,任何企业计算解决方案都不能回避。<br>
<br>
·Web Service<br>
<br>
大部分企业级应用都以Web服务器为中心。Web服务成为企业计算解决方案的重要组成部分之一。<br>
<br>
综合这八种服务,结合企业业务逻辑(business logic)开发的需要,
Sun提出了Java企业计算解决方案——Java Enterprise Platform。如图:<br>
<br>
<img src="images/00683.jpg" width="400" height="163" alt="00683.jpg (15953 字节)"><br>
Java Enterprise Platform由EJB和八种企业级API组成,八种企业级API对应于上述八种服务,分别是JNDI(Java
Naming and Directory Interface)、JDBC、JavaIDL/RMI、JMAPI(Java Management API)、JTS/JTA(Java
Transaction Service/API)、JMS( Java Messaging Service)、Java Security API和Java Server
& Servlet。后面将对EJB和一些企业级API做一个简单的介绍。<br>
<br>
1.EJB :Enterprise JavaBeans<br>
<br>
EJB能够使企业计算的开发人员专注于业务逻辑的开发,而不需将过多的精力放在底层的计算细节,诸如多线程和通讯协议上,而且开发的组件能够运行于所有支持EJB的环境之中,具有可重用性。<br>
<br>
在通常的开发过程中,开发人员除了要保证所从事领域逻辑规则的正确性以外,还要花很多精力以保证所开发程序的安全性和可扩充性等特征。<br>
<br>
EJB将这种情况彻底改变,让“恰当的专家做恰当的事情”,应用领域的开发人员将开发精力放在应用逻辑方面,而不用考虑底层的计算技术;而计算机专业开发人员去处理底层的计算技术细节,而不用考虑应用领域的专业知识。<br>
<br>
在EJB的开发周期中存在着四个不同的角色:Deployer,负责将EJB组件分发到企业的计算环境中;EJB
Developer, 某领域业务逻辑处理组件的开发者,具有丰富的专业知识;EJB
Container,提供EJB的生存环境和各种服务(如Transaction Service),一般为各种应用服务的开发商;
EJB Server,
负责与操作系统打交道的底层细节,诸如和其他组件或系统的通信协议、多线程、负载均衡等等。EJB
Container 和Server共同组成了EJB的运行环境,目前的产品基本都将二者绑在了一起,Container的提供者基本都实现了Server。<br>
<br>
在企业的应用开发过程中,只要具备EJB的运行环境,就可以将精力放在本身的逻辑处理组件的开发上面。由于EJB组件与Container之间有统一的界面,每一个EJB组件都可以运行在所有的运行环境中。目前已有越来越多的中间件厂商支持EJB,
如WebLogic等。<br>
<br>
2.Enterprise API<br>
<br>
在八种企业级API中,除了前面介绍过的几种技术(RMI、JDBC等)以外,还包括以下几部分:<br>
<br>
2.1 JNDI(Java Naming and Directory Interface)<br>
<br>
如前所述,在一个企业内部往往多种名/目录服务并存,如何将它们统一起来,以使企业在开发应用程序时能忽略各名/目录服务之间的区别而透明地访问这些名/目录服务,成为企业需要考虑的问题。JNDI解决了这一难题。JNDI从名/目录服务本身的特性出发提出了一些统一的访问名/目录服务的界面,由各名/目录服务开发商对这些界面加以实现,使用者就可以通过这些统一的界面去访问底层的各种服务。因此在JNDI中其实存在两种角色:一个是JNDI
API, 另一个是JNDI SPI( Service Provider Interface)。SPI是各名/目录服务开发商对JNDI
API 的实现,以便用户通过JNDI API访问他们提供的服务。<br>
<br>
通过JNDI API, 开发人员只要了解JNDI就可以开发适用于所有实现了JNDI的名/目录服务的应用,保证了应用程序的可移植性,且免去了大量的学习精力。<br>
<br>
2.2 JMS(Java Message Service)<br>
<br>
消息机制在一些异步传输系统中被普遍使用。同名/<br>
<br>
目录服务相似,市场上存在着许多名/目录服务产品实现这种应用,如Tibco、MessageQ等。JMS将这些所有的产品统一于一个界面,且获得了大量的中间件厂商的支持,包括BEA
System、Etsee Soft、IBM MQSeries、Novell和Sybase等在内的中间件厂商都已宣称要实现JMS,
有的如Etsee Soft已经实现。<br>
<br>
2.3 JTS(Java Transaction System Connections)<br>
<br>
同JMS / JNDI 一样, JTS以统一的界面掩盖了各TP Monitor之间的不同,并获得了各TP
Monitor生产商的支持,以同样的方式给企业计算带来利益。<br>
<br>
2.4 JMAPI(Java Management API)<br>
<br>
JMAPI是一组与协议无关的API, 开发的应用不但可<br>
<br>
以在不同的硬件平台上运行,而且适用于多种网管协议。<br>
<br>
2.5 Java Security API<br>
<br>
企业计算的安全性主要体现在四个方面:认证(Authentication)、授权(Authorization)、信息在传输过程中的完整性(Integrity)和私有性(Privacy)。Java
2平台提供了包括公钥(public key)加密、数字签名(DSA)等功能在内的加密框架,实现各加密功能,以保证Java
计算的安全性。<br>
<br>
综合JTS、JMS、JNDI等API的特点可以发现,Java Enterprise API不是自己去重新开发这些应用软件,而只是在这些产品之上又增加了一个抽象层,以此来提升Java和各类应用软件在企业中的应用,保证了用Java开发的企业计算应用能够在多种平台上运行。<br>
<br>
短短的三年多时间,Java已经从当初只能开发applet等小小的应用、发展到今天在企业计算中的大量运用。相信随着Java技术的进一步发展,一定会有越来越多的企业受益于Java技术革命带来的好处。</p>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -