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版一期项目,可用于系统数据同
步、系统更新和远程诊断;
 不能直接连接外网但可收发邮件的系统;
 作为分布式计算系统的通信管道。
