tag:blogger.com,1999:blog-5972391387822319802009-03-01T22:30:46.695+08:00William Cui 崔伟毅 的 WeblogEnterprise Applications / Rich Internet Applications / Emerging TechnologiesWilliam Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.comBlogger43125tag:blogger.com,1999:blog-597239138782231980.post-66272511932170245092008-10-12T16:58:00.002+08:002008-10-12T17:07:11.568+08:00危机与我们  大家已经知道,拿目前的美国和欧洲金融市场格局来说,可能真的不得不用“全盘崩溃”四个字来形容了。始于去年的美国次贷危机,已经给昔日风光无限的华尔街带来了难以想象的灾难性后果,其导致的连环效应更是使得一些国家级别的破产现象开始一一出现。虽然总计逾万亿的救市资金和一系列降息政策都被紧急批准用于阻止金融危机的继续加深,但一场波及全球金融市场的风暴还是不可避免地发生了,它无疑将会对整个世界经济造成一定程度的冲击。可以说,前景不容乐观。<br />  大家不禁要问,这场正在进行中的金融风暴会在多大程度上对中国经济,特别是我们所处的IT业以及我们每个人造成怎样的影响呢?<br />  且不说对于已经身处在水深火热中的中国股市而言,这次国际金融市场的大震荡会进一步加剧投资者和广大股民的恐慌情绪,而伴随着这些不确定因素的急剧增加,整个市场所要面临的风险就更为明显了。<br />  此外,由于国外出口市场的大幅萎缩,中国的对外出口增长也将不可避免地放缓,而随着出口环境的恶化势必带来制造业的萧条和相关产业失业率的上升,从而会导致整个中国经济增速的下降,而这一切都只是一个时间问题。<br />  把目光转向我们所共处的IT业,作为重要经济地标之一的硅谷也正在经历着这次金融危机带来的严峻考验,为了节省开支以应对可能进一步升级的外部环境恶化趋势,各大IT公司都不约而同地开始实施了各种收缩战略,从冻结预算到大规模裁员等应急对策都随时可能付诸于行动,而这还仅仅是一个开始。<br />  根据IT行业的组成结构来看,大致可以分成以下几大类:首先是金融服务业,这个向来是IT行业的最大收入来源之一,其遭受的“灭顶之灾”可想而知。其次,对于企业用户市场,他们自身都难保,因此无论是硬件还是软件系统采购预算都将大幅减少或者延后。再后,就是个人用户市场,特别是对于那些互联网企业说,随着市场处境恶化,它们之前赖以生存的广告和增值服务收入也很可能就此一蹶不振。最后,就数那些已经或者即将投身于新型技术市场的企业了,随着风投们的“风头”不再,如果还没有找到有效的盈利模式,恐怕它们也很难再将烧钱进行到底了……<br />  面对正在蔓延的金融危机和市场风险,对于身处国内IT业的我们,无论从个体或群体的角度,无论是否已经受到影响,都应该如何应对呢? 让我们先从目前受其直接影响最大的群体说起,那就是当下准备找工作的应届毕业生和已经不幸失去工作了的外资IT企业职员或者受牵连的IT创业人员了,对于前者必须对就业形势的严峻程度做好充分的思想准备,也可以根据自身特点考虑一下到以内需市场为主的受危机牵连相对较少的国内IT企业进行发展。而对于两者同样重要的是,必须要调整好心态,放宽职业面,预留长期的保险准备而不要孤注一掷。<br />  然后就是那些身处外企IT的已经对危机有点感觉或者在其他企业内还浑然不知的群体了,首先要说大家目前还是是幸运的,但也别庆幸的太早,是时候要问问自己“我做好过冬准备了吗”。设想如果波及周边,是否自己能够依然独善其身,拥有足够的竞争力和保险准备,还是只是落得个“五十步笑一百步”的境地呢……<br />  和以往所有的危机一样,危险与机遇始终都是并存的,只是每个人看问题的角度不同,如果在过冬有保障的前提下,适时地进行长远投资,提升自己的抗风险能力也未尝不是一个明智的选择。当然,更长远的投资其实就在我们每个人身边的每一天,那就是要长期经营彼此间信任的伙伴关系,而能够经受住危难考验的伙伴关系才是真正无价的!<br />  最后,希望各国政府联手对于救市的一系列重要措施能够尽快收到积极成效,使得危机早日过去,也衷心祝愿大家都能够鼓起勇气和信心,互相帮助共渡难关,取得新的发展!<br /><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-6627251193217024509?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com1tag:blogger.com,1999:blog-597239138782231980.post-78266148015025427012008-05-01T22:15:00.002+08:002008-05-01T22:41:52.222+08:00Flash 无处不在  面对Microsoft和Apple的咄咄逼人,Adobe启动了一个名为“<a href="http://www.adobe.com/openscreenproject/">Open Screen</a>”的项目,为Flash及其相关解决方案的跨设备屏幕使用提供免专利的开放性支持。<br /><div style="text-align: center;"><img src="http://www.techcrunch.com/wp-content/devices_376x200.jpg" /><br /></div><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-7826614801502542701?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-86538023862817014342008-04-13T22:46:00.001+08:002008-04-13T22:52:00.002+08:002008 北京奥运 全球火炬接力<iframe name="torch_relay_map_api" src="http://torch2008.googlecode.com/svn/trunk/maps/torch.html" width="760px" height="520px" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-8653802386281701434?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-9673263437941889922007-12-28T14:03:00.000+08:002007-12-28T14:40:00.709+08:00Voice 2.0 - 基于Flex的电话解决方案“Ribbit”  <a href="http://www.ribbit.com/">Ribbit</a>是来自硅谷的一家创新型电话公司,它将传统电话语音业务和网络应用服务联系起来,推出基于<a href="http://www.adobe.com/go/flex">Adobe Flex</a>的开放性电话语音服务API,使之可以被定制并嵌入在任何Web应用中,从而成为Voice 2.0应用。<br /><br />  Ribbit发布会:<br /><br /><div align="center"><object height="373" width="425"><param name="movie" value="http://www.youtube.com/v/e2dWdGVTeGI&amp;rel=1&amp;border=1"><param name="wmode" value="transparent"><embed src="http://www.youtube.com/v/e2dWdGVTeGI&amp;rel=1&amp;border=1" type="application/x-shockwave-flash" wmode="transparent" height="373" width="425"></embed></object></div><br /><br />  Ribbit功能介绍:<br /><br /><div align="center"><object height="373" width="425"><param name="movie" value="http://www.youtube.com/v/xDfCY3poAo0&amp;rel=1&amp;border=1"><param name="wmode" value="transparent"><embed src="http://www.youtube.com/v/xDfCY3poAo0&amp;rel=1&amp;border=1" type="application/x-shockwave-flash" wmode="transparent" height="373" width="425"></embed></object></div><br /><br />  有意思的是,Ribbit还用<a href="http://www.adobe.com/go/air">Adobe AIR</a>开发了一款iPhone模拟器,并充分演示了其内置的电话语音功能。从中可以看出这种把RIA和传统语音服务相结合的应用还是很有前景的,当然最受益的还是该服务平台提供商。<br /><br />  相关链接:<a href="http://www.ribbit.com/">http://www.ribbit.com/</a><br /><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-967326343794188992?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com1tag:blogger.com,1999:blog-597239138782231980.post-75870178467380740072007-12-26T19:31:00.000+08:002007-12-26T20:58:01.321+08:00视频:硅谷的秘密历史  今天看了一段蛮有意思的<a href="http://www.youtube.com/watch?v=hFSPHfZQpIQ">视频资料</a>,讲的是硅谷(Silicon Valley)的秘密历史,其中一系列的战争成为了它的催化剂:第二次世界大战(首次电子战)、朝鲜战争、美苏冷战……<br />  <a href="http://www.youtube.com/watch?v=hFSPHfZQpIQ">http://www.youtube.com/watch?v=hFSPHfZQpIQ</a><br /><br />  共同“硅谷之父”:Frederick Terman<br />  <img src="http://lh3.google.com/cui.william/R3JH54cdapI/AAAAAAAACxY/hLMqvWKpmsU/the-secret-history-of-silicon-valley-1.jpg" /><br />  共同“硅谷之父”:William Shockley<br />  <img src="http://lh4.google.com/cui.william/R3JH7IcdaqI/AAAAAAAACxg/TD4zCO43z20/the-secret-history-of-silicon-valley-2.jpg" /><br />  硅谷的这一秘密历史给它所带来的影响:<br />  <img src="http://lh6.google.com/cui.william/R3JH7ocdarI/AAAAAAAACxo/GDY5aHMr2sU/the-secret-history-of-silicon-valley-3.jpg" /><br /><br /><em>by</em> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-7587017846738074007?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-63654343547681604202007-12-09T23:16:00.000+08:002007-12-10T00:15:37.047+08:00用于动态图表绘制的API  一个很简单但又非常实用的用于动态图表绘制的API:<br /><div style="text-align: center;"><a href="http://code.google.com/apis/chart/"></a><blockquote><a href="http://code.google.com/apis/chart/">http://code.google.com/apis/chart/</a>。</blockquote><div style="text-align: left;">  全部的API调用格式都用一个URI完成,可以设定在&lt;img&gt;标签的src属性中,是一个典型的基于URI驱动的设计:<br /></div></div><div style="text-align: center;"><blockquote><pre>http://chart.apis.google.com/chart?&lt;p1=""&gt;&amp;&lt;p2=""&gt;&amp;&lt;pn=""&gt;。<br /></pre><div style="text-align: left;">例如:<br /></div></blockquote></div><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://chart.apis.google.com/chart?cht=lc&amp;chd=s:pqokeYONOMEBAKPOQVTXZdecaZcglprqxuux393ztpoonkeggjp&amp;chco=FF0000&amp;chls=4.0,3.0,0.0&amp;chs=200x125&amp;chxt=x,y&amp;chxl=0:%7C1%7C2%7C3%7C4%7C5%7C1:%7C0%7C50%7C100&amp;chf=c,lg,0,76A4FB,1,ffffff,0%7Cbg,s,EFEFEF"><img style="cursor: pointer;" src="http://chart.apis.google.com/chart?cht=lc&amp;chd=s:pqokeYONOMEBAKPOQVTXZdecaZcglprqxuux393ztpoonkeggjp&amp;chco=FF0000&amp;chls=4.0,3.0,0.0&amp;chs=200x125&amp;chxt=x,y&amp;chxl=0:%7C1%7C2%7C3%7C4%7C5%7C1:%7C0%7C50%7C100&amp;chf=c,lg,0,76A4FB,1,ffffff,0%7Cbg,s,EFEFEF" alt="" border="0" /></a><br /><br /><code>chf=c,lg,0,76A4FB,1,ffffff,0|bg,s,EFEFEF……</code><br /><div style="text-align: left;"><br />  三个多月前,曾经和Tianle同学也一道研究设计过类似的API,主要用于为Web Dynpro提供动态图片绘制。如果使用过Web Dynpro,那可能会对其图片UI控件无法支持“动态文字叠加”的限制印象深刻吧,我们当时能够解决的是通过基于URI的API来完成各种的图片绘制,包括渐变、倒影、文字定位和样式布局等功能,从一定程度上来弥补Web Dynpro在这方面的不足。后来,由于一个棘手的多国语言字体问题,使得我们无法进一步推进这一API的使用,可谓稍有遗憾。不过,我们已经有打算在合适的时间场合将这一解决方案作为开源项目放出来了。对此有兴趣的朋友,我们可以进一步讨论。<br /><br /></div></div><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-6365434354768160420?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com1tag:blogger.com,1999:blog-597239138782231980.post-81378135330076347882007-11-11T22:36:00.000+08:002007-11-12T00:09:19.725+08:00Office 2.0 战场硝烟弥漫  自从在线文档共享平台<a href="https://share.adobe.com/">Adobe Share</a>发布后,被Adobe收购来的<a href="http://preview.getbuzzword.com/">BuzzWord</a>也开始向公众开放预览版了。由于是基于<a href="http://www.adobe.com/go/flex">Adobe Flex</a>开发的,BuzzWord在用户界面、渲染效果和工作性能等方面无疑具有一定的优势,使用起来更像是传统的桌面版文字处理软件,可以相信Adobe也一定会借助它<a href="http://www.adobe.com/go/air">AIR</a>平台的已有优势在这一新领域进一步发力,尝试做好浏览器和桌面软件的衔接。<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://preview.getbuzzword.com/"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://www.blogsmithmedia.com/www.downloadsquad.com/media/2007/10/buzzword.jpg" alt="" border="0" /></a><br /><br />  当然,传统Office老大Microsoft也绝对不会放弃这块在线市场,姗姗来迟地结合它的Live战略推出<a href="http://www.officelive.com/">在线Office套件</a>,因为目前为止还没正式向公众发布,所以还不清楚这个在线协作产品和现有桌面产品的定位以及依赖关系是怎样的,不过可以想象的是一旦大规模发布,必定会是一颗重磅炸弹。<br /><br />  接下来,就是知晓度最高的<a href="http://docs.google.com/">Google Docs</a>了,现在已经具有相对完整的Office三套件:Docs,Spreadsheets和Presentation。但是Google一直没有正面冠之以在线Office软件的名号,只是突出其协同文档、表格和演示工具的特性,可能也是一种产品定位上避免正面竞争的考虑吧,毕竟如果要真正作为桌面Office的替代品,从Ajax技术限制以及用户使用习惯角度来说还是有很大不足的。<br /><br />  最后,很值得一提的是来自印度的<a href="http://www.zoho.com/">Zoho</a>在线应用软件套件,这是迄今为止最全面的由一家公司推出的在线工作软件整体解决方案,令人惊讶的是它还提供了托管版的<a href="http://crm.zoho.com/">按需CRM</a>、<a href="http://business.zoho.com/">商务应用解决方案</a>还有<a href="http://chat.zoho.com/">即时通信</a>、<a href="http://mail.zoho.com/">邮件系统</a>、<a href="http://projects.zoho.com/">项目管理</a>、<a href="http://meeting.zoho.com/">会议系统</a>和<a href="http://wiki.zoho.com/">Wiki</a>等一系列在线工作软件。对于这样一个潜力巨大的新星,可以想象得出它已经被好多这一领域的后进者们看上了,据说Yahoo就是其中一员,不知道像SAP或者Oracle之类的会不会对此也感兴趣呢?<br /><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-8137813533007634788?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com1tag:blogger.com,1999:blog-597239138782231980.post-53557181959501622252007-11-09T20:58:00.000+08:002007-11-09T22:21:58.051+08:00SAP TechEd'07 在上海成功举行  经过精心准备,为期两天的SAP TechEd'07上海技术研发者大会在上海国际会议中心成功举行,值得欣喜的是<a href="http://www.williamcui.com/blog/2007/10/soacafsap-teched-07.html">我的两个讲座</a>均取得了不错的效果,也使得我们有机会与参会者就企业SOA这一主题进行了直接的面对面交流。<br /><br /><div style="text-align: center;"><a href="http://picasaweb.google.com/cui.william/SAPTechEd07Shanghai/photo#5130710131187812850"><img src="http://lh4.google.com/cui.william/RzPxrj7yifI/AAAAAAAACqg/HDD1AiC0G2I/s400/TechEd2007.jpg" /></a><br />我的“<a href="http://www.sapteched.com/china/TechEdcn/session.asp?id=37">企业SOA安全</a>”演讲(感谢同事Jason的拍摄)<br /></div><br />  在此,我要特别感谢参与本次演讲资料翻译的Tianle同学,在我内部试讲时提出宝贵建议的Sainter同学,以及所有来听我内部试讲和最终演讲的同事们和朋友们!谢谢大家!<br /><br />  最后,可以共享给大家一份企业SOA安全的中英文对照术语表,是我们在协同翻译过程中整理的:<a href="http://spreadsheets.google.com/ccc?key=pLJr1m0Dyfhd_03OM6Z0iYQ&amp;hl=en_GB">http://spreadsheets.google.com/ccc?key=pLJr1m0Dyfhd_03OM6Z0iYQ&amp;hl=en_GB</a>。<br /><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-5355718195950162225?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-11726905399013200022007-10-28T13:29:00.000+08:002007-10-28T15:14:27.891+08:00我的feed共享—William Cui's shared items  最近,我已经开始使用<a href="http://www.google.com/reader">Google Reader</a>的feed共享功能把自己觉得有一定价值的文章渐渐地分享给身边的朋友了,大家如果对我推荐的文章有兴趣的话,现在就可以通过<a href="http://www.google.com/reader/shared/06709086568200719840">http://www.google.com/reader/shared/06709086568200719840</a>(或者通过比较好记的<a href="http://feed.feedsky.com/williamcui_share">http://feed.feedsky.com/williamcui_share</a>)进行浏览和订阅。当然,熟悉我blog的朋友也会发现,我已经把右边栏的评论信息替换成更为实用的“My shared items”来便于大家发现我的共享内容了。<br /><br />  此外,我还使用了<a href="http://feed.feedsky.com/williamcui">http://feed.feedsky.com/williamcui</a>作为我blog的后备feed发布地址,如果大家订阅<a href="http://www.feedburner.com">FeedBurner</a>有困难的话,可以更换成该feed试试。不过目前为止,通过email订阅的朋友应该还不会受任何影响。<br /><br />  最后,希望有更多志同道合的朋友加入到feed共享的队伍中来,分工合作,互通有无,提高大家的信息和时间利用效率!<br /><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-1172690539901320002?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-30877125814217809002007-10-24T22:06:00.000+08:002007-10-24T23:43:00.607+08:00企业SOA安全、CAF服务组合——我在SAP TechEd '07上海的两个讲座  我在上一篇博客中提到了即将举行的SAP TechEd '07上海(2007 SAP全球技术研发者大会),以及我和周围的一些同事以及好友非常有幸地成为了其中的演讲者,以下是我的两个讲座:<br /><br />一、<a href="http://www.sapteched.com/china/TechEdcn/session.asp?id=37"><span style="font-weight: bold;">企业 SOA 安全</span></a>(也可以参见<a href="http://www.sapteched.com/china/TechEden/session.asp?id=37">英语介绍</a>)<br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><p><strong>序号:</strong> SIM200</p></td></tr> <tr> <td> <p>  与单一企业系统体系相比,企业级面向服务架构面临着许多新的安全挑战。<br />  本讲座介绍了在企业级面向服务架构背景下的安全需求,以及现有的安全问题解决方案。它描述了Web Service安全领域和附加标准中的概念是怎样与流行的安全实施相结合,为企业级面向服务架构领域提供适当的安全措施,例如:认证和单点登录、加密操作和传输安全。让您有机会全面了解用以企业级面向服务架构建设和安全支持的SAP技术。<br /></p></td> </tr> <tr> <td><p><strong>房间:</strong> 世纪厅</p></td> </tr> <tr> <td><p><strong>时间: </strong>2007年11月6日16:45-17:45</p></td></tr></tbody></table><br />二、<a href="http://www.sapteched.com/china/TechEdcn/session.asp?id=25"><strong>使用SAP组合应用框架 (CE 7.1) 创建服务组合</strong></a>(也可以参见<a href="http://www.sapteched.com/china/TechEden/session.asp?id=25">英语介绍</a>)<br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><p><strong>序号:</strong> CE253</p></td></tr> <tr> <td><p>  组合应用帮助企业推动业务流程创新、发挥现有IT投资价值。SAP NetWeaver 组合应用环境按照SAP企业级面向服务架构的原则,为有效开发、管理和部署组合应用,提供了完整的方法论和基于Eclipse的工具套装。SAP NetWeaver组合应用环境结合许多基础组成组件,例如SAP Java EE 5 Application Server、基于Web Dynpro 的用户界面、用于UI模型创建的SAP NetWeaver Visual Composer,协作进程建模的向导程序、以及服务和业务对象定义基础架构。<br />  以开发人员的观点了解和感受组合应用,并实践从头创建一个组合应用。让我们向您展示SAP NetWeaver组合环境在创建、组装和协调作为新应用构件服务方面提供了哪些功能增强。<br /></p></td> </tr> <tr> <td><p><strong>房间:</strong> 明珠厅</p></td> </tr> <tr> <td><p><strong>时间:</strong> 2007年11月7日9:30-11:30 </p></td></tr></tbody></table><br />注:其中第二个是实践操作型讲座,由我和同事Kevin Wang共同提供。由于实践操作环境和讲座名额有限,欢迎注册过的并且感兴趣的朋友抓紧<a href="http://sap.csdn.net/TechEd2007/denglucn.aspx">登录报名</a>参加该实践操作!<br /><br />到时见!<br /><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-3087712581421780900?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-90075465146309146382007-10-08T22:46:00.000+08:002007-10-09T00:30:50.225+08:00SAP发布Business ByDesign,友好收购Business Objects  出于公司的保密协议考虑,我很少在博客中涉及SAP的商业动向内容。不过,近些日子的有关SAP的公开新闻和消息不断,使得我也想在此记录一二,以作纪念:<br /><ul><li>上月19日,北京时间晚上11点,SAP在纽约发布了全新的SAP Business ByDesign产品,这也就是之前开发代号为“A1S”的面向中小型企业的在线按需配置解决方案。关于更多的有关SAP Business ByDesign产品介绍,请访问<a href="http://www30.sap.com/china/solutions/sme/businessbydesign/index.epx">SAP中国网站</a>,你也可以访问<a href="http://www.sap.com/solutions/sme/businessbydesign/index.epx">全球网站</a>,以及SAP中国免费咨询热线: 800-820-0727。<br />  由于时差原因,在SAP Business ByDesign正式发布之前的4个小时,我们在中国的A1S研发和销售团队事实上已经提前进行了热烈的庆祝活动(我的好友和同事Jim Liang对此进行了<a href="http://picasaweb.google.com/jin.liang/A1SGoLiveParty">现场照片记录</a>)。庆祝会过后,便继续与其它几位同事一道留在公司观看SAP TV的产品发布会现场直播。那刻的心情很复杂,既为能见证为之付出了无数日夜工作的产品最终发布而格外兴奋,又为接下来的现场产品演示和最终反馈而感到紧张。直到SAP执行董事Peter Zencke和现场演示搭档Ian Kimbell把我们组负责研发的产品部分完美地演示成功后,我才终于心情舒畅了,随后我们互相真正地祝贺并淋着细雨各自回家,只记得那天离开公司时已经差不多次日凌晨1点了……<br /></li><li>今天10月8日,长假结束后的第一天,一到公司便看到了CEO Henning Kagermann关于SAP以48亿欧元友好收购法国Business Objects公司的邮件。说实话,我的确为德法两大欧洲软件巨头能够最终走到一起而感到有点出乎意料。而且据说这次收购的保密性做得相当好,连Business Objects的员工都未有提前察觉。关于收购细节,请查看<a href="http://www.sap.com/about/investor/press.epx?pressid=8360">官方报道</a>。</li><li>今年10-11月,SAP TechEd 2007将先后在<a href="http://www.sapteched.com/usa">美国拉斯维加斯</a>、<a href="http://www.sapteched.com/emea">德国慕尼黑</a>、<a href="http://www.sapteched.com/china">中国上海</a>和<a href="http://www.sapteched.com/india">印度班加罗尔</a>举行。这是历史上SAP第一次在中国举行的级别最高的全球技术研发者大会,详情请访问或注册相关<a href="https://www.sdn.sap.com/irj/sdn/sapteched">SDN网站</a>。值得一提的是我和周围的一些同事以及好友非常有幸地成为了这次SAP TechEd 2007上海全球技术研发者大会的演讲者,具体内容和安排参见<a href="http://www.sapteched.com/china/TechEdcn/edu_sessions.htm">大会内容</a>和我的后续博客报道。<br /></li></ul><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-9007546514630914638?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com1tag:blogger.com,1999:blog-597239138782231980.post-19973815451468680852007-09-22T22:32:00.000+08:002007-09-23T00:46:39.874+08:00有关Web技术和Ajax安全的资料分享  首先是今年在加拿大举行的第16届The International World Wide Web Conference,大部分<a href="http://www2007.org/program/papers.php">papers</a>都可以下载到PDF全文。比较值得一看的有:<br /><ul><li><a href="http://www2007.org/program/paper.php?id=801">Subspace: Secure Cross-Domain Communication for Web Mashups</a></li><li><a href="http://www2007.org/program/paper.php?id=635">The Complex Dynamics of Collaborative Tagging</a></li><li><a href="http://www2007.org/program/paper.php?id=777">The Two Cultures: Mashing Up Web 2.0 and the Semantic Web</a></li></ul>  该大会明年在<a href="http://www2008.org/">北京</a>举行,也可以浏览历次的会议论文:<a href="http://www2006.org/">http://www2006.org</a>……<br /><br />  另外,与跨域访问和安全验证相关的还有来自Google的“<a href="http://feeds.feedburner.com/%7Er/blogspot/Dcni/%7E3/159532195/new-gdata-javascript-library-enables.html">New GData JavaScript library enables full read and write access for your mashups</a>”,据说已经和AuthSub集成好,可以支持用纯JavaScript来完成数据写回的操作,而不再需要额外的服务器端代理包装了:<br /><pre>function logMeIn() {<br />scope = "http://www.google.com/calendar/feeds";<br /><span> <span style="color: rgb(255, 0, 0);">var token = google.accounts.user.login(scope);</span></span><br />}<br /><br />function setupMyService() {<br />var myService =<br />new google.gdata.calendar.CalendarService('exampleCo-exampleApp-1');<br />logMeIn();<br />return myService;<br />}</pre>  最后,关于Ajax的安全问题,记了这句话:“<a href="http://searchsoftwarequality.techtarget.com/originalContent/0,289142,sid92_gci1270910,00.html">Ajax is not inherently insecure, but ignoring security makes it so</a>”。<br /><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-1997381545146868085?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-51018064219935924672007-08-26T23:13:00.000+08:002007-08-27T00:21:44.860+08:00代码分析和漏洞检测  在InfoQ上看到了一些关于代码分析的<a href="http://www.infoq.com/code-analysis">文章</a>,发现了两篇比较有意思而且有完整中文译文的,分别是:<br /><ul><li><a href="http://www.infoq.com/cn/articles/governance-coding-standards">代码规范的自动化监管</a><br />  讲的很不错,印象最深刻的一点是,面对参差不齐的代码质量和编程习惯所带来的巨大挑战,传统的通过事后代码复查来试图纠正已经太晚了,而且会不可避免地导致编码人员的不良心理反应。因此,可能最好的办法就是实施自动化监管,把静态源代码分析和漏洞检测系统与版本构件系统进行整合,从而进行强代码制规范化,既一定程度上避免了垃圾代码进入产品构件系统,也使得编码人员更易于接受并积极改进。</li><li><a href="http://www.infoq.com/cn/news/2007/08/google-singleton-detector">Google单实例模式检测工具</a><br />  这个检测是在字节码层面上的,而不是通常的源代码层面。因此,从难度上来说要高不少,而且很难检测完全。相当于要从一堆字节码中检测出某些模式或者特征代码,有点像查病毒软件的原理吧。<br />  至于单例(Singleton)模式的问题与否,我个人认为,如果采用的是松耦合的资源注入方式,那么使用单例并不是问题非常大的;反之,如果控制逻辑和资源状态是混在一起的,相当于一种全局的static容器,那么这无疑增加了测试和理解的复杂性,理论上是不赞成的。大家觉得呢?</li></ul>  最后,我也来介绍一个SAP的代码分析工具——<a href="http://help.sap.com/saphelp_nw04s/helpdata/en/f7/3d9d3c838436428a154abc3816fd9c/content.htm">JLin</a> ,这个是可以通过简单地配置和构件系统整合在一起,然后生成代码质量报告。其本身是SAP NetWeaver Developer Studio的一个Eclipse插件,内置了一些基本的代码检测规则。在我们的日常开发中,任何Priority 1或者2的代码是不允许被带到产品的consolidate track上去的。虽然检测的范围还是比较有限,但还是在一定程度上起到了监管代码质量的作用。不过,就我的判断,在理论上,JLin的架构是能够支持更为复杂的源代码级或者字节码级的自动化代码审查和强制监管功能的。<br /><br /><em>by</em> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-5101806421993592467?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-77258551957915092262007-08-06T00:08:00.000+08:002007-08-06T01:22:51.995+08:00在线数据服务托管  在线数据服务托管的理念是把数据存储和客户的具体应用分离,由第三方提供数据存储的基础设施,并将数据检索和存储服务按每月使用流量进行收费。<br />  先来看看这块市场的老大,来自Amazon的<a href="http://aws.amazon.com/s3">S3</a>数据服务托管的价目表吧:<br /><p><strong></strong></p><blockquote><p><strong>Storage<br /></strong>$0.15 per GB-Month of storage used </p> <p><strong>Data Transfer<br /></strong>$0.10 per GB - all data transfer in</p> <p>$0.18 per GB - first 10 TB / month data transfer out<br />$0.16 per GB - next 40 TB / month data transfer out<br />$0.13 per GB - data transfer out / month over 50 TB </p> <p>Data transfer "in" and "out" refers to transfer into and out of Amazon S3.<br />Data transferred between Amazon S3 and Amazon EC2 is free of charge </p> <p><strong>Requests<br /></strong>$0.01 per 1,000 PUT or LIST requests<br />$0.01 per 10,000 GET and all other requests*<br /><span style="">* No charge for delete requests</span> </p> <p>Storage and bandwidth size includes all file overhead.</p></blockquote><p> </p>  我不是这一块的业内人士,不清楚它的定价合理与否,也不是很清楚国内是否已经有了模仿者。不过对于消费者来说,它的按需收费应该还是很受欢迎的,用多少算多少,大大降低了一次性投资风险,因此会特别受初创型互联网企业的欢迎吧。<br /><br />  除了S3,还有以下已知的类似服务可以研究一下:<br /><ul><li>Google的Base:<a href="http://base.google.com/">http://base.google.com/</a>,基于<a href="http://code.google.com/apis/base/">Google base GData API</a></li><li>Zoho的Creator:<a href="http://creator.zoho.com/">http://creator.zoho.com/</a>,有一套<a href="http://creator.zoho.com/help/deluge/index.html">Deluge Script</a>直接用于在线Form开发,支持.xls、.csv格式<br /></li><li>Microsoft的Astoria:<a href="http://astoria.mslivelabs.com/OnlineService.aspx">http://astoria.mslivelabs.com/OnlineService.aspx</a>,可以直接和SQL Server在Visual Studio集成开发</li></ul>  从技术角度来说,以上所有服务都支持类似REST方式的数据访问API,并通过JSON/XML格式交换数据。对于他们在数据安全性方面的解决方案,个人比较感兴趣,正打算着啥时候再研究讨论一下吧。<br /><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-7725855195791509226?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com2tag:blogger.com,1999:blog-597239138782231980.post-49300753201104044602007-07-22T00:12:00.000+08:002007-07-22T01:46:01.553+08:00一些关于Web Dynpro基础架构和设计原理的老资料  在SAP的工作中接触Web Dynpro进行设计和开发将近两年了,对其优势、特性和待改进之处也有了基本的认识。不过以前很少从技术和协议底层来看Web Dynpro,这次由于工作需要,便尝试着走出Web Dynpro编程模型来理解一些更本质的东西。今天,我偶然间找到一些公开的关于Web Dynpro基础架构和设计原理的老资料,仔细品读了一番,还真是有了几分不一样的收获:<br /><br /><a href="https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/43101749-0701-0010-cd87-a2e9be1c5ed2">An Introduction to Web Dynpro Protocol</a> (2005, SAP AG)<br />这份SDN上的文档从GUI演变和发展需求角度介绍了Web Dynpro的SCXML基础协议以及细分过的Session生命周期。这个SCXML也就是最新的名为Business Client XML的前身吧,通过这样一种中间协议的设计,使得UI统一绘制(UR)以及UI自动化测试(eCATT, QTP)拥有了天生的适应性,以不变应万变。<br /><br /><a href="https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/91b8c890-0201-0010-c787-be96f6fade89">The Basic Facts About Web Dynpro - What Does It Do and How Does It Work?</a> (2004, SAP AG)<br />这份SDN上的文档从基础架构和设计原理角度解释了Web Dynpro是如何考虑UI编程灵活性和统一性的,并且在若干年前就预测了UI技术的发展,以及如何灵活地、最小代价地应对这些变化和挑战(其中,the return of applet可以引申为今天的JavaFx,Business UIs running in Macromedia Flash就是今天的Adobe Flex,而a new UI paradigm prescribed by Microsoft不就是WPF/Silverlight么……):<br /><span style="font-style: italic;"><blockquote>We believe that our approach is the best of all worlds today. It is the only avenue to having an ergonomic, rich user interface in a true zero installation, browser-based client with low network bandwidth. This is true today - but tomorrow could see the return of the applet, or Business UIs running in Macromedia Flash, or a landslide adoption of Adobe Forms, or a new UI paradigm prescribed by Microsoft. The model-view-controller paradigm is our insurance policy against this. Once you have a clear separation between user interface and business logic, it is relatively easy to adopt a new front-end technology whenever necessary.</blockquote></span>  在OO设计模式中,大家都会谈到松耦合这个思想,而接口的概念更是实现该思想的核心部分。同样地,我理解的Web Dynpro则是从架构上把业务服务和UI技术进行了最大程度的松耦合,使得用同一套Web Dynpro开发组件在运行时渲染在完全不同的UI技术平台成为了可能。其实,如果把UI全称写出来(User Interface),这不也是一个同样的“接口”概念么,只不过在这里被译为了“界面”一词。<br /><br /><span style="font-style: italic;">by</span> William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-4930075320110404460?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-69976946698520873362007-07-09T10:50:00.000+08:002007-07-09T11:33:25.467+08:00Mashup开发利器一览  <a href="http://mashable.com/">Mashable.com</a>上的这篇<a href="http://mashable.com/2007/07/08/mashups/">文章</a>把目前众多的Mashup开发利器很有趣地按照“大腕”派和“小众”派进行了分类汇 总:<br /><ul><li>“大腕”派:</li><ul><li><a href="http://pipes.yahoo.com/">Yahoo Pipes</a></li><li><a href="http://www.popfly.com/">Microsoft Popfly</a></li><li><a href="http://code.google.com/">Google Mashup Tools</a></li><li><a href="http://mashable.com/2007/07/06/intel-to-launch-mashmaker-soon/">Intel MashupMaker</a></li><li><a href="http://services.alphaworks.ibm.com/qedwiki/">IBM QEDWiki</a><br /></li></ul><li>“小众”派:</li><ul><li><a href="http://www.dapper.net/">Dapper</a></li><li><a href="http://teqlo.com/">Teqlo</a></li><li><a href="http://www.protosw.com/">Proto</a></li><li><a href="http://datamashups.com/">DataMashups</a></li><li><a href="http://openkapow.com/">OpenKapow</a><br /></li></ul></ul>by William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-6997694669852087336?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com1tag:blogger.com,1999:blog-597239138782231980.post-33411591161735953952007-07-08T16:23:00.000+08:002007-07-08T20:57:20.767+08:00Wikipedia的思维脑图——Wikimindmap  大家是否觉得,面对内容冗长并且主题高度聚集的<a href="http://www.wikipedia.org">Wikipedia</a>,我们似乎缺乏一种直观的方法来快速浏览从而找到我们真正要找的信息呢?<br /><br />  那就试试看<a href="http://www.wikimindmap.org/">Wikimindmap</a>吧,这是一个用思维脑图的想法来可视化Wikipedia信息结构的尝试性小工具。从实现角度来说,它采用了<a href="http://freemind.sourceforge.net/wiki/index.php/Flash_browser">FreeMind Flash浏览器</a>开源组件,对Wikipedia的站内和站外链接进行解析,并把简要文本和链接内容根据每篇文章的大纲标题进行了分组和排序,如下以“SAP_AG”条目在<a href="http://wikimindmap.org/viewmap.php?wiki=en.wikipedia.org&topic=SAP_AG">Wikimindmap</a>里进行搜索:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.williamcui.com/blog/uploaded_images/wikimindmap.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.williamcui.com/blog/uploaded_images/wikimindmap.jpg" alt="" border="0" /></a><br />  好像还不错哦?另外,之前我还介绍过另一个“<a href="http://www.williamcui.com/blog/2007/05/flexspringgraph.html">Flex开源图形可视化组件——SpringGraph</a>”。<h3 class="post-title"></h3>by William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-3341159116173595395?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com1tag:blogger.com,1999:blog-597239138782231980.post-29306884376639248692007-06-30T20:43:00.000+08:002007-07-01T22:22:14.325+08:00iPhone虚拟键盘的人机交互和用户体验一瞥  Apple如期发布了iPhone产品,这段官方<a href="http://www.apple.com/iphone/usingiphone/keyboard.html">介绍视频</a>展示了其最受业界关注和挑战传统人机交互设计的虚拟键盘操作。如果真实的产品功能和宣传广告完全一致,并且电池问题得到很好解决的话,可以说该款产品必将引起新的一波追捧浪潮。<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.apple.com/iphone/usingiphone/images/keyboard_hero20070629.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://images.apple.com/iphone/usingiphone/images/keyboard_hero20070629.png" alt="" border="0" /></a>  今天有幸碰到美国明尼苏达大学的一位教授,从开源软件聊到了硬件存储前沿,开阔了国际视野,并产生了一些共鸣(等我整理一下后写进下一次weblog,敬请关注或<a href="http://feeds.feedburner.com/williamcui">订阅</a>)。当然,我们也谈到了Apple公司的独特制胜之处,即这个公司能够源源不断地在自己产品里把科技元素和时尚元素进行完美的融合,从而另辟蹊径,开创并赢得蓝海市场。这难能可贵的理念对于我们软件从业者是否也有一定的启示意义呢,软件产品的蓝海在哪里?<br /><br />by William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-2930688437663924869?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-47960725961502475522007-05-31T21:21:00.000+08:002007-05-31T23:20:49.631+08:00Google Gears,带动离线Web应用的齿轮<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.techcrunch.com/wp-content/googgearslogo.png"><img style="margin: 0pt 0pt 10px 10px; float: left; cursor: pointer;" src="http://www.techcrunch.com/wp-content/googgearslogo.png" alt="" border="0" /></a>  今天,Google向开发者社区公布了用于支持离线Web应用的<a href="http://gears.google.com/">Google Gears</a>开源项目,并在其<a href="http://www.google.com/reader">Google Reader</a>产品中首先尝试应用了此技术。<br /><br />  记得几个月前我曾在“<a href="http://www.williamcui.com/blog/2007/03/offlineweb.html">Offline支持——Web的下一个热点!</a>”一文中分析过离线Web应用的来龙去脉,以及一些尚不清晰的发展方向,譬如离线业务逻辑、数据同步、安全机制等。有兴趣的朋友也不妨一看啦,欢迎评论和交流。<br /><br />  从初步的体验和探究来看,正像Google Gears的开发工程师Aaron Boodman和Erik Arvidsson在<a href="http://gearsblog.blogspot.com/2007/05/posted-by-aaron-boodman-and-erik.html">Gears API Blog</a>上的写的那样,目前的Gears提供的还只是用以支持离线Web应用的最小基本功能集。还有更多的离线Web应用问题和解决方案需要得到广大社区和业界厂商们的支持合作和共同努力,以完成一个能够满足人们需求的基于开放平台标准的解决方案。<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.techcrunch.com/wp-content/googreadgears.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://www.techcrunch.com/wp-content/googreadgears.png" alt="" border="0" /></a>  对于Google Gears的推出,让我们来看看其他离线Web解决方案提供商是如何反应的:<br /><ul><li>Adobe的Mike Chambers在其<a href="http://www.mikechambers.com/blog/2007/05/30/apollo-beta-will-include-sqlite-embedded-database/">Blog</a>上表示,Apollo的下一个beta版本在离线数据存储方面的选择将会与Gears一样,即包含轻量级的开源<a href="http://www.sqlite.org/">SQLite</a>数据库引擎,并且将考虑提供与Gears兼容的API以保证浏览器和桌面离线Web应用的API实现一致性。</li><br /><li><a href="http://www.dojotoolkit.org">Dojo</a>离线工具包的开发者Brad Neuberg在Ajaxian对其的<a href="http://ajaxian.com/archives/audible-ajax-episode-21-dojo-offline-on-google-gears">访问</a>中表示,他已经将Dojo的离线应用框架进行了移植,开始使用Gears作为Dojo离线框架的基础平台,从而与Google在离线Web应用这方面开展进一步的合作。</li></ul>  相信用不了多久,我们就能看到开放社区合作的进一步成果了,特别是在离线业务逻辑、数据同步、安全机制等方面。虽然目前的似乎还只是一个本地cache机制,但Gears的长远发展还是很令人看好的,有望真正称为带动离线Web应用的“齿轮”!<br /><br /><div align="center"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://code.google.com/apis/gears/resources/figure_4.jpg"><img style="margin: 0pt 0pt 10px 10px; cursor: pointer;" src="http://code.google.com/apis/gears/resources/figure_4.jpg" alt="" border="0" /></a></div>  最后,让我也来贴一张Gears的高层架构图吧,顺便推荐一下来自朋友jeremy的“<a href="http://ria.richtechmedia.com/2007/05/31/google-gears-%e8%88%87-flexapollo-%e7%9a%84%e7%b0%a1%e5%96%ae%e6%af%94%e8%bc%83/">Google gears 與 flex/apollo 的簡單比較</a>”一文,其中有些关于架构的分析和引申出来的想法还是蛮值得一看的。<br /><br />by William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-4796072596150247552?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-73945019647507418752007-05-30T22:01:00.000+08:002007-05-30T22:46:01.581+08:00震撼,来自Microsoft的“表面计算”创新突破!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.techcrunch.com/wp-content/surface1.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width:100px;" src="http://www.techcrunch.com/wp-content/surface1.png" alt="" border="0" /></a>  在今天的“<a href="http://www.allthingsd.com/">All Things Digital</a>”大会上,Microsoft将展示其最新的“<a href="http://www.microsoft.com/surface/">表面计算</a>(Surface Computing)”研发成果。<br />  著名的技术咨讯网站<a href="http://www.techcrunch.com/">TechCrunch</a>对它进行了详细的<a href="http://www.techcrunch.com/2007/05/29/microsoft-announces-surface-computer/">报道</a>。<br />  在看了相关的视频演示和官方介绍网站之后,我只能用“震撼”一词来表达此刻的感觉了……WoW,此项创新成果正在把人机交互革命推向一个全新的高度,而Microsoft也向世人再一次展现了其超强的研发实力和创新能力!这才是真正的持续创新能力,值得我们研究学习啊。<br /><div align="center" style="clear: both"><br /><embed src='http://admin.brightcove.com/destination/player/player.swf' bgcolor='#FFFFFF' flashVars='allowFullScreen=true&initVideoId=933742930&servicesURL=http://www.brightcove.com&viewerSecureGatewayURL=https://www.brightcove.com&cdnURL=http://admin.brightcove.com&autoStart=false' base='http://admin.brightcove.com' name='bcPlayer' width='486' height='412' allowFullScreen='true' allowScriptAccess='always' seamlesstabbing='false' type='application/x-shockwave-flash' swLiveConnect='true' pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'></embed><br /></div><br />by William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-7394501964750741875?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com1tag:blogger.com,1999:blog-597239138782231980.post-39227218375585155172007-05-25T22:47:00.000+08:002007-05-26T00:32:39.624+08:00Google将以1亿美元现金收购FeedBurner<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.feedburner.com/fb/i/logo_footer.gif"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://www.feedburner.com/fb/i/logo_footer.gif" alt="" border="0" /></a>  几周前,在“<a href="http://www.williamcui.com/blog/2007/04/googleajax-apirss.html">Google发布Ajax API使得RSS混搭应用更容易</a>”一文中曾提及<a href="http://www.feedburner.com/">FeedBurner</a>的RSS资源聚合管理服务,以及对其迟迟未提供类似的Ajax Feed API服务表示疑惑。现在,这个问题不解自答了:Google再次慷慨解囊,即将以1亿美元现金收购FeedBurner。<br />  于是,大家不禁要问,收购这样一个RSS资源聚合管理服务提供商对于Google来说意味着什么?此次收购,对于其他竞争者和广大用户又可能意味着什么呢?<br />  对于Google来说,这意味着其有进一步机会获得第一手的用户RSS订阅和阅读数据,而且更重要的是这一机会是独家的。因为RSS资源聚合管理服务相当于是一个统一的RSS代理门面(Proxy &amp; Facade),即用户通过唯一不变的URL来订阅和定期获得RSS数据,例如本博的FeedBurner地址:<a href="http://feeds.feedburner.com/williamcui">http://feeds.feedburner.com/williamcui</a>,以及Weblog评论的FeedBurner地址:<a href="http://feeds.feedburner.com/williamcui/comments">http://feeds.feedburner.com/williamcui/comments</a>。这样,一旦我的Weblog主机名、提供商或者Feed路径发生了改变,则只需在FeedBurner中进行配置即可,使得订阅了RSS的用户可以不受到任何影响,从而保证了订阅者的不流失性。正是由于有了这样一层代理,使得很多的基于RSS的统计分析、管理还有增值服务成为了可能,其中最有商业价值的就是有针对性的RSS广告营销了,并且FeedBurner中的广告可以进一步搜集用户的习惯来进行有效投放广告,而不是纯粹地根据RSS的上下文。单从这一点上来说,Google如果想从中获取投资收益,应该是易如反掌了,1亿美元还是太廉价了一点。<br />  而对于其他的领域竞争者来说,情况就要糟糕的很多,不得不承认他们无疑失去了一个可以永久性粘住用户的巨大机会!因为考虑到流失广大订阅用户的巨大风险,FeedBurner的用户肯定不会选择转向其他的RSS资源聚合管理服务提供商。对于这一点,我估计Yahoo、Microsoft还有国内的Baidu、Sina等可能事先并没有预料到事态的严重性,要知道这个和搜索引擎可不一样,不是说换就可以换的,也不是靠技术或用户体验就可以赢得市场的,一旦错过了先机,想要再迎头赶上,可没以前那么容易罗!<br />  此外,他们单单和FeedBurner竞争可能已经够呛了,Google还有两个目前市场份额双双占有的产品:Google Blog Search和Google Reader。此次收购势必会进一步强化这个黄金三角的组合价值,可以这样做一个比方,原来的Google Blog Search和Reader扮演的分别是资源探索发现者和资源请求获得者的角色,现在再加上FeedBurner即将扮演的是资源整合发布者的重要角色……由此,绝对可以预言得到一个Feed资源服务方面的强势风暴组合啊!其他厂商的组合产品似乎还没有什么听说,如果有知道的烦请不吝告知,谢谢!<br />  最后,再来谈谈Google的这一系列Web资源平台化的战略动作到底对我们大众用户意味着什么呢?我们应该高兴还是担忧呢?高兴的是我们的资源可以更有效地进行整合利用了,担忧的是会不会我们的个人隐私都被Google一览无遗了,会不会有潜在的安全风险呢?或者说更好的做法是否是应该自己来管理、整合利用自己的资源,而不是依托于外界呢?<br />  再补充问一句,这一切对于企业用户或者企业软件供应商又意味着什么呢?从某种角度上来说,企业应用在这方面的开发空间也绝对算得上是“蓝海”了!如果你有兴趣,让我们一起进一步讨论讨论吧!<br /><br />William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-3922721837558515517?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-7765422255781904262007-05-23T22:48:00.000+08:002007-05-24T00:04:13.822+08:00桂林之旅  我所在研发团队的桂林之旅圆满归来,大致行程和Picasa照片如下:<br /><br />  <span style="font-weight: bold;">第一天</span>,飞桂林,游象鼻山、伏波山、桂湖、桂林市区步行街。<br /><div align="center"><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/nabpOH/photo#5067642182182347634"><img src="http://lh6.google.com/image/cui.william/RlPhtxXDo3I/AAAAAAAABzc/7EQfeAePRxw/s400/DSC00103.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">象鼻山 From <a href="http://picasaweb.google.com/cui.william/nabpOH">桂林</a></td></tr></tbody></table><br /><br /><table style="width:auto;"><tr><td><a href="http://picasaweb.google.com/cui.william/nabpOH/photo#5067643023995937794"><img src="http://lh6.google.com/image/cui.william/RlPiexXDpAI/AAAAAAAAB0k/oEsC8Tuxwjo/s400/DSC00124.JPG" /></a></td></tr><tr><tr><td style="font-family:arial,sans-serif; font-size:11px; text-align:right">和北京lead合影 From <a href="http://picasaweb.google.com/cui.william/nabpOH">桂林</a></td></tr></table><br /><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/nabpOH/photo#5067644729097954402"><img src="http://lh3.google.com/image/cui.william/RlPkCBXDpGI/AAAAAAAAB1U/FsiPKSxt88U/s400/DSC00150.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">伏波山 From <a href="http://picasaweb.google.com/cui.william/nabpOH">桂林</a></td></tr></tbody></table><br /><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/nabpOH/photo#5067647168639378722"><img src="http://lh3.google.com/image/cui.william/RlPmQBXDpSI/AAAAAAAAB20/waKpHG2_dX0/s400/DSC00180.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">桂湖 From <a href="http://picasaweb.google.com/cui.william/nabpOH">桂林</a></td></tr></tbody></table></div><br /><br />  <span style="font-weight: bold;">第二天</span>,游“世外桃源”、阳朔西街、观看《印象·刘三姐》演出。<br /><div align="center"><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/BKIwaK/photo#5067708951743932802"><img src="http://lh5.google.com/image/cui.william/RlQecRXDqYI/AAAAAAAACAE/TKBC4pWlFTg/s400/DSC00317.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">From <a href="http://picasaweb.google.com/cui.william/BKIwaK">世外桃源</a></td></tr></tbody></table><br /><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/BKIwaK/photo#5067708870139554130"><img src="http://lh6.google.com/image/cui.william/RlQeXhXDqVI/AAAAAAAAB_s/445qvlKWcgw/s400/DSC00302.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">喝过村酒 From <a href="http://picasaweb.google.com/cui.william/BKIwaK">世外桃源</a></td></tr></tbody></table><br /><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/BKIwaK/photo#5067709338290989634"><img src="http://lh3.google.com/image/cui.william/RlQeyxXDqkI/AAAAAAAACBk/qzto8476498/s400/DSC00343.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">和德国老大Frank合影 From <a href="http://picasaweb.google.com/cui.william/BKIwaK">世外桃源</a></td></tr></tbody></table><br /><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/glDxpE/photo#5067699897952872050"><img src="http://lh5.google.com/image/cui.william/RlQWNRXDpnI/AAAAAAAAB50/ZkvQOOTiNtQ/s400/DSC00388.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">From <a href="http://picasaweb.google.com/cui.william/glDxpE">印象刘三姐</a></td></tr></tbody></table></div><br /><br />  第三天,近四小时的遇龙河漂流,游蝴蝶泉、阳朔西街,回上海。<br /><div align="center"><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/hvKUrI/photo#5067712542336592674"><img src="http://lh5.google.com/image/cui.william/RlQhtRXDqyI/AAAAAAAACDQ/dH1gI84-YxY/s400/DSC00436.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">From <a href="http://picasaweb.google.com/cui.william/hvKUrI">遇龙河漂流</a></td></tr></tbody></table><br /><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/hvKUrI/photo#5067714079934885506"><img src="http://lh3.google.com/image/cui.william/RlQjGxXDroI/AAAAAAAACKE/WjOlEiuQs-4/s400/DSC00530.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">From <a href="http://picasaweb.google.com/cui.william/hvKUrI">遇龙河漂流</a></td></tr></tbody></table><br /><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/hvKUrI/photo#5067713607488482690"><img src="http://lh5.google.com/image/cui.william/RlQirRXDrYI/AAAAAAAACIE/hhDDbshx59k/s400/DSC00506.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">From <a href="http://picasaweb.google.com/cui.william/hvKUrI">遇龙河漂流</a></td></tr></tbody></table><br /><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/foSyNI/photo#5067697058979489202"><img src="http://lh4.google.com/image/cui.william/RlQToBXDpbI/AAAAAAAAB4Y/wXvxI3PxEKk/s400/DSC00370.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">From <a href="http://picasaweb.google.com/cui.william/foSyNI">阳朔</a></td></tr></tbody></table><br /><br /><table style="width: auto;"><tbody><tr><td><a href="http://picasaweb.google.com/cui.william/foSyNI/photo#5067697140583867874"><img src="http://lh3.google.com/image/cui.william/RlQTsxXDpeI/AAAAAAAAB4w/D7WycqqILVA/s400/DSC00373.JPG" /></a></td></tr><tr></tr><tr><td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;">西街 From <a href="http://picasaweb.google.com/cui.william/foSyNI">阳朔</a></td></tr></tbody></table></div><br /><br />William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-776542225578190426?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-44166499169764207542007-05-13T22:15:00.000+08:002007-05-14T00:35:01.121+08:00Flex开源图形可视化组件——SpringGraph<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://mark-shepherd.com/blog/images/screenshot300x200.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://mark-shepherd.com/blog/images/screenshot300x200.jpg" alt="" border="0" /></a>  所谓一图胜过千言,信息可视化(Visualization,可能翻成形象化更恰当)一直是一个有趣的、令人兴奋的话题,不是么?<br />  在此,我想给大家介绍一个很棒的用<a href="http://www.adobe.com/go/flex">Flex</a> 2.0开发的开源图形可视化组件——<a href="http://mark-shepherd.com/blog/springgraph-flex-component/">SpringGraph</a>,它通过网络连接图的形式来表现事物间的联系,支持拖拽、放缩、自动排列、双击下钻等特性。初步体验起来,在性能和效果上给我的感觉都不错,说不定就在以后的项目中用得上呢。  <br />  SpringGraph的作者是<a href="http://www.adobe.com/">Adobe</a>公司的<a href="http://mark-shepherd.com/blog/">Mark Shepherd</a>,他提供了该项目的<a href="http://mark-shepherd.com/SpringGraph/download/springgraph.zip">源代码和相关文档示例</a>,以及几个在线的演示:<a href="http://mark-shepherd.com/SpringGraph/MoleculeViewer/bin/MoleculeViewer.html">分子模型察看器</a>、<a href="http://mark-shepherd.com/SpringGraph/SpringGraphDemo/bin/SpringGraphDemo.html">SpringGraph管理器</a>、<a href="http://mark-shepherd.com/thesaurus/">同义词网查询器</a>、<a href="http://mark-shepherd.com/SpringGraph/AmazonDemo/bin/AmazonDemo.html">Amazon网上Apple产品关联网</a>等等。<br /><br />William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-4416649916976420754?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-54017496016954892072007-05-07T20:32:00.000+08:002007-05-08T00:16:35.647+08:00简洁的REST架构风格——Web本位回归进行时  五一长假就要结束了,大家有没有休息好呢?<span style="font-style: italic;">Have you had a good REST?</span>(但愿大家不会像我前几天那样——公司里一些“十万火急”的事情使我忙碌得连写这个Weblog的时间都很难挤出。)<br />  过去的几天里,我尝试着用REST的风格对之前的一个小项目进行了架构方面的重构,有了一定的收获。于是,在今天这篇文章里,我也想简短地谈一下近期比较热门的REST架构风格,一方面想整理一下自己的思维,另一方面也想和大家交流一下这方面的实践和认识,以抛砖引玉。<br />  简单回顾一下,REST(Representational State Transfer)是 Roy Fielding 博士在2000年他的<a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/top.htm">博士论文</a>中提出来的一种基于网络的软件架构风格。该架构的具体定义还可参见<a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">Wikipedia</a>(<a href="http://zh.wikipedia.org/wiki/REST">维基百科全书</a>)上的相关条目。<br />  我理解的REST本质是把所有的资源应用协议的状态转变通过URL来显性地表示出来,如果把整个Web看作是一个巨大的状态机,那么每一次对URL的访问请求都相当于是一个外部输入,而每个请求都会有一个相应的返回结果,即该Web资源根据外部输入从一个状态转变为另一个状态。<br />  我猜想这个本质可能也就是早期Web的设计初衷,只是我们从传统的设计开发里沿袭了过多的所谓“最佳实践”模式,从而把东西越做越复杂,也诞生了一系列技术标准的怪物诸如:COBRA、COM/DCOM/COM+、RMI、IIOP、EJB、WSDL、SOAP和XMLRPC等等。我以前写的一篇文章“<a href="http://www.williamcui.com/blog/2007/03/offlineweb.html">Offline支持——Web的下一个热点!</a>”也曾讨论过Web技术历史发展方面的话题。<br />  和以上这些技术标准相比,REST架构风格的优势就在于其简洁性,因此越来越多的“Web 2.0”网站和软件开发供应商把他们的业务服务往REST架构风格上面靠,以努力使得Web资源可编程共享化、Web服务的API更URL化(与WSDL相比 )……<br />  另有以下几点补充说明:<br /><ul><li>和现在的基于HTTP的Web服务一样,REST的所有操作请求也都是无状态的,这样就很容易做分布式、集群应用,服务器端的压力可以非常易于平衡,其扩展性良好</li><li>对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法,因此REST是一种Web本位的回归</li><li>由于所有资源都由URL制定的,这样REST架构风格就省掉了类似UDDI“服务发现”机制,因此REST也被称为面向资源的架构(Resource-Oriented Architecture),基于REST架构的设计开发方法也有被称为URL驱动(URL-Driven)的设计方法<br /></li></ul>  最后,附上几个REST方面的发展动向以及一些进一步的参考资料:<br /><ul><li>Microsoft在<a dahref="http://visitmix.com/">MIX07</a>大会上宣布的基于REST架构风格的数据服务项目:<a href="http://astoria.mslivelabs.com/">Astoria</a><a href="http://astoria.mslivelabs.com/"></a></li><li>JavaEye上一篇不错的关于REST的<a href="http://www.javaeye.com/topic/70113">讨论帖</a></li><li>译言上的一篇译作:<a href="http://www.yeeyan.com/articles/view/zhouchengly/565">Web 3.0: 当web网站成为web服务</a></li></ul>  还是接着文章的开头,祝大家Have a good <span style="font-style: italic;">REST</span>哦!欢迎指教,谢谢!<br /><br />William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-5401749601695489207?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com0tag:blogger.com,1999:blog-597239138782231980.post-17253061279441571252007-04-26T22:25:00.000+08:002007-04-26T23:47:34.861+08:00事件两则:SAPPHIRE '07亚特兰大,Adobe将Flex开源  过去的三天里,<a href="http://www2.sapsapphire.com/usa2007/index.epx">SAPPHIRE '07亚特兰大SAP客户和合作伙伴会议</a>在美国举行,用图说话:<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/205/473166406_06ea361172.jpg"><img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://farm1.static.flickr.com/205/473166406_06ea361172.jpg" alt="Hasso Plattner" border="0" /></a><br />SAP联合创始人Hasso Plattner做主题演讲(图片来自<a href="http://www.flickr.com/photos/farber/">dfarber</a>)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/187/473180017_b84ee6180c.jpg"><img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://farm1.static.flickr.com/187/473180017_b84ee6180c.jpg" alt="Henning Kagermann" border="0" /></a><br />SAP首席执行官Henning Kagermann做主题演讲(图片来自<a href="http://www.flickr.com/photos/farber/">dfarber</a>)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/204/471597778_aa7491343e.jpg"><img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://farm1.static.flickr.com/204/471597778_aa7491343e.jpg" alt="Henning Kagermann" border="0" /></a><br />SAP的Enterprise 2.0之路<br />Harmony——测试中的SAP内部“社会性网络”员工协同工具(图片来自<a href="http://www.flickr.com/photos/cmehil/471597778/">Craig Cmehil</a>)<br /></div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogs.zdnet.com/Stewart/images/Fx_small.png"><img style="margin: 0pt 10px 10px 0pt; cursor: pointer; float: left;" src="http://blogs.zdnet.com/Stewart/images/Fx_small.png" alt="Flex goes opensource" border="0" /></a><br />  此外,美国时间昨天晚些时候,Adobe发布了一个令业界振奋的<a href="http://labs.adobe.com/wiki/index.php/Flex:Open_Source" target="_blank">消息</a>————Flex就此开源了!<br />  这则消息对于Microsoft就在上周公开亮相的“<a href="http://www.microsoft.com/silverlight">SliverLight</a>”(即原来的WPF/E)无疑更是当头一棒。RIA战场的好戏正在接连上演中……你更看好哪方呢?<br />  该事件的详细信息和深入分析可以参考:<br /><ul><li>d.CAT的“<a href="http://ria.richtechmedia.com/2007/04/26/flex-goes-open-source" target="_blank">Flex goes open source !!!</a> ”(中文繁体) </li><br /><li>Josh Tynjala的“<a href="http://www.zeuslabs.us/archives/141/adobe-opens-the-source-code-for-flex/" target="_blank">”Breaking News! Flex Goes Open Source</a>”<br /></li><br /></ul><br />  最后,PodTech上的Adobe Flex团队视频采访<a href="http://www.podtech.net/home/podtech/2826/breaking-news-adobe-flash-fle">短片</a>也值得一看:<br /><!-- Begin PodTech Flash Player Code - by Vestal Design - http://www.vestaldesign.com --><br /> <div id="podTechPlayer" align="center"><embed type="application/x-shockwave-flash" src="http://www.podtech.net/player/podtech-player.swf?bc=98439cdf-6f55-4eba-a454-69a11a504168" id="podtechPlayerEmbed" name="podtechPlayerEmbed" bgcolor="#000000" quality="high" menu="false" allowscriptaccess="always" flashvars="content=http://media1.podtech.net/media/2007/04/PID_011045/Podtech_Adobe_Flex_Announcement_interv.flv&autoplay=false&amp;amp;amp;bufferTime=8&downloadLink=http://www.podtech.net/home/scobleshow/2826/breaking-news-adobe-flash-flex-goes-open-sourc#download&amp;permalink=http://www.podtech.net/home/scobleshow/2826/breaking-news-adobe-flash-flex-goes-open-sourc&currentURL=http://www.podtech.net/home/scobleshow/2826/breaking-news-adobe-flash-flex-goes-open-sourc&amp;amp;amp;totalTime=1525000&mp3ImageSrc=http://media1.podtech.net/media/2007/04/PID_011045/Podtech_Adobe_Flex_Announcement_interv.jpg&amp;playlistSrc=http://www.podtech.net/home/feed/?feed-type=flv&breadcrumb=98439cdf-6f55-4eba-a454-69a11a504168" height="269" width="320"></embed></div><br /><br />William Cui 崔伟毅<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/597239138782231980-1725306127944157125?l=www.williamcui.com%2Fblog%2Findex.html'/></div>William Cuihttp://www.blogger.com/profile/10267791343763020929noreply@blogger.com2