[转载]小系统 大问题

问题描述

转自:http://rocksun.cn/big-small-system/这些日子看了些SOA的文章,想起了以前做BOSS项目中遇到的一件事。一个同事正在尝使用Java开发一个东西,因为他本来是做windowsC++的,对于Java并不熟悉,所以向我请教,看了这个程序觉得有些蹊跷,因为这个程序既不是web应用,也不是图形化工具,而是一个要运行在Unix下的main程序,其中还有一个没有终止的循环。详细询问,才知道原来的营业系统有一个通告功能,可以向营业员说明一些重要注意事项,其中的很多通告也需要通知代理商,而代理商系统则是另一个系统,移动的管理员不希望同样的信息发送两遍,所以让我们开发一个同步的功能。我的这位同事选择的方法让人很奇怪。他首先改造营业系统,在信息存放的表中添加了一个字段,表示信息是否发送到代理商系统,然后又去写那个程序,那个程序会一直循环,不断检测新到信息,如果发现新的信息,就存放到代理商的数据库中。我们的BOSS使用tuxedo中间件,在处理系统间调用时需要配置tuxedo域,而且可能代理商系统那边的对应接口也需要进行调整,显然我的那位同事对于这种方式心存畏惧,所以决定用独立的小程序解决这个问题,而无需为此大动干戈。但实际上,他的这个方式虽然不需要去配置域,可是也有很多问题。原来的系统已经有了几十个这样的后台进程,又增加了一个这样的东西,也就增加了维护人员的负担。这样的场景对我来说似曾相识,类似问题在以前参与的工商局的项目中也遇到过,为了实现考核系统,不得不和许多小系统的数据打交道,为了应付不同数据来源、不同格式的数据,必须去实现完整的导入导出功能,很多功能解决的问题涉及的数据量非常少,常常让我们有杀鸡用宰牛刀的感觉,有时候感叹还不如让勤劳的公务员手工录入呢。即使如此有时候也难以满足客户的要求,因为客户的许多细节都在不停的变化,所以我们就要不停的适应。我为实现这么简单的功能而劳师动众感到遗憾,但是我想已经体现出了许多传统应用的主要问题。在系统间的调用还需要配置,一旦依赖的服务发生的迁移,那么也要修改对应的配置,日常维护的代价很大。我想这也是SOA所要解决的问题,为此我们必须思考应该如何去做。首先SOA要有适合调用的服务,这就需要规划好需要调用的服务,诸如OSB之类的产品可以将Tuxedo的服务包装成WebService之类的接口,从而可以方便其他系统的调用。SOA过程中最复杂步骤应当就是对原有系统服务的规划上,原来跨系统的调用都是相当直接的,需要什么接口就做什么接口。而SOA化的服务应该更象一门语言,每个服务应当是一个函数,经过一定的组合就能完成非常复杂的业务。但是这种改造还要受到性能的制约,我们不太可能在一些高负荷的业务中使用WebService的技术。中国移动拥有全世界最大的用户量,大多数系统已经处在并不富裕的状况,所以改造只能是从那些数据量不大的业务和外围系统上开始。而对于一些电子政务之类的系统,只是需要能够灵活的定制服务并实现调用,对于性能则没有过高的要求,它们的目标就是尽可能的让流程顺畅。其次我们要简化维护的工作量,要将服务的地址虚拟化,这样一旦真正的服务位置发生改变我们需要做的就是把导向改变,这对于电信系统尤其重要,例如我们帐务系统,营业、代理商、客服等多个系统都会调用它的服务,在换主机或者升级的时候必须改变所有的配置,然后还要不断地测试。采用ESB之类的系统,可以让我们将许多服务用代理服务代替,就避免了对于系统间的紧密耦合,提高系统的灵活性。有了上述基础条件,就有机会实现更为复杂的能力。还是这个发消息的例子,现代ESB一个很重要的功能就是服务的组合重编,本来只是发到代理商的消息,如果其他系统也有类似的服务,在无需改动原来服务的情况,我们就可以实现到其他系统的消息发布。当然如果工具足够强大,即使服务接口并不一致,我们也能够通过参数转化完成这项工作。最后,我想说系统的快速应变能力日益重要,越来越多的业务需要更加智能化,实时性要求也更高,所以系统间的业务集成也更加普遍,再去添加一个个小系统去完成各种各样的集成已经不能满足要求了,我们是应该建立一个更坚实的平台去实现这个目标。

解决方案

解决方案二:
关于OracleERP有很多新资料现在可以在官网下载,还有今年的一些免费活动都开始报名了:http://wmdata.com.cn/oracle/iwom-OFM/index.asp?frm=1
解决方案三:
顶顶现在中间件很是发挥作用上面的资料我看了!等去注册个免费活动!
解决方案四:
到哪注册免费活动啊?我想了很久了!共享下@
解决方案五:
2楼说的那个地址就能注册免费活动!4楼的!
解决方案六:
还不错,能和其他Oracle数据库安全产品一起使用,实现更高级别的信息保护
解决方案七:
中间件可以在服务对象之间的消息传递、远程进程按需启动管理、数据可靠传输和异步通信机制方面,为ERP系统提供基础服务设施。
解决方案八:
中间件可以在服务对象之间的消息传递、远程进程按需启动管理、数据可靠传输和异步通信机制方面,为ERP系统提供基础服务设施。
解决方案九:
基于SOA架构的中间件产品成了软件厂商竞相追逐的目标。
解决方案十:
对于中间件而言,还是要回到用户的需求上来!
解决方案十一:
采用中间件产品可以很好的构建SOA的应用
解决方案十二:
采用中间件产品开发出来的应用,将很容易被整合进SOA架构

时间: 2024-11-01 13:14:37

[转载]小系统 大问题的相关文章

基于busybox的Linux小系统制作 (initrd)

我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明.准备环境:1.一个Redhat完整系统的虚拟机,本次实例使用的是Redhat Enterprise Linux 5.82.在主虚拟机上添加一块硬盘作为小系统的存储盘,这里添加的是IDE硬盘,3.准备linux内核源码以及busybox源码,这里使用linux-2.6.38.5和busybox-1.20.2版本4.复制当前系统上的内核配置(/usr/s

hinit-搭建HTK孤立词识别小系统,进行到初始化hmm这一步是出现错误

问题描述 搭建HTK孤立词识别小系统,进行到初始化hmm这一步是出现错误 使用命令如下: Hinit -A -D -T 1 -S test/trainlist.txt -M hmms/hmm0 –H models/hmm_hello –l hello –L lab hello 报错信息如下: No HTK Configuration Parameters Set ERROR[+5010] InitSource: Cannot open source file -H ERROR[+7010] Lo

新人教程之:网站小细节大问题

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 发展一个成功的网站必须经历过重重的考核,从硬件环境,到软件的选择,再到发展定位,到运行,到发展,最后到盈利.但是在这之前一些网站隐患是不容忽视的,一不小心前功尽弃在常见不过了,下面总结了一些常见的问题以说明. 一:服务器环境. 不一样的网站需要对服务器的要求也是不同的,但是想通的是找一台机器稳定,又网络稳定的服务器也是至关重要的.否则轻的影响

c-C# 人员管理小系统 信息加入 不用数据库 DataGridView

问题描述 C# 人员管理小系统 信息加入 不用数据库 DataGridView C#人员管理小系统 有 namespace 人员管理 { public class Person { public int id;//学号 public string name;//姓名 public int sex;//性别 public int age;//年龄 public DateTime time;//出生日期 } } 然后需要添加20人的信息 不需要使用数据库 最后用DataGridView显示出来 怎么

sql-SQL:一个留言板小系统。主外键关系的确定问题

问题描述 SQL:一个留言板小系统.主外键关系的确定问题 CREATE TABLE gbook--用户留言表 ( [id] int identity(1,1) not null, [title] nvarchar(50) collate Chinese_PRC_CI_AS null,--用户留言的标题. [name] nvarchar(50) collate Chinese_PRC_CI_AS null,--用户名称 [time] datetime null,--用户留言的时间. [conten

用C语言写一个小系统,要求登录时,输入密码错误三次后,必须等10分钟才能再次登录。

问题描述 用C语言写一个小系统,要求登录时,输入密码错误三次后,必须等10分钟才能再次登录. 写一个小系统,要求登录时,输入密码错误三次后,必须等10分钟才能再次登录.怎么样实现? 解决方案 第一个循环三次判断,用户登录是否成功. for(i =0 ; i<3; i++){...} if(i >=3){ startTime = currenttime; endTime= currenttime; timespan = endTime - startTme; while(timespan <

我自已用java写了一个小系统,但是在输出时TextArea中的文本不能复制是什么问题?

问题描述 我自已用java写了一个小系统,但是在输出时TextArea中的文本不能复制是什么问题? 我自已用java写了一个小系统,但是在输出时TextArea中的文本不能复制是什么问题? 最多只能复制五个字符 一下是部分代码: //声明部分 JTextArea outputText =new JTextArea(); outputText.setLocation(200,350); outputText.setFont(new Font("",1,15)); outputText.s

求开发一个小系统步骤.....

问题描述 在ASP.NET平台上用才c#语言开发一个小系统(因为是期末作业,系统不是大,就是一个小型的),后台数据库采用SQLService2000,求解开发步骤,在下初学,望高手多多指教. 解决方案 解决方案二:百度找demo有很多的.数据库自己设计..做什么样的都可以哦.解决方案三:没有,系统和数据库连接怎么连呢?解决方案四:1.系统功能分析吧!这肯定要有的吧!2.数据库设计!几张表表间关系3.动软直接开始生成代码!不知道你们是几个人!先做后台吧!4.人多的话可以双管齐下,一个人单干的话开始

求高手帮我做个小系统

问题描述 随便个小系统,最好带有详细设计说明书和需求文档 解决方案 解决方案二:要毕业设计啊!最好还是自己找本书,学着做做吧,对自己有好处!解决方案三:给多少钱,我给你做.解决方案四:PleaseDIY解决方案五:不要钱,要分,给多少