走上开放之路:Windows开发人员的Java Web支持基础(二) - 编程入门网
用程序。Java 技术和 J2EE 提供了许多标准组件和技术,用于数据源集成、通过 EJB 组件实现的数据源实体、消息服务以及本机平台服务和组件。Web 应用程序还能够通过 各种各样的工具和组件,访问现有的平台相关的数据和应用程序组件。
后端数据源和现有的非 Java 应用程序和应用程序组件:对于本路标图来说,这些资产通 常是您不能或不想移植到 Java 或 J2EE,但是又必须与整体 Java 技术或 J2EE 解决方案集 成的 Windows 应用程序组件。新的 Java 或 J2EE 应用程序服务还能够直接或间接地访问 Windows 应用程序组件所连接到的关键数据源。例如,您可以将 Microsoft SQLServer 客户 机组件替代为使用 JDBC API 来实现的 Java 数据访问组件。 Web 应用程序编程环境和开发工具 ,它们提供用于创建、装配、部署和管理动态和健壮 的电子商务应用程序的服务器端 Java 编程和 J2EE 编程环境。 图 1. MVC 与 J2EE Web 应用程序 走上开放之路:Windows开发人员的Java Web支持基础(二)(10)时间:2011-04-30 IBM Mark Weber访问本机 Windows 组件 Java 编程环境为大多数平台无关的常用系统服务提供类和库,包括 TCP/IP 网络和套接 字、文件系统资源,以及打印。(我们将在本文后面的 用户界面考虑因素中讨论窗口处理和 用户界面。)由于您已决定使用 Java 技术来实现应用程序的 Web 支持特性,因此应该使用 对应的支持 Java 的服务和功能来代替任何平台 /Windows 相关的服务和功能。例如,将使 用了 NetBios 或 Windows 网络的通信服务代替为使用 java.net 包的 TCP/IP 和套接字, 以及将 Windows 文件系统功能代替为 java.io 包中的等价特性。 Java 本机接口(Java Native Interface,JNI) JNI 提供了用于整合本机 C/C++ 和 Java 代码的机制。它是一个具有文档和受支持的 API,JVM 本身就使用该实现来访问底层的本机平台操作系统服务。这些服务包括大多数平台 上可用的公共功能,比如通信、网络、应用程序配置、进程管理,以及文件系统。本机平台 服务还可以包括特定平台相关的服务,比如基于 Windows 的网络、设备管理、打印,以及 COM/DCOM。 如果选择使用 JNI 来访问本机 Windows 组件,您就剥夺了自己使用 Java 语言的主要价 值诉求 —— 平台无关性。然而,在某些情况下使用 JNI 是必要的。例如: 您在原型化应用程序的 Java 实现,并且能够提供瘦客户机接口和 Java Web 组件作为 Web 应用程序原型的前端。 您在分阶段地对应用程序组件向 Java 语言或 J2EE 的移植进行阶段测试。作为权宜之计 ,您将剩余的非 Java 组件的服务作为它们当前的 Windows 实现来访问。 应用程序访问的服务或数据的接口将是平台相关的(例如 COM/DCOM 组件)。 应用程序访问的服务或数据是通过某个组件或外部应用程序来提供的,在向 Java 的移植 过程中包括该组件或应用程序是不切实际的。(例如,源代码不可用是因为另一家公司或合 作伙伴拥有它,因而不允许修改它或再分发它。) 您计划将应用程序的组件移植到 Java,或者在以后某个时间将它们替代为外部可用的 Java 组件,并且您必须使用本机平台组件。 其他工具和技术 除了 JNI 之外,还有其他几种工具和技术有助于从 Java 语言中访问本机 Windows 组件 。与 JNI 一样,您应该将那些技术的使用限制到以下情况,即您不能使用 Java 语言或 J2EE 实现该集成的本机代码组件,或者您计划以后才这样做。 JNI++ 项目 JNI++ 项目提供了两个代码生成实用程序和一个旨在简化用 C++ 进行 JNDI 编程的核心 C++ 库。使用仅具有相对简单的数据结构的本机 C/C++ 类来编写简单的 JNI 程序,即这些程序仅访问字段和使用简单的访问方法(accessor)和修改方法 (modifier method),这是相当 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |