SOA中间件——快速开发平台ES2007

es2007

J2EE Web架构与CS架构命名上的不同

        与传统的CS(客户端与服务器端)架构相比,J2EE Web程序服务器提供了很多额外的技术支持。而且这些技术是一般Web应用程序都需要用到的,但是Web程序开发人员不需要再另行开发,只需要直接拿过来使用即可。具体的来说,在Web应用中主要通过调用现成的API来完成这个功能。而且使用这些技术时,基本上没有什么技术含量。因为在具体工作中使用这些技术都是采用基本固定的格式。命名技术就是其中一个典型的代表。在这篇文章中,笔者根据自己的经验,谈谈这方面使用过程中的注意点。
一、与传统架构之间的区别。
  在使用这个技术之前,笔者认为开发人员至少需要知道,在Web架构与CS架构之间的区别。只有如此,才能够更加全面的了解采用新技术所能够带来的优势。故笔者一开始就着重强调两者之间的差异。
  在应用程序开发中,如果一个类A需要调用另外一个类B,则类A需要知道类B的源程序,然后在其中新建一个类B的实例,才能够实现调用。而且当一个程序改变时,还需要重新编译。从这可以看出,类与类之间的连接需要通过实例来完成,他们之间的连接就比较混乱。
  而采用J2EE命名服务则不需要这么麻烦。简单的说,JE22命名服务器提供了应用构件程序的命名环境。如果采用了这种技术的话,那么实现类调用时,就可以不通过实例来完成。做一个形象的比喻,命名服务就好像是一个地址簿。当开发人员在程序开发时采用了新的构件或者新建了某个类,那么相关的信息就会都在这个地址簿中登记。作为开发人员的话,就不需要再去查找原始的类,只需要在这个地址簿中查找即可。显然这方面了我们日常的开发工作,可以缩短开发的周期,同时简化类之间的引用。最重要的是,如果以后被引用的类有变化时,不需要编译整个应用程序,而只需要重编译有变化的类即可。
二、命名服务的核心环节解析。
  J2EE命名服务提供各种应用构件程序的统一命名环境。其英文简称是JNDI。从这个英文名字中可以看到,这个命名服务包括两层含义:命名和目录接口。我们在了解这个技术的时候,如果从这两个角度去理解,可能会更加简单一点。JNDI简化了高级Web程序类之间的查找调用。
  从技术上来说,JNDI主要是通过API来实现的。JNDI API提供了Web构件进行标准目录操作的方法。举一个简单的例子,可以将对象属性和Java对象联系在一起,或者通过对象属性来查找Java对象。当我们在电话簿中查找某个电话的时候,会现在索引中找到某个人的名字。然后再从这个索引中打开对应的记录,查找这个人的电话、住址等联系信息。JNDI核心的工作思路就是如此。在上面笔者谈到过,这些技术都是采用基本固定的调用格式。也就是说,JNDI已经被标准化。为此应用程序可以通过使用JNDI来访问其他通用的命名服务。如支持常用的We命名协议、DNS等命名架构。笔者认为这点非常的重要。因为其支持多种命名结构,则可以与其他平台的应用系统,如C++等进行很好的系统的整合。
三、使用命名服务的注意事项。
  JNDI命名服务支持多种命名结构,如Web命名协议、DNS命名架构等等。那么到底该采用什么样的命名结构呢?这里面还是有比较大的学问。因为在以后系统维护中,可能要与其它应用程序进行整合。此时如果整合的系统采用相同或者类似的命名架购,那么以后整合的工作就会相对简单许多。一般来说,一家公司开发的产品,其采用的都是统一的命名架购。不管开发人员喜欢使用什么样的命名结构,公司都会要求其在后续的开发时采用公司规定命名架购,这也主要是为了方便后续与自己公司产品的集成。现在主要的问题是,如果公司接受的是客户委托授权的开发,同时又有与其他软件集成的内容在里面。那么对于这个命名架购可能需要特别的考虑。如要分析一下,企业现有软件所采用的命名架构。然后根据其采用的形式,来确定自己最终需要采用的命名结构。一般来说,在一个应用软件或者一个项目中,最好采用同一种命名架购,如采用的都是Web命名协议等等。这就好像在不同版本的电话簿中,采用的是同一个目录格式。这就会在很大程度上方便用户的查询。
  其次需要注意的是,虽然JNDI命名服务采用都是基本固定的格式,即已经采用了标准化的手段。但是从实际工作来看,开发人员往往需要结合实际情况,做出适当的调整。如需要考虑,命名的合理性。包括可读性、命名的长度等问题。虽然在具体的命名规则上,没有很严格的限制。但是如果设计合理、细节考虑周到,那么在很大程度上可以减少后续维护的压力。如在一个项目团队开发中,命名的规则需要经过项目成员的讨论通过,然后再进行强化培训。这对于后续项目成员按规则办事会有很大的帮助。再如,现在不少应用软件都是按模块来开发的。此时在命名规则设计时,也需要考虑到模块的分类。简单的说,一个模块一个目录。不要将不同模块的类存放在一起。这有利于后续应用软件的升级、二次开发等等作业。总之,虽然命名服务的使用比较简单,但是具体在设计时,还是有一定的难度。需要项目管理人员具有比较丰富的经验。一个合理的命名规则,对于应用程序的开发很有帮助。

posted on 2011-04-02 13:25 方正飞鸿 阅读(131) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
<2011年4月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(2)

随笔档案(43)

SOA中间件交流链接

方正SOA中间件ES2007免费下载网址

搜索

最新评论

阅读排行榜

评论排行榜