建立一个动态Web服务简化代码
作者: , 出处:天极, 责任编辑: 叶江,
2007-03-09 13:00
本文为你说明如何在享受Web服务好处的同时,避免诸多同步问题……
许多开发者应用Web服务与其业务逻辑进行通信,这样做有许多好处。在构架方面,这种方法有其它方法所没有的一系列灵活性。但是,它也存在一些缺点。缺点之一在于保持Web服务方法与业务逻辑方法同步涉及大量繁琐的工作。本文为你说明如何在享受Web服务好处的同时,避免上述同步问题。
推理过程
我最近设计并建立了一个应用程序,它利用Web服务进行业务层通信。其界面应用一个定制的组件来要求数据,定制的组件使用Web服务与业务层进行通信。这样这个界面可配置在我们希望的任何地方,而且可以通过SSL确保所有通信。它的一般构架与图A类似。
图A 一般构架
业务逻辑类包含静态方法,可在数据送交到数据访问层前对其进行处理,或通过Web服务返回通信组件。
前两个星期,当我们把它应用于主系统时,这个程序运行良好。但随后,我们开始在业务逻辑中增加越来越多的方法,它们需要通过Web服务来揭示。由于我们要为Web服务和业务逻辑类设定1:1的比例,这一过程要花费大量的时间。每次我们增加一个新业务逻辑类,我们必须建立一个新的Web服务;为Web服务安排代理类;保持代理类与Web服务同步,并保持Web服务与业务逻辑同步。
我们的最后期限很短,时间安排也非常紧。我们需要想出一个办法来自动化或简化与Web服务应用有关的维护过程。互相讨论之后(如代码生成器——我们已使用一个代码生成器从数据库表中生成类),我想出一个主意:使用反射自动调用业务逻辑类中的方法,并通过Web服务返回其结果。半小时后,我建立了第一个原型,约二个小时后,我建成了一个我感觉可用于生产环境中的组件。
- 本文关键词:

