在MSDN上闲逛, 无意中看到一个这样的东西: 屏幕逻辑集成.
SLI(屏幕逻辑集成,Screen Logic Integration)用于将古老的UNIX绿色终端字符界面的程序包装成为一个web services, 以便在SOA的架构里重用这些古老的业务逻辑.
比如, 在我们公司中, 业务系统是基于UNIX的终端程序, 一些业务逻辑是在界面上的一些输入框里输入参数, 一些资料, 或是计算结果被显示在屏幕上的一个地方, 这些业务逻辑通过NEON Systems ServiceBuilder可以以web services的方式发布. 其过程如下:
1.在VS中新建一个NEON Systems ServiceBuilder的项目以建立一个SLI方案.(当然, 前提是你得先安装了这个东西).
2.向导提供一个录制器, 用来记录你的telnet程序的输入和输出, 记录下屏幕上的所有的输入了信息的地方和输出了信息的地方.
3.你在向导的录制结果中, 以直观的方式指定哪些是输入参数, 那些区域是输出结果. 还有数据类型等.
4.向导生成有关的对象模型, 生成webservice.
实际运行时呢? 我猜是这样的:
1. web services被调用, 参数被传入. webservices程序调用neon的程序.
2. NEON偷偷以telnet协议连入unix主机, 按录下的按键序列调用unix主机上的程序.
3. 参数在指定的地方由程序摸拟输入.
4. 主机程序回应结果, 这些结果本来是要显示在屏幕上的, 现在被NEON得到, 根据指定的位置信息和这些信息对应, 分辩出哪些是什么字段, 返回给web services程序.
5. web services向调用者回应结果对象.
这个东西真得有用. :D
MSDN上的文章在这里:
http://www.microsoft.com/china/MSDN/library/KnowledgeBase/kb_0409.aspx