接口服务程序经验和建议

Posted on 2007-07-23 09:16  星际探索  阅读(3180)  评论(26编辑  收藏  举报
 

一:前言

     来公司快两年了,没做别的,光做接口了。做了这么多接口,总有点体会和经验,现在把这些都写出来,供大家做参考。

 

二:接口程序原则:

1,    保证程序能够 24 × 7不间断运行。

2,    保证程序能够输出足够多的日志信息。

3,    保证源代码程序具有良好可扩展性。

4,    保证源代码程序具有连贯的版本号。

5, 保证程序具有实时报警功能。

 

 

三:程序设计建议:

1:接口程序最好设计成Win服务。便于管理和控制。因为没有窗体和UI

程序占用的系统资源就比较少。同时利用的Win服务自动启动的功能,避免了人工干预。

 

2:程序的任何部分都应该加入Try…Catch语句。保证在程序中能够捕捉到错误信息。并且把这些错误信息分类保存进系统日志中,便于分析。

这部分很重要,因为如果在程序中有一个异常没有捕捉到,将导致整个服务的崩溃。

 

3:日志记录多员化。可以综合使用系统日志,文本日志。对于一些警告性的文字说明和错误信息可以写入系统日志。这些日志可以直观的反映出程序的运行状态。对于一些DEBUG日志,可以记入文本文件。这些内容将便于程序员分析出程序报错的原因和出错时系统的一些技术参数。比如当时的内存占有量,程序的输入值等。

 

4:在程序设计时一定要考虑到今后功能的扩充问题。建议使用OO的工厂模式。关于工厂模式这里就不在累述。请参考各种资料。

 

5:在程序的设计初期就应该把自定义的版本号写入源代码。今后的每一次更改都应该更新此版本号。最简单的版本号就是修改时的日期。如果没有一个维护好的版本号,将直接导致今后辨别不出最新的程序,从而造成不必要的麻烦。

 

6: 一个再智能的程序也聪明不过人类。我永远相信程序总会遇到其不能处理的数据,这时候通知人类过来帮忙就是程序唯一要做的事情。我们可以充分利用现有的技术,比如电脑的警告铃声,短信,E_Mail 来实时通知处理人。

 

7:涉及到数据库操作部分,建议使用微软的企业库2.02.0的企业库已经做了很多更新。相信不会再出现以前企业库死活连接不上数据库的情况。

同时企业库中对数据库操作做了优化,能购最大限度地节约对数据库的开销。

 

8:人类是最聪明也是最不可靠的。人类总会给程序输入各种各样的数据,所以程序要学会自我保护。对于任何输入都要做有效性判断。这点非常重要。一个好的程序就要勇于对人类给予的非法数据说“不”。

 

9:对于通讯程序,不管使用什么协议,一个设计良好的缓存系统非常重要。缓存技术能够把数据接收(发送)和数据处理分隔开来。能够充分协调急性子程序和慢性子程序之间的关系。急性子程序能够充分发挥自己的速度优势,而不会被慢性子程序拖累。同时 慢性子程序也能够从容不迫地处理数据,而不用看急性子程序的脸色。

 

10:充分利用配置文件带来的便利。要相信我们的程序将来要跑在不同的环境之下,用户也会对程序的运行方式有着千差万别的需求,不要指望程序能够足够聪明,自己适应这些环境的变化,所以这时候一个设计良好的配置文件和配置程序将会给我们的程序增加不少亮点。

 

11:总会有些别有用心的人对我们的程序和程序运行的参数产生兴趣。这时候对于敏感数据的加密将势在必行。设计一套只有我们作者和程序读的懂的加密算法将让我们高枕无忧。

 

 

 

   

 

四:结束语

       感谢 。。。。感谢。。。。感谢。。。。!!!(这里省略掉若干大家经常在奥斯卡颁奖典礼上听到的话)

Copyright © 2024 星际探索
Powered by .NET 8.0 on Kubernetes