﻿<?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-猪儿笨笨的文档-随笔分类-开源软件</title><link>http://www.blogjava.net/wl95421/category/10092.html</link><description>主要是个人的一些思考和技术文章，还有许多翻译的文档</description><language>zh-cn</language><lastBuildDate>Tue, 29 Apr 2008 04:34:49 GMT</lastBuildDate><pubDate>Tue, 29 Apr 2008 04:34:49 GMT</pubDate><ttl>60</ttl><item><title>发布基于Eclipse的数据库建模及ORM框架代码自动生成插件的RC2版，支持配置文件的模板</title><link>http://www.blogjava.net/wl95421/archive/2007/11/02/157774.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Fri, 02 Nov 2007 08:17:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2007/11/02/157774.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/157774.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2007/11/02/157774.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/157774.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/157774.html</trackback:ping><description><![CDATA[<p>根据大家的意见，对工具进行了一些修正，添加了以下几个主要的功能<br />
</p>
<ol>
    <li>数据表自关联
    <li>支持配置文件使用模板（模板为Velocity）
    <li>提供了RCP版本
    <li>支持Eclipse3.3
    <li>更新了帮助文档
    <li>支持图片输出
    <li>在Eclipse3.3中支持PNG输出格式 </li>
</ol>
<p>&nbsp;</p>
<p>我自己已经申请了一个域名，主机在国外，并逐步将自己的开源产品及相应的书放到上面，SVN的建立还在研究中。<br />
大家可以通过<font face="Arial"><a href="http://orm.aquatool.org/nl/zh/CN/" _fcksavedurl="http://orm.aquatool.org/nl/zh/CN/">http://orm.aquatool.org/nl/zh/CN/</a></font>来访问这个地址，上面有在线文档，不需要下载软件即可了解软件。<br />
有兴趣的朋友，可以通过下载RCP版本来试用，晚一点我会建立论坛及MailList，希望大家可以提供更多的意见。<br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableColumn.png" border="0" /><br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableIndex.png" border="0" /><br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode1.png" border="0" /></p>
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/openEditor.png" border="0" /><br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateDdl.png" border="0" /><br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode2.png" border="0" />
<img src ="http://www.blogjava.net/wl95421/aggbug/157774.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2007-11-02 16:17 <a href="http://www.blogjava.net/wl95421/archive/2007/11/02/157774.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>发布基于Eclipse的数据库建模及ORM框架代码自动生成插件（支持Hibernate,Ojb,IBatis等）</title><link>http://www.blogjava.net/wl95421/archive/2007/09/07/143351.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Fri, 07 Sep 2007 03:30:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2007/09/07/143351.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/143351.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2007/09/07/143351.html#Feedback</comments><slash:comments>41</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/143351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/143351.html</trackback:ping><description><![CDATA[<a title="下载地址" style="font-size: 24pt" href="http://orm.aquatool.org/nl/zh/CN/">下载地址</a><br />
<br />
<span style="color: red">（重要提示:如果安装不成功，尝试将feature文件夹删掉）<br />
</span><br />
<p>文件比较大，大概有近20M，使用Zip压缩。</p>
<p>现在发布的是Beta版，SourceForge上面的空间正在申请。<br />
发布的版本，支持Eclipse3.2和Eclipse3.3，需要GEF插件，可以在1.4及1.5下运行（我只测试了Sun JDK1.4和JDK1.5的三个版本，并不保证所有的JDK都能运行）。<br />
RCP版本正整理中，国庆前发布。<br />
如果有问题，请留言</p>
<p>以下是工具的介绍</p>
<p>Aquarius ORM Studio介绍<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; 从事软件开发多年，感觉数据库在整个软件开发过程中扮演一个不可或缺的角色。一旦一个业务项目进入立项阶段，需要支持哪些数据库平台，如何使用该种数据库平台都将成为架构师需要考虑的内容，对于一般的开发人员，则可能根据需要建立各种数据表，还可能需要通过反向工程来了解现有数据库的架构，随着ORM工具的流行，程序员还需要将数据表映射到类上，并保证两者间的同步，过去几年从事相应工作的经验告诉我，这既不是一个轻松的事情，更不是一件令人感觉愉快的事情。同时市场上有大量优秀的数据库工具，从建模到分析，还有ORM，但可惜的是，大部分优秀的工具都不是免费的，就像最有名的PowerDesigner，其价格令我咋舌。象 PowerDesigner这么强大的工具，我只能用到其中一部分功能，却要付出所有的价格，而且功能却没有满足的我的需要。<br />
&nbsp;&nbsp;&nbsp; 所以我萌生了根据自己的需求来开发一个数据库 工具的想法，并在接下来的两年中付诸实施。这个工具我称为Aquarius Orm Studio，Aquarius是水瓶座，我的星座，ORM是指这个工具的一个重要功能，Studio是个流行词。<br />
&nbsp;&nbsp;&nbsp; 这个工具可以完成以下功能:<br />
数据库正向建模（支持数据表，存储过程，视图），并生成相关DDL <br />
数据库反向工程，支持从数据库导入数据表，存储过程，视图等数据库元素 <br />
支持多数据平台，包括Oracle,DB2,MySql,MsSql,Sybase,PostgreSql等 <br />
生成测试数据，可以根据数据库模型生成测试数据，方便进行单元测试。 <br />
生成相应ORM代码及配置文件，支持Hibernate3,OJB,IBatis及OpenJPA <br />
支持多国语言，包括中文（简体，台湾繁体，香港繁体），英文，日文（谢谢Judy.Chang的日文翻译）<br />
<img height="583" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableColumn.png" width="729" border="0" /><img height="583" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableIndex.png" width="729" border="0" /><img height="768" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode1.png" width="1024" border="0" /></p>
<img height="611" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/runDdl.png" width="516" border="0" /> <img src ="http://www.blogjava.net/wl95421/aggbug/143351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2007-09-07 11:30 <a href="http://www.blogjava.net/wl95421/archive/2007/09/07/143351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Wicket开发指南一书》在JavaEye提供PDF版本下载</title><link>http://www.blogjava.net/wl95421/archive/2006/11/28/83973.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Tue, 28 Nov 2006 02:03:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2006/11/28/83973.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/83973.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2006/11/28/83973.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/83973.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/83973.html</trackback:ping><description><![CDATA[经过一月的时间，在一些朋友的热心帮助下，修正了一些问题，现在发布正式的版本!<br />希望大家喜欢Wicket这个框架!<br /><br />因为BlogJava有文件大小的限制，最大2M，所以只好将书籍放在JavaEye上<br />大家可以通过以下连接下载PDF版本<a href="http://www.javaeye.com/topics/download/9acd675d-bebe-4e33-890f-af9f5f9ef8a2"><br />http://www.javaeye.com/topics/download/9acd675d-bebe-4e33-890f-af9f5f9ef8a2</a><img src ="http://www.blogjava.net/wl95421/aggbug/83973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2006-11-28 10:03 <a href="http://www.blogjava.net/wl95421/archive/2006/11/28/83973.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Wicket开发指南》一书的代码</title><link>http://www.blogjava.net/wl95421/archive/2006/11/05/79250.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Sun, 05 Nov 2006 11:59:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2006/11/05/79250.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/79250.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2006/11/05/79250.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/79250.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/79250.html</trackback:ping><description><![CDATA[
		<p>
				<br />这里是《Wicket开发指南》一书的代码<br />已经整理完了<br />代码与书上基本一致，主要区别在于Page继承自AbstractExamplePage而非WebPage。而且在每个Html页面上多了一个mainNavigation，以提供View Source功能。，方便查看源代码。</p>
		<p>这些源代码不再需要额外的付出，任何人都可以下载，当作《Wicket开发指南》一书全文下载不方便的一些补偿吧。</p>
		<p>下面是下载地址：<br /><a href="http://gocom.primeton.com/modules/newbb/titleflat_5087_41.htm">http://gocom.primeton.com/modules/newbb/titleflat_5087_41.htm</a></p>
<img src ="http://www.blogjava.net/wl95421/aggbug/79250.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2006-11-05 19:59 <a href="http://www.blogjava.net/wl95421/archive/2006/11/05/79250.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>免费发布《Wicket开发指南》一书（266页）</title><link>http://www.blogjava.net/wl95421/archive/2006/11/03/78879.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Fri, 03 Nov 2006 03:21:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2006/11/03/78879.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/78879.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2006/11/03/78879.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/78879.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/78879.html</trackback:ping><description><![CDATA[
		<p>最近完成了一本关于Wicket的书<br />感于自己得益于许多开源软件，以及许多的免费书籍，所以这本书也免费开放。<br />该书266页，约18万字。<br />现在全部发布在网上，大家可以免费浏览。<br />我很喜欢Wicket这个框架，也希望有越来越多的开发人员使用这个框架。<br /><br />我把前两节放在下面作为介绍。<br />因为书的内容比较多，而且GoCom答应提供空间和论坛，所以我也不好在这里直接上传，请谅解，而且GoCom也答应提供PDF版本下载，我也会在元旦前后更新此书，然后免费提供给所有人员。<br /><br />你可以在<a href="http://gocom.primeton.com/">http://gocom.primeton.com/</a>这个地址查看该书（谢谢普元的GoCom提供的空间和论坛）<br />（感觉有点做广告的嫌疑）</p>
		<p>你也可以在这个论坛上提出问题，我会尽快回复<br /><a href="http://gocom.primeton.com/modules/newbb/viewforum41.htm">http://gocom.primeton.com/modules/newbb/viewforum41.htm</a></p>
		<p>One World,One Dream。</p>
		<p> </p>
		<p>
				<strong>
						<font size="4">Wicket前生后世篇</font>
				</strong> <br />Wicket是什么?简单点说，它就是一个基于Java的Web开发框架，与Struts，WebWork，Tapestry相类似。其特点在于对Html和代码进行了有效的分离（有利于程序员和美工的合作），基于规则的配置(减少了XML等配置文件的使用)，学习曲线较低（开发方式与C/S相似），更加易于调试（错误类型比较少容易，而且容易定位）。如果你不对微软并不反感，可以把它看作Java平台上的ASP.NET。<br /> Wicket现在是Sourceforge上一个非常活跃的项目，开发源码基于Apache协议（也是最宽松，对商业最友好的的源码协议），项目位于<a href="http://wicket.sourceforge.net">http://wicket.sourceforge.net</a>，另外它还有一个独立的域名网站<a href="http://www.wicketframework.org/">http://www.wicketframework.org/</a>。最新的消息则是，Wicket已经成为Apache孵化器中一个项目，可以通过<a href="http://incubator.apache.org/projects/wicket.html">http://incubator.apache.org/projects/wicket.html</a>来访问。但SourceForge上的网站仍然可以访问。<br /> Wicket出现时，著名的J2EE网站TSS（即<a href="http://www.TheServerSide.com">http://www.TheServerSide.com</a>，以后简称TSS），对该项目也进行了讨论，有一段旷日持久的论战（地址：<a href="http://www.theserverside.com/news/thread.tss?thread_id=28162">http://www.theserverside.com/news/thread.tss?thread_id=28162</a>:），论战主力当然就是Wicket的主要作者Jonathan Locke和Tapestry的作者Howard Lewis Ship ，争论的内容十分广泛，从URL的格式到系统结构，从扩展性到界面开发，如果有时间的话，我尽量将其中部分内容翻译过来，还是很精彩的。（TSS上很多的讨论都非常精彩，如果英文好的话，建议经常上去看看，国外的牛人就是多啊。有时候我也觉得很奇怪，这些人都不用睡觉的吗，看他们的帖子，完全覆盖了24小时，感觉他们的老板真是宽容啊）。<br /> Wicket的作者中有几个是原Sun公司Swing小组的开发人员（现在可能大部分已经不是了），因此Wicket的框架中带有浓厚的C/S色彩。而他们的开发计划中，还包括了Swing，Flash平台的支持，也就是说使用Wicket不仅可以可以输出Html，而且可以支持Swing和Flash，不过和朋友经过讨论后，觉得这个计划看起来有一点不切实际，毕竟Html，Swing，Flash之间的差别还是很大，恐怕想要无缝移植，还是有点难度的。单是一个JavaScript，恐怕就够头痛了。<br /> Wicket带有强烈C/S结构的UI色彩，这一点有助于美工和程序人员的分工，与Delphi的开发方式非常类似（Delphi使用.frm文件保存UI控件的定义，而用.pas文件存储代码，从而对控件进行操作）。Wicket则是使用Html描述UI，并将具有特殊标记的Html元素定义为UI控件，在java文件中则直接使用代码操作这些UI控件，控制其输出及行为，样式等。这一点和Tapestry，以及.NET平台上的ASP.NET极为相似，也怪不得与Tapestry的作者争论了这么久，毕竟两者的用户群有很多的重复。其实从结构上看来，无论是Tapestry，ASP.Net，Wicket估计都借鉴了Applet平台上的WebObjects，还有Delphi。（不要忘了，Delphi的创建者Anders Hejlsberg就是.net框架的架构师，所以C#和Asp.net怎么看都带着Delphi的影子。<br /> Wicket目前最新的版本是1.2.2版，已经支持了AJAX，但感觉这个框架的发展时间毕竟还是短了一点，尽管设计思想很不错，但还是有许多问题存在的，包括控件的数量，BUG较多等，希望2006年它可以尽快的成熟起来。<br /> <br /><strong><font size="4">关于重新发明轮子的争论</font></strong><br /> 谈到Wicket，恐怕第一个感觉就是在Java的Web开发中又多了一个轮子，这一点国内外的程序员好象都是一样。<br /> 有一个国外的Blog专门写了一篇关于轮子的文章，说明了重复发明轮子的必要性。我个人对于这种轮子是持一种欢迎的态度，因为没有人会去写一段功能完全一样的东东，总是要修正了原有轮子的不足，这样就不能简单当作一种重复。<br /> 即使是功能重复，就不需要轮子了吗?JSP能完成Struts到所有功能，而Tapestry能做到的，Struts也全部可以做到，但Struts，Tapestry就不需要了吗?Struts的MVC结构比JSP更加优秀，在很大程度上减轻了开发人员开发量，而Tapestry基于组件的开发方式，则是开创了一种新的Web开发方式，对于多语言的支持也有了新的方式。以往开发多语言页面时，往往使用properties保存字符串资源，但是页面通常都没有什么变化。而Tapestry可以通过不同的Html为不同的国家指定不同的页面。<br /> Wicket吸收了Tapestry的一部分内容，但我最喜欢的就是，它是基于规则的，而并非XML配置的方式，这不仅有利于程序员学习，对系统的维护及开发规范都很有效，毕竟XML的编写并不见得就比写一段程序来得更容易。（这里插一句题外话，我觉得XML文件用来表示数据和资源，而不是行为，更不是业务，所以对于XML我只用来存放多语言资源或者用来做数据交换。象Spring这种大量使用XML方式，我并不欣赏，Spring也意识到了这一点，在2.0版本中努力的简化Xml的配置，但是并不尽如人意）。如果使用简单的规则来配置或者管理一个系统，用户就会很容易的查找到自己需要的内容。而通过配置文件，不管这样的一个配置文件的结构如何好，也需要在其中查找自己需要的内容，开发效率肯定要低一些。<br /> 因此对于这种有创新性的轮子，多几个，或许Java世界可以跑得更快一些。<br /> 去年就听说不少Web框架的开发人员要联合起来开一个Web框架，在Yahoo上还有一个讨论组，上去看了一下。但是这个事件对我的第一感觉就是晕，第二感觉就是特别的晕，虽然目前Java世界的Web框架一通混战，但这样一个联盟，所给出的东西很可能是第二个EJB。</p>
<img src ="http://www.blogjava.net/wl95421/aggbug/78879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2006-11-03 11:21 <a href="http://www.blogjava.net/wl95421/archive/2006/11/03/78879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>