阿朱原创:你在5年前看到了现在吗?---从过去到未来(0分)

  • 主题发起人 主题发起人 阿朱
  • 开始时间 开始时间

阿朱

Unregistered / Unconfirmed
GUEST, unregistred user!
从过去到未来
为什么会有COM或EJB呢,为什么会产生中间件呢?为什么事情会发展到如今的地步,你在5年前看到了现在吗?
其实想来一切都是必然
代码的瀑布时代:
状况:一个大瀑布,一个函数或许包含上千行代码,一个函数把处理一个业务的所有步骤都写在了一起。
缺点:代码太长,不容易阅读代码,不容易调试和修改。全写在一起,不容易拆分功能,比如现在不需要其中的一些步骤,
做法只能是注释。比如这个代码在别处也需要,就做成一个函数,或者干脆复制过去。
代码的函数时代:
状况:人们意识到大瀑布的缺点,于是函数被广泛应用。函数可以组合,对于客户化定制容易了许多。并且有明确的输入输出,
使程序员调试程序也容易了许多。
缺点:函数太多,有的函数只是我内部调用,没必要每个需要给客户化的程序员看全部的源码,只需要给他他所需要的代码就行,
甚至梦想我也不想看到你的代码,只要你有这个功能,怎么用告诉我就行了,我就很快能用到你的东西给客户二次开发
代码的DLL时代:
状况:只把需要给别人调用的函数放出来,其他的都藏起来。并且DLL有统一的操作系统来管理内存和载入和卸出,
很方便,并且DLL还可以用A语言写,用B语言调用
缺点:所有放开的函数,其实是有相互关联关系的。比如说,我的一个DLL中,既包含了打印的10个函数,又包含了文件管理的10个函数。
但是从DLL的接口上看不出他们之间的关系。分开吧,那么DLL就太多了,不好管理,缺了哪个,程序就或许不能运行。
代码的组件时代:
状况:所有有关联的函数都放在了一个组件里,并且多个组件可以放在一个DLL中。这样我的10个打印函数就是一个组件,
10个文件管理组件就是一个组件。这样逻辑性也强,并且DLL也少。
缺点:过去的应用大部分都是单机程序,系统与系统间互相不来往,如果两个系统想有数据和业务的来往处理,
只能在数据库的表结构上做文章,因为数据库只放在一台机器上每个子系统都能操作,这样来达到系统间的互联。
但是这只能表示另一个系统可以读取另一个系统的数据,而且你对他的这个子系统的数据表又未必清楚,怎么操作没有人告诉你。
组件的集中化管理时代:
状况:中间层的产生。把需要公用的DLL放在一台机器上。这样A DLL中的组件要调用一个B DLL中的组件很容易,
很多复杂的业务接口操作可以通过代码实现了,不需要直接读另一系统的数据库了。你专注开发自己的一块系统,使人们开发难度大大降低。
缺点:由于互联网的到来,一个新的问题又产生了。过去的应用大部分都是本企业内部。但是现在需要和其他企业的系统连在一起来进行业务往来。
问题是:对方的系统不一定是用微软的产品编写的。我的组件是COM,对方却是EJB,我们怎么办?
组件的WEB SERVICE包装化的时代
状况:互联网的兴起有很大的原因就是不管WINDOWS还是UNIX,TCP/IP是一样的机理,HTTP当然也是标准。
能不能利用这两个现成的技术做些文章?于是一项搭建在TCP/HTTP上的技术产生了,那就是WEB SERVICE。不管是COM,还是EJB,还是CORBA,
只要包装一下WEB SERVICE,就可以互相调用了。WEB SERVICE是一项国际标准,不归某一家公司专有,并且现在有大量的公司在支持WEB SERVICE。所以WEB SERVICE必然会成为流行,
因为它代表客户的需求
软件的基础设施目前已经构筑稳定,例如OS,数据库,WEB服务器,中间件。而目前遇到的最大的困难就是应用的集成。
因为市场的合作和公司的并购,企业间多年的各种应用要互连起来,而且还要以统一的界面和方式来管理,而且还要考虑安全方面,WEB访问。
这也是每家公司都发布各自的一套完整解决方案的原因。例如:
IBM:
开发工具:webSphere Studio
门户代理:WebSphere Edge Server
商务应用:WebSphere Commerce Server
集成:WebSphere Intergration Server
协作: Lotus/WebSphere Portal
内容管理: Content Mgmt Server
移动:Mobile Info Server
数据: Db2
应用服务器:WebSphere App Server
服务器管理工具: Tivoli
操作系统:多种都支持
SUN:
开发工具:iPlanet App Builder
门户代理: iPlanet Web Proxy Server
商务应用:iPlanet EcXpert
集成:iPlanet Intergration Server
协作: iPlanet Msging/Portal
内容管理: 没有提供
移动:iPlanet Wireless Server
数据: 绑定Orcale
应用服务器:iPlanet App Server
服务器管理工具: 没有提供
操作系统:Solaris
Microsoft:
开发工具:Visual Studio
门户代理: ISA Server
商务应用:Commerce Server
集成:BizTalk Server
协作: Exchange
内容管理: sharePoint Server
移动:Mobile Info Server
数据: SQL Server
应用服务器:App center
服务器管理工具: Host Intergration Server
操作系统:windows

从以上你可以看出什么?
那就是现在的技术已经很同质化了,技术的发展如果从发展规律来说,已经进入了阶段性的成熟期,
而不会出现井喷的现象。技术谁好谁坏不是竞争的重点,重要的是谁的赢利更大。作为一个商业赢利型公司,
开放不开放,免费不免费并不怎么重要,那只是媒体吃饭的家伙。我们主要的目标就是利用这些上游厂商提供的基础设施为我们的最终客户提供完整的解决方案,
当然羊毛出在羊身上,最终的成本仍然会转移到客户身上,就看你的客户是否是一个愿打一个愿挨。
就如J2EE和.Net的竞争,基于中国应用现状,是否值得争论,我们应该看的很明白。有必要再继续吗?
 
很有同感
 
最好媒体多鼓鼓劲,这样我们也好骗客户钱
 
阿朱:
很喜欢你的文章,经常专门收集你的帖子。
不过,你发的这一两篇文章有些地方我不赞成:
你说“开放不开放,免费不免费并不怎么重要”,这可不是微软的认识,开放源代码是微软最大的
敌人,对开放源代码的重视程度超过了任何一个竞争的公司——包括IBM。
开放源代码和免费软件是压根不同的两个概念,这里就不多说了,要不然又是几千字。
另外,你在另一篇帖子《JAVA与.Net,谁是未来》里提到.NET的一个主要目的是跨各版本的WINDOWS,
这我也非常不赞成,这里有一个简单的逻辑:
如果.NET FRAMEWORK本身更新了呢?应用程序就不需要改写了吗?
要知道,技术是必然更新的,应用程序在不同版本的FRAMEWORK上的兼容性估计会永远存在问题。
而横向的兼容性——不同的操作系统一旦发布,其代码就稳定下来,通过VM就很容易实现兼容了。
微软对于未来的规划,可能也不是你想的那样,在若干年前就已经知道未来。尽管我没有和比尔
盖茨作邻居,我也相信他不是超人,他也要摸着石头过河,根据技术发展调整自己的策略。微软
也失败过多次,也学会了迅速调整。
但我们比不上微软,既没有他那么巨大,又比不上他那么灵活。
所以,我们小心翼翼的跟着微软,不要跟得太紧,否则这个巨人退一步的时候,会不留神把我们
踩死。
很喜欢和你交流,请相信我的这些胡话是说给朋友听的。
 
都是我的错[:D],我怎么没考虑到呢,五年以前我还在上学,
为了一个女孩子天昏地暗,听了阿朱大哥的话(也许我比你大),明白的很多.
请继续多发好文章
 
接受答案了.
 
后退
顶部