﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-EJB,J2EE失乐园</title><link>http://www.blogjava.net/zhoubikui/</link><description>轻量级j2ee开发设计开发探讨</description><language>zh-cn</language><lastBuildDate>Fri, 17 Apr 2026 21:09:45 GMT</lastBuildDate><pubDate>Fri, 17 Apr 2026 21:09:45 GMT</pubDate><ttl>60</ttl><item><title>Ajax还未成熟 使用须谨慎 (转至csdn)</title><link>http://www.blogjava.net/zhoubikui/archive/2005/12/27/25543.html</link><dc:creator>EJB,J2EE失乐园</dc:creator><author>EJB,J2EE失乐园</author><pubDate>Tue, 27 Dec 2005 03:35:00 GMT</pubDate><guid>http://www.blogjava.net/zhoubikui/archive/2005/12/27/25543.html</guid><wfw:comment>http://www.blogjava.net/zhoubikui/comments/25543.html</wfw:comment><comments>http://www.blogjava.net/zhoubikui/archive/2005/12/27/25543.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhoubikui/comments/commentRss/25543.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhoubikui/services/trackbacks/25543.html</trackback:ping><description><![CDATA[位于尤他州Midvale的Burton Group公司的高级分析师Richard Monson-Haefel认为，当提到被大肆宣传的富互联网应用(Rich Internet Application ，RIA)技术时，更少的才是更好的。这种技术能够大大促进用户的Web体验，因为不必再从服务器刷新页面，Ajax的风格是单页面接口。但他在最近关于Ajax的电视短片中说过度使用会导致导航困难。
<P>　　他说，Ajax比起其它RIA技术的主要优点是无缝与HTML集成，因此它可以大量使用而不需要改变现有Web内容。“把它想象成Web站点的调料。这样做的风险非常小。Ajax还是后台无关且不需要任何插件。与其它RIA技术，例如Macromedia的Flash等联合使用，Ajax会是一个强大的工具。”</P>
<P>　　但是，该技术还没有成熟，而且工具和框架还没有得到支持。Monson-Haefel说:“如果你不喜欢用工具集和类库，Ajax就不适合你。”</P>
<P>　　Burton Group定义“富”互联网应用是能够在标准HTML框架和链接之上提供功能的。Google Maps就是这样一个优秀的Ajax例子。</P>
<P>　　与Ajax最近被才提出不同，JavaScript已经存在很久了。它基于JavaScript/ECMAScript,、级联样式表、 文档对象模型以及XML HTTP请求。最初，很难跨越不同浏览器来设计Ajax风格的应用程序。但现在，主流浏览器已经演变到支持微软技术的实现了，并成为了最普通的特征。</P>
<P>　　今天，占主导地位的RIA技术是Macromedia的Flash/Flex。其它RIA技术包括为Microsoft Windows Presentation Foundation开发的用户接口标记语言，称为XAML(Extensible Application Markup Language，可扩展应用程序标记语言)。还有Mozilla的基于XML的用户接口语言XUL，droplets和Java applets以及微软将要推出的Windows Presentation Foundation/Everywhere (WPF/E)。</P>
<P>　　Monson-Haefe说:“Flash是很好的技术，适合于丰富动画与图形，但Flash好象是一个小池塘中的大鱼。现实市场现在还没有那么大，因此随着市场变大它是否能占领市场还是一个疑问。而微软将推出的WPF/E会是一个有力的竞争者。”</P>
<P>　　微软还计划推出一个Ajax框架扩展，称为Atlas。Monson-Haefel认为它非常有前途。他说，Ajax的其它集成开发环境还没成为主流。这包括Morfik Technology公司的Javascript Synthsis Technology (JST)、JetBrains公司的IntelliJ IDEA 5.0、Tibco Software公司的Tibco General Interface (GI)、JackBe公司的Visual GUI Builder、Backbase B.V.公司的Backbase以及开源的Ruby on Rails框架。</P>
<P>　　他说:“它已经内建了Ajax功能，使你能够用Ruby编程语言编写Ajax应用程序。”</P>
<P>　　Monson-Haefel说:“用于编写Ajax应用的Tibco工具非常好。JackBe也是相当好的RIA技术而Backbase或许是现在更好的一个。IDE的优点就是所见即所得的开发方式，但你购买了他们的GUI，这样你也受到观感上的束缚。”</P>
<P>　　除了IDE和框架扩展，Monson-Haefel还提到可用的Ajax UI工具和远程工具还有很多，包括私有的和开源的产品。他说，只有一部分。根据Burton Group公司最近的一项调查，在488位Ajax开发人员中，最流行的工具集、类库和框架扩展是有MIT风格证书的JavaScript框架——Prototype，JavaScript 类库——Script.aclo.us，有Apache 2.0证书的Direct Web Remoting，有Academic Free License v 2.1的Dojo UI工具集以及Ruby on Rails。</P>
<P>　　至于数据，对Ajax的关注主要集中在B2C的Web站点，但Monson-Haefel指出Ajax实际上与Web服务和SOA有紧密联系，它能影响企业门户。</P>
<P>　　“一些人相信Ajax将成为门户解决方案的主要复苏因素。门户被宣传了很久，但实际上它并非所谓的银弹。而Ajax表示层与门户的结合将促进所有用户的体验。”</P>
<P>　　Monson-Haefel警告说Ajax很容易被滥用。“假如开发人员不理解使用理论，他们就会胡乱应用它而且人们会刻意避开JavaScript。我的推理来自浏览器弹出窗口。这种技术源于一种可用特性，但由于被滥用它已经成为Web技术中的下等公民，人们也不再使用它了。”</P>
<P>　　他的建议是应该谨慎的实现Ajax解决方案。</P><img src ="http://www.blogjava.net/zhoubikui/aggbug/25543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhoubikui/" target="_blank">EJB,J2EE失乐园</a> 2005-12-27 11:35 <a href="http://www.blogjava.net/zhoubikui/archive/2005/12/27/25543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BEA“原创技术高手”大奖揭晓</title><link>http://www.blogjava.net/zhoubikui/archive/2005/12/26/25468.html</link><dc:creator>EJB,J2EE失乐园</dc:creator><author>EJB,J2EE失乐园</author><pubDate>Mon, 26 Dec 2005 09:33:00 GMT</pubDate><guid>http://www.blogjava.net/zhoubikui/archive/2005/12/26/25468.html</guid><wfw:comment>http://www.blogjava.net/zhoubikui/comments/25468.html</wfw:comment><comments>http://www.blogjava.net/zhoubikui/archive/2005/12/26/25468.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhoubikui/comments/commentRss/25468.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhoubikui/services/trackbacks/25468.html</trackback:ping><description><![CDATA[<P>通过两个多月紧张激烈的角逐，"原创技术高手"赛事已经告一段落，受到了来自系统集成、软件开发、产品销售、业务咨询等多个领域的朋友的热情参与。由BEA专家组成的评委会，参考网友们和斑竹的意见，结果见<A href="http://dev2dev.bea.com.cn/bbs/paihang/2004121500.jsp">http://dev2dev.bea.com.cn/bbs/paihang/2004121500.jsp</A>，我有三篇文章入围，其中《<A href="http://dev2dev.bea.com.cn/bbs/jishudata/ArticleShow.jsp?Id=15" target=_blank><STRONG>谁动了我的EJB？-J2EE 开发应用框架反思</STRONG></A>》获奖，</P>
<P>得奖理由：<BR>有创意，实实在在的原创；有深度。</P>
<P>对我有较大触动，希望自己能更加努力！加油！</P><img src ="http://www.blogjava.net/zhoubikui/aggbug/25468.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhoubikui/" target="_blank">EJB,J2EE失乐园</a> 2005-12-26 17:33 <a href="http://www.blogjava.net/zhoubikui/archive/2005/12/26/25468.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Java中实现Job Scheduling</title><link>http://www.blogjava.net/zhoubikui/archive/2005/12/26/25466.html</link><dc:creator>EJB,J2EE失乐园</dc:creator><author>EJB,J2EE失乐园</author><pubDate>Mon, 26 Dec 2005 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/zhoubikui/archive/2005/12/26/25466.html</guid><wfw:comment>http://www.blogjava.net/zhoubikui/comments/25466.html</wfw:comment><comments>http://www.blogjava.net/zhoubikui/archive/2005/12/26/25466.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhoubikui/comments/commentRss/25466.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhoubikui/services/trackbacks/25466.html</trackback:ping><description><![CDATA[在大多数项目中，在特定的时间或频率下你需要完成一些特定的任务。在本文中我们将演示如何用标准的Java Timer API来实现。<BR>
<P>大多商业应用都会用报表和统计，很难想象没有这些帮助我们分析未来趋势的数据，我们还要这系统干什么。问题是如此多的数据我们该如何触发，如果处理对系统性能影响不大。比较好的方式是避开应用高峰，让服务器在闲暇时完成这些事。</P>
<P>下面是我的程序：</P><PRE><FONT size=+0><FONT color=#003366>package net.nighttale.scheduling;<BR></FONT></FONT></PRE><PRE><FONT size=+0><FONT color=#003366>&nbsp;<BR></FONT></FONT></PRE>/**<BR>&nbsp;* <STRONG>@author</STRONG> kevin zhou<BR>&nbsp;*<BR>&nbsp;* 在Java中实现Job Scheduling<BR>&nbsp;* 创建日期 2004-7-13<BR>&nbsp;*/<BR><STRONG>import</STRONG> java.util.TimerTask;<BR><STRONG>import</STRONG> java.util.Calendar;<BR><STRONG>import</STRONG> java.util.Date;<BR><STRONG>import</STRONG> java.util.Timer;<BR>&nbsp;<BR><STRONG>public</STRONG> <STRONG>class</STRONG> ReportGenerator <STRONG>extends</STRONG> TimerTask{<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp; /* （非 Javadoc）<BR>&nbsp;&nbsp;&nbsp; &nbsp;* @see java.util.TimerTask#run()<BR>&nbsp;&nbsp;&nbsp; &nbsp;*/<BR>&nbsp;&nbsp;&nbsp; <STRONG>public</STRONG> <STRONG>void</STRONG> run() {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("Generating report");<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;<BR>}<BR><STRONG>class</STRONG> MainApplication {<BR>&nbsp;<BR>&nbsp; <STRONG>public</STRONG> <STRONG>static</STRONG> <STRONG>void</STRONG> main(String[] args) {<BR>&nbsp;&nbsp;&nbsp; Timer timer=<STRONG>new</STRONG> Timer();<BR>&nbsp;&nbsp;&nbsp; Calendar date = Calendar.getInstance();<BR>&nbsp;&nbsp;&nbsp; date.set(<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calendar.DAY_OF_WEEK,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calendar.SUNDAY<BR>&nbsp;&nbsp;&nbsp; );<BR>&nbsp;&nbsp;&nbsp; date.set(Calendar.HOUR, 0);<BR>&nbsp;&nbsp;&nbsp; date.set(Calendar.MINUTE, 0);<BR>&nbsp;&nbsp;&nbsp; date.set(Calendar.SECOND, 0);<BR>&nbsp;&nbsp;&nbsp; date.set(Calendar.MILLISECOND, 0);<BR>&nbsp;&nbsp;&nbsp; // Schedule to run every Sunday in midnight<BR>&nbsp;&nbsp;&nbsp; timer.schedule(<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <STRONG>new</STRONG> ReportGenerator(),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; date.getTime(),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1000 * 60 * 60 * 24 * 7<BR>&nbsp;&nbsp;&nbsp; );<BR>&nbsp; }<BR>}<BR>我先简单解释一下，在我们的例子中ReportGenerator继承java.util.TimerTask，它又继承了java.lang.Runnable，我们需要覆盖run()方法。<BR>调用时我们用schedule()方法让它每周日0点0分执行，避开服务器高峰，实现Job Scheduling的目的。<img src ="http://www.blogjava.net/zhoubikui/aggbug/25466.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhoubikui/" target="_blank">EJB,J2EE失乐园</a> 2005-12-26 17:18 <a href="http://www.blogjava.net/zhoubikui/archive/2005/12/26/25466.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>