`
triu
  • 浏览: 10420 次
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JSP is no longer required.

阅读更多

历经一个半月的努力,框架终于在200712月上旬完成了改造,目前框架已支持热部署。

 

框架采用XSLT格式化XMLXHTML的方式来展现所有内容,内容管理采用入口参数来控制,浏览器请求的地址会被引擎转换到相应入口,引擎根据入口定义调用方法获得特定格式的XML内容,然后根据入口定义找到对应的XSTL文件,使用XSLT文件将XML内容格式化成XHTML

 

这样做的目的就是要把管理、逻辑、内容、风格分离,使得任务可分配给擅长某方面技术的人员,他们不再需要熟悉其它方面,使得开发工作可同步进行。

 

内容根据系统设计时定义的数据库或XML来制作,入门了的Java工程师即可胜任此工作。

 

逻辑根据入口定义从内容中获取数据并生成特定格式的XML内容,只要有一定基础的Java工程师即可胜任此工作。

 

风格根据UI设计时定义的界面来制作,需要具有XSLJavaScriptCSSHTML技术特点的Web工程师来完成这部分工作,明显的,这里多了一个XSL

 

管理根据入口定义配置逻辑与风格的关联,这部分需要有相当功底的架构工程师来完成。

 

此外,UI工程师和测试工程师肯定也少不了。

 

开发流程可以这样控制:

 

UI工程师制作格式为HTML的效果页面,并将制作好的文件提交到CVS

 

架构工程师根据效果页面定义格式为XSD的页面数据,并将制作好的文件提交到CVS

 

Web工程师根据效果页面和页面数据制作格式为XSL的数据格式,以及相应的格式为JSJavaScript脚本和格式为CSS样式,经过测试将制作好的文件提交到CVS

 

Java工程师根据页面数据制作生成数据的业务逻辑和数据存储,经过测试将制作好的文件提交到CVS

 

架构工程师定义功能目录入口,把Web工程师和Java工程师制作的文件整合起来;

 

架构工程师把完整的应用软件打包并发布到网络中;

 

测试工程师对应用软件进行功能测试,并填写测试报告;

 

修改BUG后重新发布应用软件;

 

如此将不再需要再嵌入Java代码,JSPHTML中嵌入代码,XSPXML中嵌入代码,这样做意味着样式的修改不会影响到逻辑和内容,逻辑或内容的修改不会影响到风格,前提是只要定义XML内容的XSD不改变,因此,系统的开发效率、稳定性将得到很大提升。

 

此外,使用入口匹配XSLTXML的方法使得不同的使用者可以选择不同的风格,体验变得更有趣。

 

框架新近开始支持热部署,包括框架系统配置部分以及所有发布到框架中的应用软件。同时,框架还支持数据同步,以适应集群服务器部署。

分享到:
评论
64 楼 triu 2008-01-11  
stevenwang 写道
个人愚见,越清晰的 架构,复杂度 越高,时间 成本 越高。
为了 实现 层之间的通信 需要 定义 各种标准 接口。
松耦合不见的好用。


这要看从什么角度来看了,如果开发上了一定规模了,还是清晰比较好,因为,那个
时候管理成本是大头了。

凡事都有个度,看怎么把握了,对于松偶合嘛,眼光要放长远一点,开始可能花费不
菲,可大家公认的真理是:变化才是永恒的,所以,如果需求变化造成的影响能被限
制在一定范围,而不会波及到系统的其他部分,那就值了。
63 楼 stevenwang 2008-01-11  
个人愚见,越清晰的 架构,复杂度 越高,时间 成本 越高。
为了 实现 层之间的通信 需要 定义 各种标准 接口。
松耦合不见的好用。
62 楼 triu 2008-01-11  
Transformers 写道
建议做一些code generator,我现在的项目也是基于XML+XSLT,在没有任何ide的情况下,开发一个功能挺费劲的,而且后来发现大部分的功能都差不多,用ruby做了code generator解决一些很繁琐的工作。


很对呵,我也发现了“大部分的功能都差不多”,呵呵,我现在是用复制加替换变量的方法。

genereator的工作正在考虑中,如果能的话,就放到Eclipse插件里一起做了。
61 楼 Transformers 2008-01-11  
建议做一些code generator,我现在的项目也是基于XML+XSLT,在没有任何ide的情况下,开发一个功能挺费劲的,而且后来发现大部分的功能都差不多,用ruby做了code generator解决一些很繁琐的工作。
60 楼 triu 2008-01-11  
ray_linn 写道
XSL一下类似docbook这样复杂的DTD就知道爽了.


不是纯粹地用XSL,在框架里XSL的地位只相当与CSS,况且,DTD的语法不符合XML定义,
应该使用XSD。
59 楼 triu 2008-01-11  
对于前面几位批评的朋友,甚为感谢,诚挚地感谢你们对在下的关心。

我这么做正是基于自己在多年的开发工作中感受到的痛苦,努力地想简化
开发过程,让开发工作能准确定位,能更精确地预测项目的开发周期,我
知道CMMI的目标是什么,所以,我不能同意各位的说法,当把它进行到底。

再次感谢。
58 楼 triu 2008-01-11  
myyate 写道
triu 写道
如你所说,XSLT的开发效率体现在两个方面:1。掌握的人不多;2。缺乏相应的工具。

针对这两个方面可以采取如下方法,1。培训;2。使用浏览器本身对XSLT的支持。


确实掌握的人不多,因为用这个做项目的本来就少,一般也只有国外个把项目是用这个技术的。
工具你可以考虑Altova XMLSpy,这个足以满足项目的开发。不过是收费的,网上有key,但是注册了还是过期。


谢谢你的建议,当然将来能做出Eclipse的插件来做开发是最好的了。
57 楼 triu 2008-01-11  
myyate 写道
楼主这个也做出来了框架,不简单。其实应用也有,csdn就是。
上学的时候写小论文就是写XSLT+XML做web层的适用性研究,虽然论文是那样写的,但是我感觉不太实际,至少目前,说这些并没有打击楼主的意思,只是就技术论技术
XSLT+XML做Web层用过一次,做国外的一个在线优惠券兑现系统,真的很痛苦,其实我写几个模块没有什么,就是把读出来的数据生成规定的XML,但是我觉得在很多国内系统中不太现实,代价或者周期有点高,估计国内用这种技术的公司寥寥无几,这个是现实问题。
我想问楼主一下,你们对于大于1M的XML文件如何处理的?是分解?

PS:我觉得有点奇怪,这个帖子为什么投隐藏呢?技术嘛,终究是讨论讨论嘛


不会有大于1M的文件,XML内容只是页面上的动态数据,而不是描述整个页面及其布局的,
举个例子就是数据库结果集,且这个内容会采用分页。而对于需要文件上传和下载时使用
单独的文件服务器,XML只提供文件地址。
56 楼 Qieqie 2008-01-11  
myyate 写道
PS:我觉得有点奇怪,这个帖子为什么投隐藏呢?技术嘛,终究是讨论讨论嘛


有人投隐藏,那在那个人看来就有一定的道理。

当然这个隐藏是我投的,光明正大,我来说道理:
这个帖子 1)犯了标题党,2)这里是海阔天空,不是Java版。
转到Java版,我投隐藏的机率会很低,但不排除因为“标题”原因也来一次。
(我是很懒很懒投隐藏、入门的)

看不惯,那就互相扯皮或只好忍者。这就是网络!
55 楼 weizh 2008-01-11  
XSLT是很容易掌握的技术,无非就是xpath等语法。不要强调掌握的人多,就当是都已经掌握了,这样的项目还是后患无穷。
54 楼 atianchen 2008-01-11  
裹脚布已经够厚老,还非要套上几双棉袜!!!何苦了,何必了?
53 楼 ray_linn 2008-01-11  
XSL一下类似docbook这样复杂的DTD就知道爽了.
52 楼 weizh 2008-01-10  
LZ把当前页面做个XSD看看呢,明显没有经验么,这个过程居然理想化到这种程度!
这样的结构的失败项目就摆在我面前,可以说是后患无穷。不过话说回来,没有切肤之痛,实难有感触的。
再多说一句,以这样的结构做复杂业务系统,可是说是没事找抽,做做简单网站兴许。
51 楼 myy 2008-01-10  
我也曾经对 XSLT 狂热研究过一阵,不过如今对他也不再感冒了。

原因嘛,前面人都说完了。对楼主不撞南腔不回头的执着表示佩服。
50 楼 myyate 2008-01-10  
triu 写道
如你所说,XSLT的开发效率体现在两个方面:1。掌握的人不多;2。缺乏相应的工具。

针对这两个方面可以采取如下方法,1。培训;2。使用浏览器本身对XSLT的支持。


确实掌握的人不多,因为用这个做项目的本来就少,一般也只有国外个把项目是用这个技术的。
工具你可以考虑Altova XMLSpy,这个足以满足项目的开发。不过是收费的,网上有key,但是注册了还是过期。
49 楼 mingo 2008-01-10  
感觉就像GWT一样,技术花哨而不实用。
48 楼 myyate 2008-01-10  
楼主这个也做出来了框架,不简单。其实应用也有,csdn就是。
上学的时候写小论文就是写XSLT+XML做web层的适用性研究,虽然论文是那样写的,但是我感觉不太实际,至少目前,说这些并没有打击楼主的意思,只是就技术论技术
XSLT+XML做Web层用过一次,做国外的一个在线优惠券兑现系统,真的很痛苦,其实我写几个模块没有什么,就是把读出来的数据生成规定的XML,但是我觉得在很多国内系统中不太现实,代价或者周期有点高,估计国内用这种技术的公司寥寥无几,这个是现实问题。
我想问楼主一下,你们对于大于1M的XML文件如何处理的?是分解?

PS:我觉得有点奇怪,这个帖子为什么投隐藏呢?技术嘛,终究是讨论讨论嘛
47 楼 triu 2008-01-10  
一蓑烟雨任平生 写道
项目验收后一年就进入运维期,跟项目大小没有关系。

流程和框架的价值在于QCD(质量、成本、交付期)指标的改善。


说得很好,谢谢你,这就是我做这个框架的出发点。
46 楼 triu 2008-01-10  
目前,已经实现了系统配置部分的插件,能动态部署到框架中。

下一步是,找到合适的项目,将项目做成插件发布到框架中。

计划就这么简单。
45 楼 一蓑烟雨任平生 2008-01-10  
项目验收后一年就进入运维期,跟项目大小没有关系。

流程和框架的价值在于QCD(质量、成本、交付期)指标的改善。

相关推荐

    解决Handler processing failed; nested exception is java.lang.NoClassDefFoundError_kmode exception

    javax-servlet-jsp-jstl-core-Config - CSDN博客.url**:这个URL指向一个CSDN博客文章,很可能提供了关于如何解决特定`NoClassDefFoundError`的详细步骤,特别是与`javax.servlet.jsp.jstl.core.Config`类相关的。...

    jsp-api-2.1.jar

    jsp-api-2.1.jar jspAPI文档欢迎下载

    login.jsp用户登录界面

    login.jsp用户登录界面login.jsp用户登录界面login.jsp用户登录界面login.jsp用户登录界面

    javax.servlet.jsp.jar

    javax.servlet.jsp_2.0.0.v201101211617.jar,javax.,servlet,jsp

    jsp-api-2.1.jar.zip

    jsp-api-2.1.jar.zip jsp-api-2.1.jar.zip jsp-api-2.1.jar.zip jsp-api-2.1.jar.zip jsp-api-2.1.jar.zip jsp-api-2.1.jar.zip

    jsp-api.jar

    jsp-api.jar 好东西,需要的下载,好东西,需要的下载。

    jsp使用vue资源包.zip

    在IT行业中,Web开发是至关重要的一环,而JavaServer Pages(JSP)和Vue.js都是这一领域的关键技术。本资源包“jsp使用vue资源包.zip”聚焦于如何在JSP项目中集成Vue.js,特别是利用ElementUI这个流行的前端组件库。...

    jakarta.servlet.jsp.jstl-api-2.0.0.jar

    jakarta.servlet.jsp.jstl-api-2.0.0.jar

    login_jsp.zip_login. jsp代码_login.jsp_login.jsp代码_military753

    在"login_jsp.zip"这个压缩包中,包含了一个名为"login.jsp"的文件,这是一个用于处理用户登录请求的页面。 首先,"login.jsp"通常会包含一个HTML表单,用于接收用户的用户名和密码输入。表单通过POST方法提交到同...

    jsp-api-2.2.1.jar

    javax.servlet.jsp-api-2.2.1 java 开发web 工程不可缺少包

    基于jsp的教学管理系统

    ............\.......\addClass_confirm.jsp ............\.......\Addcourse.jsp ............\.......\addcourse_confirm.jsp ............\.......\addstudent.jsp ............\.......\addstudent_confirm...

    JSP影院售票系统,能学习也能用

    基于JSP技术,包含了售票,查找座位等其他主要功能 部分文件浏览: jsp-dianying\Audio.jsp jsp-dianying\Bottom.jsp jsp-dianying\error.jsp jsp-dianying\index.jsp jsp-dianying\Index1.jsp jsp-dianying\Left....

    JSP内置对象实验报告.doc

    %><p>This is a JSP page demonstrating the usage of the Response object.</p><form action="" method="post"><input type="text" name="txtInput"><input type="submit" value="Submit"></form><% if(request....

    Head.First.Servlets.and.JSP.2nd.Edition.Mar.2008

    Head.First.Servlets.and.JSP.2nd.Edition.Mar.2008 第二部分

    飞思.JSP数据库开发实例精粹.pdf

    飞思.JSP数据库开发实例精粹.pdf

    JSP 火车票售票系统.zip

    设计利用JSP 开发工具和SQL Server 2000数据库来开发这个火车票售票系统。该系统要解决的是火车站网上售票工作所要解决的问题,可以满足火车站网上售票的基本要求,包括查询、售票、退票等三个方面的功能。该系统能...

    JSP标签,采用web.xml引入标签库描述文件

    2. **实现标签处理类(Tag Handler Class)**:自定义标签的核心是Java类,它实现了`javax.servlet.jsp.tagext.Tag`接口或其子接口。这个类负责处理标签的行为,如`doStartTag()`和`doEndTag()`方法。 3. **在JSP...

    JSP课程设计系统打包.zip

    **JSP技术基础** JSP(JavaServer Pages)是Java平台上的一个重要技术,它是一种用于创建动态网页的服务器端技术。JSP的核心理念是将HTML(或XML)模板与Java代码分离,使得开发者可以专注于页面的外观设计和业务...

    JSP技术发展史

    and the Active Server Pages(ASP) of the Microsoft.JSP compares the SSJS and ASP to have better can expand sex, and it is no more exclusive than any factory or some one particular server of Web.Though ...

Global site tag (gtag.js) - Google Analytics