<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
><channel><title>Himmel &#187; rest</title> <atom:link href="http://lazing.ave7.net/tag/rest/feed/" rel="self" type="application/rss+xml" /><link>http://lazing.ave7.net</link> <description>时间很长；现在很短；距离很长；相遇很短</description> <lastBuildDate>Wed, 11 Jan 2012 18:03:14 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.2.1</generator> <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license> <item><title>七街开发报告1104</title><link>http://lazing.ave7.net/2008/seven-streets-development-report-1104/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=seven-streets-development-report-1104</link> <comments>http://lazing.ave7.net/2008/seven-streets-development-report-1104/#comments</comments> <pubDate>Tue, 04 Nov 2008 16:53:06 +0000</pubDate> <dc:creator>某L</dc:creator> <category><![CDATA[Code Talk]]></category> <category><![CDATA[Project and Methodology]]></category> <category><![CDATA[mda]]></category> <category><![CDATA[rest]]></category> <category><![CDATA[roa]]></category> <category><![CDATA[SOA]]></category> <category><![CDATA[七街]]></category><guid isPermaLink="false">http://lazing.ave7.net/blog/?p=331</guid> <description><![CDATA[新技术是很好的事情。然而如何应用是另外一件事情。 新七街开发过程中最大的痛苦就是没有可供参考的例子。 REST的概念原本不是Java兴起的，仅有的RESTlet试图做的事情太多，Struts2是非常具有实验精神的框架。然而通过插件来实现的时候，文档上面就太痛苦了，只能遇到问题去mail list询问。虽然不是完全的语言不同，但误会也是常常发生。 不过，除去以上因为不成熟带来的种种不变，七街的REST开发模式还是很令人舒服的。 MDA，模型驱动：因为完全的ORM，模型在整套架构里面举足轻重。好的模型除了3NF要求以外，应当满足：支持业务功能；保证数据完整性；可演化。后两者于模型质量是及其重要而相互制约。这种时候，经验可能更重要，但如果没有严格的实践过程，这种经验也无从获取。可演化是一个很有意思的概念，现在有提出数据库重构；包括RoR中也有工具来反映对数据库的变革。之所以没有全套使用Rails，并不是对现有技术的割舍不下。ORM不能解决关系模型中的问题。面向对象就完备性和理论而言，还无法和关系模型完全对照。关系模型的具体物理实现也差异巨大。再加上性能和数据安全的考虑，完全的ORM是难以令人信赖的，毕竟没有基于ORM的数据管理工具。 业务逻辑：业务逻辑会因为高质量的模型而得到异常的简化。而在业务逻辑实现的时候，一些有效而简单的工具包至关重要。按照契约式思想分解业务对象时，可以很简单的按照2:8原理分解重复逻辑，大幅降低开发代码量。更少的逻辑，更少的测试，就意味着更健壮的软件。 表现层：REST使得表现层可以随意组合。不同的数据展现方式，只需要一次业务逻辑实现。配合MDA，所有的信息都可以相互解耦。从而在一开始就重点实现业务功能，最快进入系统集成阶段。 低耦合的架构：基于Session和基于应用的变量与常量能够简单的存取；模块间相互独立的版本控制。虽然还没有达到一个理想的地步，但是下一步的改进也已经有章可循。第一阶段的主要目的在与尽可能的减少代码量，以此为目标来评价框架。 以上是种种好处，以下是种种不足： 除了美工与产品设计等难以短时间高质量的东西，还有很多问题有待解决： REST数据展现的方式：目前实现的三种 xhtml, json, xml 其中xhtml大概还需要大量工作符合各种标准，以及优化性能。json与xml从json-lib换到xstream又换回来，这些开源的组件的确有一些bug，目前使用的REST插件功能也过于简单虽然自己可以修改，但估计还会有许多的问题需要解决。另外，RSS以及ATOM应该也是必需的。 代码质量：单元测试覆盖率还远远不够。集成测试和压力测试也完全没有做。自动化工具的使用也仅仅是停留在第一个层面上。 代码重构：源码库已经积累了一段时间，重构也必须要提上日程了，只是目前重构的水平还亟待提高。 文档质量：虽然XP是不要太多文档的，但如果连路线图都不明确，那就是耽误时间了。 以上种种，时间和人手是大问题。 一些未来的可能性： ROA与SOA的比较。目前当然SOA在前，ROA完全没有成型的标准，难以产品化。不过ROA比SOA简单太多，再加上SOA虽有标准，但大多执行起来张冠李戴，良莠不齐，效果也将大打折扣。至少对于中小应用来讲ROA是完全胜任而迅速的，更提供了现成的API接口。 企业架构的复杂性在于，永远不会有一劳永逸的解决方案。这种情况下，技术型风险的控制是第一位的。在部分组件出错的情况下仍然可以进行业务处理是非常重要的。所以无论从架构或模型的设计上，都要求可查可控。数据审计是个必须重视的课题。 智能平台，Web3.0(semantic web)与数据挖掘。数据要素由数据结构、数据操作和完整性要求构成。换句话说，数据要可分辨，可计算，有效。因为在系统设计的各个阶段，从模型到系统IO，标准设计，互操作契约是第一位的。为了降低开发成本和风险，标准化是第一位的选择，其次是系统暗喻，再次是设计文档。系统暗喻也应当体现在设计文档中。 从Twitter等看企业软件架构（一） Thanks Firefox 3 CSS hacking 新年计划正式开始 2009 新年约会 Rating: 0.0/5 (0 votes cast)<br /><div><img src="http://lazing.ave7.net/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description> <content:encoded><![CDATA[<p>新技术是很好的事情。然而如何应用是另外一件事情。</p><p>新七街开发过程中最大的痛苦就是没有可供参考的例子。</p><p>REST的概念原本不是Java兴起的，仅有的RESTlet试图做的事情太多，Struts2是非常具有实验精神的框架。然而通过插件来实现的时候，文档上面就太痛苦了，只能遇到问题去mail list询问。虽然不是完全的语言不同，但误会也是常常发生。</p><p>不过，除去以上因为不成熟带来的种种不变，七街的REST开发模式还是很令人舒服的。</p><ol><li>MDA，模型驱动：因为完全的ORM，模型在整套架构里面举足轻重。好的模型除了3NF要求以外，应当满足：支持业务功能；保证数据完整性；可演化。后两者于模型质量是及其重要而相互制约。这种时候，经验可能更重要，但如果没有严格的实践过程，这种经验也无从获取。可演化是一个很有意思的概念，现在有提出数据库重构；包括RoR中也有工具来反映对数据库的变革。之所以没有全套使用Rails，并不是对现有技术的割舍不下。ORM不能解决关系模型中的问题。面向对象就完备性和理论而言，还无法和关系模型完全对照。关系模型的具体物理实现也差异巨大。再加上性能和数据安全的考虑，完全的ORM是难以令人信赖的，毕竟没有基于ORM的数据管理工具。</li><li>业务逻辑：业务逻辑会因为高质量的模型而得到异常的简化。而在业务逻辑实现的时候，一些有效而简单的工具包至关重要。按照契约式思想分解业务对象时，可以很简单的按照2:8原理分解重复逻辑，大幅降低开发代码量。更少的逻辑，更少的测试，就意味着更健壮的软件。</li><li>表现层：REST使得表现层可以随意组合。不同的数据展现方式，只需要一次业务逻辑实现。配合MDA，所有的信息都可以相互解耦。从而在一开始就重点实现业务功能，最快进入系统集成阶段。</li><li>低耦合的架构：基于Session和基于应用的变量与常量能够简单的存取；模块间相互独立的版本控制。虽然还没有达到一个理想的地步，但是下一步的改进也已经有章可循。第一阶段的主要目的在与尽可能的减少代码量，以此为目标来评价框架。</li></ol><p>以上是种种好处，以下是种种不足：</p><p>除了美工与产品设计等难以短时间高质量的东西，还有很多问题有待解决：</p><ol><li>REST数据展现的方式：目前实现的三种 xhtml, json, xml 其中xhtml大概还需要大量工作符合各种标准，以及优化性能。json与xml从json-lib换到xstream又换回来，这些开源的组件的确有一些bug，目前使用的REST插件功能也过于简单虽然自己可以修改，但估计还会有许多的问题需要解决。另外，RSS以及ATOM应该也是必需的。</li><li>代码质量：单元测试覆盖率还远远不够。集成测试和压力测试也完全没有做。自动化工具的使用也仅仅是停留在第一个层面上。</li><li>代码重构：源码库已经积累了一段时间，重构也必须要提上日程了，只是目前重构的水平还亟待提高。</li><li>文档质量：虽然XP是不要太多文档的，但如果连路线图都不明确，那就是耽误时间了。</li></ol><p>以上种种，时间和人手是大问题。</p><p>一些未来的可能性：</p><ol><li>ROA与SOA的比较。目前当然SOA在前，ROA完全没有成型的标准，难以产品化。不过ROA比SOA简单太多，再加上SOA虽有标准，但大多执行起来张冠李戴，良莠不齐，效果也将大打折扣。至少对于中小应用来讲ROA是完全胜任而迅速的，更提供了现成的API接口。</li><li>企业架构的复杂性在于，永远不会有一劳永逸的解决方案。这种情况下，技术型风险的控制是第一位的。在部分组件出错的情况下仍然可以进行业务处理是非常重要的。所以无论从架构或模型的设计上，都要求可查可控。数据审计是个必须重视的课题。</li><li>智能平台，Web3.0(semantic web)与数据挖掘。数据要素由数据结构、数据操作和完整性要求构成。换句话说，数据要可分辨，可计算，有效。因为在系统设计的各个阶段，从模型到系统IO，标准设计，互操作契约是第一位的。为了降低开发成本和风险，标准化是第一位的选择，其次是系统暗喻，再次是设计文档。系统暗喻也应当体现在设计文档中。</li></ol><ul><li><a href="http://lazing.ave7.net/2010/residents-of-those-things-the-existence-of-prehistoric/" rel="bookmark" title="2010/08/20">街坊那些事-史前的存在</a></li><li><a href="http://lazing.ave7.net/2008/summary-of-the-seven-streets-in-the-development-of-the-progress-of-the-new-080913/" rel="bookmark" title="2008/09/13">新七街开发进度小结 080913</a></li><li><a href="http://lazing.ave7.net/2006/thanks/" rel="bookmark" title="2006/11/23">Thanks</a></li><li><a href="http://lazing.ave7.net/2007/summary-week-of-life/" rel="bookmark" title="2007/09/03">一周生活小结</a></li><li><a href="http://lazing.ave7.net/2008/september-2008-to-study-the-subject-of-soa/" rel="bookmark" title="2008/08/12">2008九月·学习主题·SOA</a></li></ul><p></p><p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Flazing.ave7.net%2F2008%2Fseven-streets-development-report-1104%2F&title=%E4%B8%83%E8%A1%97%E5%BC%80%E5%8F%91%E6%8A%A5%E5%91%8A1104" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p><br /><div><img src="http://lazing.ave7.net/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br /> <img src="http://lazing.ave7.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=331" width="1" height="1" style="display: none;" />]]></content:encoded> <wfw:commentRss>http://lazing.ave7.net/2008/seven-streets-development-report-1104/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license> </item> <item><title>新七街开发进度小结 080913</title><link>http://lazing.ave7.net/2008/summary-of-the-seven-streets-in-the-development-of-the-progress-of-the-new-080913/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=summary-of-the-seven-streets-in-the-development-of-the-progress-of-the-new-080913</link> <comments>http://lazing.ave7.net/2008/summary-of-the-seven-streets-in-the-development-of-the-progress-of-the-new-080913/#comments</comments> <pubDate>Fri, 12 Sep 2008 19:02:13 +0000</pubDate> <dc:creator>某L</dc:creator> <category><![CDATA[Project and Methodology]]></category> <category><![CDATA[AST]]></category> <category><![CDATA[dsl]]></category> <category><![CDATA[hibernate]]></category> <category><![CDATA[rest]]></category> <category><![CDATA[session]]></category><guid isPermaLink="false">http://lazing.ave7.net/blog/?p=318</guid> <description><![CDATA[完成了所有框架的搭设并且已经完成了论坛基本功能 用户基本管理 权限控制与分组 基础部分，通用模块经过三次重大调整，完成了ChainQuery以及相关的分页，延迟加载，排序等模块，估计进度80% REST模式确定 为 http://www.example.org/namespace/con&#8230;para=paraValue 的格式 基于ModelDriven 结合REST 就实现了 http://www.example.org/namespace/controller.json http://www.example.org/namespace/controller.xml 这样的数据访问接口，并且可以通过HttpBasic认证（之前有POC，此次还未测试） 数据部分，已经尝试转换基本用户数据成功 重要关注：帖子 主题 论坛分类 主题分类 附件 明天工作计划： 完成权限相关的细节功能 完成基本Tag模块 关于Hibernate数据库链接未释放的问题 一定要调用session的close或者release这样的方法。 如果使用Spring的HibernateTemplate，不妨写个HibernateCallback把琐碎的事情交给Spring来完成，毕竟涉及到多事务的问题，还是相对复杂的。 另外赞一下AST以及Hibernate的AST实现，对DSL有了新的想法 笔记：DSL之一 简介 Dynamic Language and DSL 七街开发报告1104 安静一点 笔记：DSL之二 使用DSL Rating: 0.0/5 (0 votes cast)<br /><div><img src="http://lazing.ave7.net/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description> <content:encoded><![CDATA[<p>完成了所有框架的搭设并且已经完成了论坛基本功能 <br />用户基本管理 权限控制与分组</p><p>基础部分，通用模块经过三次重大调整，完成了ChainQuery以及相关的分页，延迟加载，排序等模块，估计进度80% <br />REST模式确定 为</p><p><a href="http://www.example.org/namespace/con">http://www.example.org/namespace/con</a>&#8230;para=paraValue 的格式 <br />基于ModelDriven 结合REST 就实现了 <br /><a href="http://www.example.org/namespace/controller.json">http://www.example.org/namespace/controller.json</a> <br /><a href="http://www.example.org/namespace/controller.xml">http://www.example.org/namespace/controller.xml</a></p><p>这样的数据访问接口，并且可以通过HttpBasic认证（之前有POC，此次还未测试）</p><p>数据部分，已经尝试转换基本用户数据成功</p><p>重要关注：帖子 主题 论坛分类 主题分类 附件</p><p>明天工作计划：</p><ol><li>完成权限相关的细节功能</li><li>完成基本Tag模块</li></ol><p>关于Hibernate数据库链接未释放的问题</p><p>一定要调用session的close或者release这样的方法。</p><p>如果使用Spring的HibernateTemplate，不妨写个HibernateCallback把琐碎的事情交给Spring来完成，毕竟涉及到多事务的问题，还是相对复杂的。</p><p>另外赞一下AST以及Hibernate的AST实现，对DSL有了新的想法</p><ul><li><a href="http://lazing.ave7.net/2007/dynamic-language-and-dsl/" rel="bookmark" title="2007/11/29">Dynamic Language and DSL</a></li><li><a href="http://lazing.ave7.net/2009/notes-dsl-about-one/" rel="bookmark" title="2009/06/22">笔记：DSL之一 简介</a></li><li><a href="http://lazing.ave7.net/2008/seven-streets-development-report-1104/" rel="bookmark" title="2008/11/05">七街开发报告1104</a></li><li><a href="http://lazing.ave7.net/2009/notes-dsl-bis-use-dsl/" rel="bookmark" title="2009/06/23">笔记：DSL之二 使用DSL</a></li><li><a href="http://lazing.ave7.net/2008/quiet-point/" rel="bookmark" title="2008/08/28">安静一点</a></li></ul><p></p><p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Flazing.ave7.net%2F2008%2Fsummary-of-the-seven-streets-in-the-development-of-the-progress-of-the-new-080913%2F&title=%E6%96%B0%E4%B8%83%E8%A1%97%E5%BC%80%E5%8F%91%E8%BF%9B%E5%BA%A6%E5%B0%8F%E7%BB%93+080913" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p><br /><div><img src="http://lazing.ave7.net/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br /> <img src="http://lazing.ave7.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=318" width="1" height="1" style="display: none;" />]]></content:encoded> <wfw:commentRss>http://lazing.ave7.net/2008/summary-of-the-seven-streets-in-the-development-of-the-progress-of-the-new-080913/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license> </item> <item><title>安静一点</title><link>http://lazing.ave7.net/2008/quiet-point/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quiet-point</link> <comments>http://lazing.ave7.net/2008/quiet-point/#comments</comments> <pubDate>Thu, 28 Aug 2008 12:33:58 +0000</pubDate> <dc:creator>某L</dc:creator> <category><![CDATA[Project and Methodology]]></category> <category><![CDATA[rest]]></category> <category><![CDATA[七街]]></category><guid isPermaLink="false">http://lazing.ave7.net/blog/?p=310</guid> <description><![CDATA[今天看小非的推荐，豆瓣某个三年换了四个男友的女人写的文章，其中有一句，Web2.0热闹完了，我们需要一点安静的地方。 90后的小孩开始上大学了，热闹的事情，还是让他们去做吧。 下面是今天的手记： 继昨天在REST上面的重大突破后，今天继续向着目标前进，完成了所有REST解析的逻辑和测试，另外详细了文档；加入了I18N和Validation的部分，发现使用REST插件后，Client Side Validation会失效，跟踪后发现了是命名空间和Action解析错误，晚上计划临时打个补丁修正，等这些整理完了会向Apache Struts 2 Rest Plugin的小组提Issue. 刚刚论坛有人问，所以重新看了之前做的心理测试，发现自己主要的问题还是逆境下的承受能力，继续努力。。。 呃，今晚程序写完计划放出前天某女生日的照片。 七街开发报告1104 Konnen Tranenmeiner Wagen Nichts erlangen 新年计划正式开始 新七街开发进度小结 080913 Firefox 3 CSS hacking Rating: 0.0/5 (0 votes cast)<br /><div><img src="http://lazing.ave7.net/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br />]]></description> <content:encoded><![CDATA[<p>今天看小非的推荐，豆瓣某个三年换了四个男友的女人写的文章，其中有一句，Web2.0热闹完了，我们需要一点安静的地方。</p><p>90后的小孩开始上大学了，热闹的事情，还是让他们去做吧。</p><p>下面是今天的手记：</p><p>继<a href="http://lazing.ave7.net/2008/restful-ave7net/" target="_blank">昨天在REST上面的重大突破后</a>，今天继续向着目标前进，完成了所有REST解析的逻辑和测试，另外详细了文档；加入了I18N和Validation的部分，发现使用REST插件后，Client Side Validation会失效，跟踪后发现了是命名空间和Action解析错误，晚上计划临时打个补丁修正，等这些整理完了会向Apache Struts 2 Rest Plugin的小组提Issue.</p><p>刚刚论坛有人问，所以重新看了之前做的心理测试，发现自己主要的问题还是逆境下的承受能力，继续努力。。。</p><p>呃，今晚程序写完计划放出前天某女生日的照片。</p><ul><li><a href="http://lazing.ave7.net/2008/sns-without-theme/" rel="bookmark" title="2008/10/01">无主题SNS</a></li><li><a href="http://lazing.ave7.net/2006/konnen-tranenmeiner-wagen-nichts-erlangen/" rel="bookmark" title="2006/10/25">Konnen Tranenmeiner Wagen Nichts erlangen</a></li><li><a href="http://lazing.ave7.net/2008/summary-of-the-seven-streets-in-the-development-of-the-progress-of-the-new-080913/" rel="bookmark" title="2008/09/13">新七街开发进度小结 080913</a></li><li><a href="http://lazing.ave7.net/2008/plans-to-start-the-new-year/" rel="bookmark" title="2008/02/05">新年计划正式开始</a></li><li><a href="http://lazing.ave7.net/2007/status-report/" rel="bookmark" title="2007/11/27">Status Report</a></li></ul><p></p><p><a href="http://www.bshare.cn/share?url=http%3A%2F%2Flazing.ave7.net%2F2008%2Fquiet-point%2F&title=%E5%AE%89%E9%9D%99%E4%B8%80%E7%82%B9" title="用bShare分享或收藏本文"><img src="http://static.bshare.cn/frame/images/button_custom1-zh.gif" alt="用bShare分享或收藏本文" /></a></p><br /><div><img src="http://lazing.ave7.net/wp-content/plugins/gd-star-rating/gfx.php?value=0.0" /></div><div>Rating: 0.0/<strong>5</strong> (0 votes cast)</div><br /> <img src="http://lazing.ave7.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=310" width="1" height="1" style="display: none;" />]]></content:encoded> <wfw:commentRss>http://lazing.ave7.net/2008/quiet-point/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license> </item> </channel> </rss>
