delphi2java,delphi + java 的分布式应用

结合Delphi

客户端桌面开发的优势和Java的稳健强壮特性,采用Delphi

Client + Java Server的系统架构应该是很有市场的,经过一段时间的实际项目实践,实现架构是这么实现的,供讨论:

1.后台应用服务层可采用基于Spring+Hibernate的轻量级J2EE实现,并使用Apache XML-RPC

提供客户端调用接口;

2.前台采用 Delphi

XML-RPC

调用服务器端业务实现接口;

3.后台和前台分别实现XML-对象序列化;

4、可选用SLL,可支持数据压缩;(这个需要对Delphi

XML-RPC

实现作一些扩展)

系统架构实现基于几点考虑:

1、XML-RPC

同SOAP比较:由于Delphi

SOAP客户端存在一些性能问题和同Java实现存在一些兼容性问题,因此考虑采用XML-RPC

实现,而且XML-RPC

实现同SOAP实现相比较,性能要好很多;

2、XML-RPC

同SOCKET比较:采用HTTP协议可以有效穿透不同网络防火墙;

3、采用XML格式交换数据,而不采用XML-RPC

标准格式交换数据,主要是由于XML-RPC

格式比较简单,复杂的数据格式很难满足需求,直接使用对象XML数据流方式,有利于系统扩展;

使用的第三方软件列表(开源产品,可用于商业开发)

Spring Framework:http://www.springframework.org

Hibernate ORM:http://www.hibernate.org

Apache XML-RPC

:http://ws.apache.org/xmlrpc/

Delphi

XML-RPC

:http://sourceforge.net/projects/delphixml-rpc/

Delphi

Indy VCL:http://www.indy.org

重点几个问题说明:

1、采用XML-RPC

机制实现数据交换

2、客户端采用Cookie机制实现保存客户端登录相关信息,Delphi

XML-RPC

实现应用了Indy Cookie VCL,因此我们不需要重复发明轮子

3、Java 端 XML-RPC

实现比较多,Apahce XML-RPC

是不错的选择

4、客户端和服务器端各实现一套 对象-XML序列化/反序列化,客户端调用请求前,将对象转换为XML数据流并封装为XML-RPC

格式请求远程方法调用,服务器端解析XML数据流,并转换为对应的对象,执行实际的业务操作;这一步是非常关键的

客户端通过XMLHTTP进行请求处理的技术

:采用XML-RPC方式处理客户端和服务器端交互

客户端和服务器端传递的数据格式

:采用XML格式交换数据

如何处理上下文信息

:客户端采用Cookie机制来保存上下文关系,服务器端可以采用HTTP Session方式来来保存客户端信息,类似于浏览器

如何设计服务器端的接口

:使用 XML-RPC方式提供最原始、最简单的RPC方式调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值