Transcript WCF
WCF邮件通信系统
采用WCF(Windows 通信基础)技术,使用电子邮件系统作为通信管道,
使得异构系统间在无法直接互联的情况下,远程调用对方系统的功能和
服务,完成系统间的通信。
--本文版权所有:bluedoctor
--http://www.cnblogs.com/bluedoctor
--http://www.pwmis.com/sqlmap
--2010.10.08
邮件与通信
传统的邮件通信系统
现代的电子邮件系统
传统的邮件系统
通过邮局,将信件或者物品邮寄到很远的地方。
现在的电子邮件系统
通过电子邮件系统,能够将邮件内容(正文和附件)发送到
很远的地方。
软件系统的通信方式
传统的软件对象通信方式
现代的软件对象通信方式
传统的企业软件通信方案
现代的企业软件通信方案
传统的对象通信方式
两个系统要使用同一个对象,传统方式是在各自的系统中复
制一份代码,然后再通过中间层,比如文件、数据库进行数
据交互,系统间交互还是“以数据为中心”。
现代对象之间的通信方式
通过使用远程对象
的本地代理,完成
远程对象调用,系
统间通过远程对象
进行通信,一切
“以对象为中心”!
以邮件系统为通
信管道,使用
WCF编程模型
统一通信方式。
传统的企业通信方案
传统的企业通信方案
“以数据为中心”,解决应用
系统是否可以连接外网的
问题要分别采用两套代码,
两种通信模式,例如联网
使用的通过WebService ,
不能联网的采用手工或者
邮件数据包,这会带来下
面的问题:
•客户端编程模型不统一;
•程序无法享有OOP的好处;
•系统可维护性差;
•很难实现双向通信。
新的以对象为中心通信方案
“以对象为中心”,采用WCF通
信模型,集成WCF邮件通信系
统,进行远程系统间的通信。
该解决方案有以下优点:
•对客户端编程模型统一;
•采用OOP并享受其带来的便利;
•系统可维护性好;
•容易实现双向通信。
WCF邮件通信系统架构设计
应用架构
软件架构
组件视图
WCF邮件通信系统应用架构
WCF邮件通信系统应
用架构由三部分组成:
1. 外网服务子系统;
2. 邮件传输子系统;
3. 内网服务子系统;
邮件传输子系统的
通信中继程序可以
扩展为文件传输、
FTP传输甚至手工
传输。
WCF邮件通信系统软件架构
系统的软件架构
按照功能可分为:
1. 数据服务子系统;
2. 通信服务子系统;
3. 消息处理子系统;
按照层次可以分为:
1. 功能层;
2. 通信层;
3. 基础架构层。
解决方案组件视图
注:该图由
VS2010自动生
成
WCF邮件通信系统演示程序
系统配置程序
WCF服务程序
WCF邮件中继程序
WCF客户端
系统配置程序
在程序安装结束前,将会启动该程序对系统各服务程序使用的邮件账号
信息、数据库连接信息和服务器地址进行配置。
WCF服务程序
安装结束后,双击桌面上的快捷方式“WCF邮件服务端”,将会启动该程
序,它的主要功能是监视客户端请求,将请求信息发送到远程的邮件中
继程序,并处理中继程序发回的结果数据,然后再返回给客户端,有点
类似“代理服务”的功能。
系统采用依赖注入框架,也可以通过配置,不转发请求,直接提供数据
查询服务。WCF服务天生具有多线程功能,所以可以同时处理多个客户
端的请求。
所以,该程序既可作为“代理”部署在内网,也可以直接作为服务部署在外
网,而对于最终客户端,不用关心“服务”在何处。
WCF邮件中继程序
双击桌面快捷方式“WCF邮件中继”,将会启动该程序,它监视自己的邮
箱是否有新的请求,如果有就执行查询,然后将结果数据压缩加密,使
用邮件回复给对方。该程序部署在外网(也可以部署在内网) 。
WCF客户端—查询界面
双击桌面快捷方式“WCF查询客户端”,将会启动该程序 。程序提供两种
查询方式,可以根据指定对象的条件进行查询或者针对任意实体对象的
通用查询。查询过程采用异步方式处理。
WCF客户端—结果列表
这是前面按照指定条件查询“Northwind”数据库“客户”实体对象的结果。
通过本系统,完成了从客户端远程调用服务并获得结果对象的过程,使
得远程系统间的通信又多了一种渠道。
系统运行环境要求
需要.NET Framework 3.5/4.0 支持(如果没有
安装3.5版本的框架,需要安装4.0版框架,并修改安装后的配置文件)。
需要安装有North wind数据库(数据库推荐使用
SQLSERVER,也可以把数据导入其它类型的数据库,例如Access,Oracle,但
。
需要2个不同的邮箱账号,分别配置为
内网和外网使用的邮箱账号(推荐使用速度最快的
邮箱,并且服务器上的邮件数量不要太多)。
需要修改配置文件)
注:可以发邮件[email protected] 索要安装程序,该程序仅
用于演示WCF邮件通信的原理。
展望
商业价值展望
项目应用展望
商业价值展望
“WCF邮件通信系统”具有很高的商业价值,使
得我们
不用受限于“银行不能接入外网”的问题,
不用为同一个应用写两套代码,
节约开发和维护成本,
甚至有可能改变原有的“业务模式” (比如不再要
求银行的系统环境必须接入互联网。) ,
促进技术创新和应用。
项目应用展望
改进原有FT系统的维护;
FTWeb版一期项目,可用于系统数据同
步、系统更新和远程诊断;
不能直接连接外网但可收发邮件的系统;
作为分布式计算系统的通信管道。