WebService 离我越来越远去了,不好意思提的WebService,不得不说的几件事情
2009-10-23 23:09 通用C#系统架构 阅读(10675) 评论(107) 编辑 收藏 举报写文章未必代表水平高,不写文章未必代表就水平差,写文章是给别人看的,若没看,也白折腾了,有意义的、有价值的反馈,自己也会得到提高,其实写文章的过程是把自己的知识再次梳理一遍,思路严谨的表达出来的过程,写了一年多时间的文章后,不知不觉中还是有了明显提高,最起码身心又得到了一次升华,在这里感谢打击我的人,让我变得更加坚强起来,也感谢支持我的网友,大家的鼓励是我继续写下去的动力。
[聪明的人都会将我的文章与评论结合起来一同看然后整理总结出自己想要到的,娱乐目的的人只看评论不看文章]
学一学娱乐行业的明星:“左边的朋友们好啊,右边的朋友们好啊,在来点儿掌声好吗?”嘿嘿周末了,大家工作一周,辛苦了,一写文章好几个小时就过去了,唉,寂寞无聊的人可以多写写文章,又省钱又可以提高知名度,写文章是不错的选择。
曾经在架构里用到的 WebService 技术简单示意图如下:
01。曾经2001年底,2002年初,我的台湾老板跟我讲,现在国外90%的开发人员都在写WebService了,WebService应该是技术发展的未来,当时用 PHP,给我们演示了 远程调用的例子什么的,当时也没怎么研究,也没怎么注意,很可能也是 ajax的早期版本吧,现在回想起来。
02。往往自己不了解,大家炒作的东西,又找不到资料的,找不到书籍的东西,会觉得很牛B,在2002年底左右,公司才用.NET的架构改进ERP系统,大家研究了半年不到,就用了7层架构吧,为了扩展什么什么的,用了一层WebService调用,一切调用,都通过 WebService 进行调用,结果NND,程序一运行,要等3秒才可以,慢得忍无可忍,当时怀疑是自己的电脑性能不行。
03。发现多写了一层WebService后,代码的量会明显增加,最起码WebService的实现,都需要写一遍,然后再引用什么的,很烦恼,更可怕的每次程序有些变更,这些WebService也要跟着进行改进,而且特别是设计不是很固定的,编码经常改来改去,更是要命,每次引用也需要跟着修改。
04。当开发的量大,编码的量大,若函数又需要枚举类型的参数,参数是类对象时,这个折腾得更要命,而且类的命名空间会发生变化,不是很方便把类直接赋值,进行传递,这个本地类与WebService类的赋值处理好,也是个相当闹心的事情。
05。很容易发生WebService调用 莫名其妙的调用错误,异常等等,不是非常牢固,就算在开发阶段也是容易遇到这样的问题,还有遇到WEB的权限设置等相关问题也有可能,总之,挺让人折腾的。
06。为了提高WebService调用速度,我们当时也进行了很多优化,例如用单例模式,在程序启动时,后台进行预处理,预调用加载等等,但是遇到网络不稳定,经常断线时,搞死人,只要网络线被拔过,再插上,WebService调用就会失效,单实例就会崩溃,搞死人啊,后来又不得不放弃WebService,改用了Remoting,这些问题得到了解决。
07。跟Remoting比,WebService的编码,维护量是太庞大了,Remoting相对来讲,与很早时的胖C/S的开发量差距并不是非常的大,只是需要一切以面向服务的理念编写程序,哪些是服务器上运行,哪些是客户机上运行要搞清楚,划分好界限就好了。
08。为了按WebService发布、调用与其它的调用方式客户端的编码都一样,维护一套代码的思想,我们又采用了设计模式中的工厂模式、开闭原则等等思想,系统进行了升级改进,也折腾了一次,不过总的来讲很开心,身心得到了一次升华。
09。当时传递大批量数据时,速度也死慢,也想了一些方法进行改进,用二进制压缩传输什么的转换什么的,比较折腾人。
10。为了提高安全性,进行验证什么的,也比较折腾一些。
11。 现在客户要求开发C\S的情况相对少了一些,一般都用B\S架构开发,WebService的需求也开始有些被弱化,公司内部用的C\S系统一般也都在局域网里,不用WebService也可以运行的好好的,现在网络技术也很发达,在两地分布的分公司之间也可以建立虚拟的内网,就和在一个内网里效果一样,速度也有很快的,所以不用WebService也照样可以实施。
12。现在都是快速见效、不管是拉单、开发、实施、维护都希望是又快又省,能少写几个层就少写几个层,若不是客户强硬要求,或者是迫不得已,谁还去折腾WebService,不是给自己找麻烦嘛?能把项目做好,把钱收回来,比什么都要紧。
不玩WebService好几年了,可能是水平有限,没把人家的技术用好,要么就是WebService是个忽悠,忽悠了很多开发人员。
IIS里的ASP.NET程序,第一次运行时也比较死慢,给客户演示什么的,都有些不好意思,说下次会快一些,WebService给客户演示时,你都想找个地洞钻进去,唉,太慢了,无法忍受啊,若是在基于IIS里WebService能搞得飞快运行,也不是一般人能搞得定的吧,我会很佩服的,很羡慕高超的技术,别说远程调用了,在一个局域网里也感觉有些慢,甚至在自己的一台电脑上运行发布,也比较慢一些。
欢迎大家发表意见,说说自己的感受:
希望中间的小牛,能给你带来无穷的快乐,我每次看到就会笑一笑,心中烦恼会少很多。
导读:
疯狂.NET架构通用权限后台管理工具演示版2.0下载
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 如何控制用户显示的菜单权限
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 在页面中的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 数据集权限的调用权限讲解
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 数据集权限
淘宝店地址:
http://list.taobao.com/browse/0/n-8ddf3d8a90550373fa749337efe29f03---------------40--commend-0-all-0.htm