`
leebai
  • 浏览: 63244 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

预测:企业应用系统开发的下一个革命,Web应用2.0 (非Web2.0)

阅读更多
背景贴:

Java Web层的下一个王者是谁?

web开发的下一个革命:基于富客户端+业务服务的“企业应用开发技术”与基于动态网页的“动态网站开发技术”彻底决裂(就像当年c/s结构与终端/主机结构彻底决裂一样),企业应用开发技术将进入第四代,Web应用开发进入第二代。在这场革命中,ajax和webservice(指概念,不指标准)只是两个导火索,真正的大变革还在后面。

这场革命完成的标志有两个:

一是出现专门的“业务服务器”,或者目前的应用服务器演变成“业务服务器”。为什么这么说呢?因为目前的应用服务器是为“生成动态网页”服务的,在架构上处于Web服务器的后面,用来处理web服务器不能处理的所谓“动态内容”,因为是做为web服务器的一个下家,所以要考虑HTTP协议的所有规范,比如各种HTTP请求方法、各种HTTP头标,各种BODY数据格式,HTTP缓存逻辑,编码规范,等等等。而如果未来的后台服务器只需要提供“业务服务”,那么HTTP协议至少80%以上的spec可以不考虑,不实现(比如请求方法,我看只支持POST就够了),这样后台服务器的体系结构可以精简,也会带来更高的运行效率;另外,后台服务器还可以专门针对“业务服务”进行增强,比如session跟踪,用户访问监控,权限管理等等目前需要由应用程序自身来实现的功能,完全可以在“业务服务器”中做通用的实现。这种服务器端架构重新设计的结果就是:目前应用服务器的“Web容器”和“业务(EJB)容器”,很可能整合成“业务服务器”中单一的“业务容器”。这也是为什么7wxAop要把Jetty服务器作为部件嵌入框架的原因之一,我认为只有我们对“服务器”本身的架构有变革的能力,才可以在这场革命中占据有利的位置。


二是粗粒度界面组件(像Treeview,Listview,EidtableGrid等等)成为浏览器的标准支持。如今DHTML/DOM已经很成熟,基于HTML/DHTML/DOM/CSS的应用的用户界面,可以做得比以往任何类型的应用的界面都漂亮,都富于交互功能,以前从来没有一种界面技术能给开发者提供如此细粒度的控制可能。但问题也恰恰出现在这种过于细粒度的界面构造方式,它导致了严重的界面生产效率问题。目前大部分的Ajax框架都在做这样的工作:将这种细粒度技术的基础上构造粗粒度的界面组件,比如国内的dorado,我这个7wxAop中的7wx也是;另一种工作是设计全新的粗粒度界面组件,如adobe的Flex;还有一种工作做得很早,估计已经被大部分人忘记了,就是在IE中直接使用ActiveX界面组件。我认为,不管是哪种粗粒度界面组件实现,最好都由浏览器厂家联合来做,做出标准、通用、有持久生命力的界面组件。微软推出.net的时候,粗看简介我还以为是理想中的界面层技术,细看代码原来还是“服务器动态页面”,后来SUN的JSF也这么学,我们公司一个项目组现在在用的SAP的webDypro也是,因此我都有点怀疑:业界大佬们之所以不愿意在客户端组件上下功夫,之所以不想变革目前的Web应用架构,不是因为他们没看到技术需求,而是因为,他们的根本利益在于利润丰厚的各种服务器端产品;Web开发之所以搞得这么复杂,里面说不定有什么惊天大阴谋;或者说,这些业界大佬们睁一只眼闭一只眼地看着广大Web开发者累得死去活来,看着Web独立开发商和集成商一个个倒下去,却背过身去窃笑着点着大把的钞票----扯远了:),这问题有空发个专贴,反正做了6年IBM独立开发商就给我这种感觉。


建议所有Web开发者都关注这两个方向的进展,搞技术的也要有一定的前瞻性,否则老跟在别人屁股后面跑,实在没有意思。
分享到:
评论
9 楼 leebai 2007-04-29  
rainlife 写道
leebai 写道
其实第一条有两个主题:
一是给现在的应用服务器瘦身,compact化;二才是增强功能,二可以设计成可选的,如现在的EJB容器一样。

您所说的第一点,是否是将应用服务器的职责细分,比如说负责比较单一的某一方面,然后在某个职责方面功能增强,比如说负责权限等?



要不这样理解吧:

compact化呢,就是把目前的web容器砍掉,不要了;

增强呢,就把目前的EJB容器改造成直接接受HTTP(只要一个小的协议子集)请求的东西。
8 楼 rainlife 2007-04-28  
leebai 写道
其实第一条有两个主题:
一是给现在的应用服务器瘦身,compact化;二才是增强功能,二可以设计成可选的,如现在的EJB容器一样。

您所说的第一点,是否是将应用服务器的职责细分,比如说负责比较单一的某一方面,然后在某个职责方面功能增强,比如说负责权限等?
7 楼 leebai 2007-04-28  
其实第一条有两个主题:
一是给现在的应用服务器瘦身,compact化;二才是增强功能,二可以设计成可选的,如现在的EJB容器一样。
6 楼 LucasLee 2007-04-28  
leebai 写道
Lucas Lee 写道
第一点不太理解,第二点非常赞同!
另外,前瞻性是很好的,但是对于还需混饭吃的兄弟,也不能望得太远,失去了对脚下的注意。


理解第一点是比较难,因为目前还没有人做这件事,甚至没有完整的理论模型。


或者是第一点封装的太大,提供强大功能的同事,不能细粒度的使用,作为一个公司的产品还可以,作为通用的可编程工具不行.

第二点的就不同了,通用的,可编程性,灵活性很大,当然就不同了.
5 楼 leebai 2007-04-27  
Lucas Lee 写道
第一点不太理解,第二点非常赞同!
另外,前瞻性是很好的,但是对于还需混饭吃的兄弟,也不能望得太远,失去了对脚下的注意。


理解第一点是比较难,因为目前还没有人做这件事,甚至没有完整的理论模型。
4 楼 LucasLee 2007-04-27  
第一点不太理解,第二点非常赞同!
另外,前瞻性是很好的,但是对于还需混饭吃的兄弟,也不能望得太远,失去了对脚下的注意。
3 楼 rtdb 2007-04-27  
唉,又一个IBM的受害者。
MS走的另一条路,要不要试试看?
2 楼 winterwolf 2007-04-27  
leebai 写道
背景贴:

Java Web层的下一个王者是谁?

但问题也恰恰出现在这种过于细粒度的界面构造方式,它导致了严重的界面生产效率问题。目前大部分的Ajax框架都在做这样的工作:将这种细粒度技术的基础上构造粗粒度的界面组件,比如国内的dorado,我这个7wxAop中的7wx也是;另一种工作是设计全新的粗粒度界面组件,如adobe的Flex;还有一种工作做得很早,估计已经被大部分人忘记了,就是在IE中直接使用ActiveX界面组件。我认为,不管是哪种粗粒度界面组件实现,最好都由浏览器厂家联合来做,做出标准、通用、有持久生命力的界面组件。


xform 就是这个类型的组件  还有xul svg等等. 组合这些元素我认为应该是cilent+server模式 但不是目前.net 和 jsf那种方式.

cilent->xmlhttp server->webservice(rest) 中间是xml处理框架执行xml pipeline 比如cocoon ops   
1 楼 rbible 2007-04-27  
好帖不错

相关推荐

    社交问答:取代BBS的Web2.0革命.docx

    社交问答:取代BBS的Web2.0革命.docx

    精通WEB2.0电子书下载

    Web是World Wide Web的简称,通常称为万维网或互联网。用户可以通过浏览器访问互联网上的网站,并通过网站获取相关信息。...Web 2.0是相对Web 1.0而言的新一类互联网应用的统称,是一次从核心内容到外部应用的革命

    web2.0教程

    web2.0是相对Web1.0(2003年以前的互联网模式)的新的一类互联网应用的统称,是一次从核心内容到外部应用的革命。

    ASP.NET v2.0入门经典中英文 源码(DOC) ASP.NET.rar

    ASP.NET 2.0在Web应用程序开发方面迈出了革命性的一步,新增了50多个服务器控件,类的数量也增加了一倍,其他许多方面也有很重大的变化。ASP.NET 2.0的目标是提高开发人员的效率、改善应用程序的性能和可伸缩性。...

    《ASP.NET.2.0.入门经典(第4版)》[源代码]

    ASRNET 2.0在Web应用程序开发方面迈出了革命性的一步,新增了50多个服务器控件,类的数量也增加了一倍,其他许多方面也有很重大的变化。ASP.NET 2.0的目标是提高开发人员的效率、改善应用程序的性能和可伸缩性。 ...

    net 2.0 高级编程第4版 part 1

    ASP.NET 2.0在Web应用程序开发方面迈出了革命性的一步,新增了50多个服务器控件,类的数量也增加了一倍,其他许多方面也有很重大的变化。ASP.NET 2.0的目标是提高开发人员的效率、改善应用程序的性能和可伸缩性。...

    ASP.NET 2.0高级编程(第4版) 4/6

    ASP.NET 1.0版本是2000年发布的,许多人认为它在Web应用程序开发方面迈出了具有革命性的一步。相信ASP.NET 2.0更激动人心、更富有革命性。ASP.NET 2.0建立在已发布的ASP.NET 1.0基础之上,但它主要关注的是开发人员...

    dotnet framework 2.0

     .NET Framework是Microsoft为开发应用程序而创建的一个富有革命性的新平台。  这句话最有趣的地方是它的含糊不清,但这是有原因的。首先,注意这句话没有说“在Windows操作系统上开发应用程序”。尽管.NET ...

    ASP.NET 2.0高级编程(第4版) 6/6

    ASP.NET 1.0版本是2000年发布的,许多人认为它在Web应用程序开发方面迈出了具有革命性的一步。相信ASP.NET 2.0更激动人心、更富有革命性。ASP.NET 2.0建立在已发布的ASP.NET 1.0基础之上,但它主要关注的是开发人员...

    ASP.NET 2.0高级编程(第4版) 5/6

    ASP.NET 1.0版本是2000年发布的,许多人认为它在Web应用程序开发方面迈出了具有革命性的一步。相信ASP.NET 2.0更激动人心、更富有革命性。ASP.NET 2.0建立在已发布的ASP.NET 1.0基础之上,但它主要关注的是开发人员...

    ASP.NET 2.0高级编程(第4版) 1/6

    ASP.NET 1.0版本是2000年发布的,许多人认为它在Web应用程序开发方面迈出了具有革命性的一步。相信ASP.NET 2.0更激动人心、更富有革命性。ASP.NET 2.0建立在已发布的ASP.NET 1.0基础之上,但它主要关注的是开发人员...

    基于J2EE框架的个人博客系统项目设计与实现

    这些都预示着我们进入了一个新的互联网阶段web 2.0,它是相对web 1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命[10]。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web 1.0网站...

    基于J2EE框架的个人博客系统项目

    这些都预示着我们进入了一个新的互联网阶段web 2.0,它是相对web 1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命[10]。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web 1.0网站...

    ASP.NET 2.0高级编程(第4版) 3/6

    ASP.NET 1.0版本是2000年发布的,许多人认为它在Web应用程序开发方面迈出了具有革命性的一步。相信ASP.NET 2.0更激动人心、更富有革命性。ASP.NET 2.0建立在已发布的ASP.NET 1.0基础之上,但它主要关注的是开发人员...

    ASP.NET 2.0高级编程(第4版) 2/6

    ASP.NET 1.0版本是2000年发布的,许多人认为它在Web应用程序开发方面迈出了具有革命性的一步。相信ASP.NET 2.0更激动人心、更富有革命性。ASP.NET 2.0建立在已发布的ASP.NET 1.0基础之上,但它主要关注的是开发人员...

    基于J2EE框架的个人博客系统项目设计与实现.doc

    这些都预示着我们进入了一个新的互联网阶段web 2.0,它是相对web 1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命[10]。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web 1.0网站...

    RSS新闻聚合型网站的数据分析系统

    在Web 2.0背后的诸多技术中,AJAX技术是被用户和开发人员广为接受的技术之一。 作为一种Web客户端技术,它在组合了一些传统技术的基础之上,增强了与服务端通信的能力。它增强了客户端的通信能力,使得客户端可以异步地...

    Fesend CMS系统源码(.NET 2.0版本!)

    Fesend CMS系统源码 【.Net 2.0版本!】 环境:Vs2005,SqlServer 2000 运用了流行的AJAX技术及.net技术,将.net的缓存技术发挥到淋漓尽至,从而极大的提高了程序运行的效率以及减轻了服务器的负担,性能及效率...

    ASP.NET开发实战详解

    ASP.NET是Microsoft推出的新一代动态Web编程技术,该技术是Web应 用开发领域的一个革命性突破。本书将围绕目前最新推出的ASP.NET 2.0, 由浅入深,从基础到应用,对其进行全面的深入讲解。本书共分上、中、下 三篇...

    web性能权威指南

    涵盖Web开发者技术体系中应该掌握的所有网络及性能优化知识。... 《Web性能权威指南》适合所有Web应用及站点开发人员阅读,包括但不限于前端、后端、运维、大数据分析、UI/UX、存储、视频、实时消息,以及性能工程师。

Global site tag (gtag.js) - Google Analytics