沙面岛 & 初印象
第一次到沙面岛,恍若到了上海外滩。

这里在鸦片战争后曾被割让给英法列强,因此这里的许多建筑都带有明显的欧洲风格,很多建筑物是19世纪保留下来的,现在已经成为政府保护建筑,昔日的法国大使馆现在已成为签证办事处,因此这里的外国人也非常的多。岛上生活节奏与广州其他地方截然不同,由于实行交通管制,因此没有交通阻塞、废气污染的问题。
像某些欧洲的小城一样,这里的路边有许多家咖啡馆、餐店以及酒吧,人行道上放满了优雅的小桌椅。我们在靠近珠江边的一家西式餐厅吃了第一顿晚餐。
06'TechEd的所在会场,白天鹅宾馆算是沙面岛上少有的20世纪风格的建筑物之一。
Sign in
今年的签到系统有所改进,使用了磁卡身份认证,减去了签到耗时。今次的会场感觉偏小,也许是出席的人太多了?
动手实验室(hands-on Labs),“动手实验室为您提供了与微软技术专家互动的实验环境。在现场,您可以亲自尝试微软已经推出和即将发布的最新产品和技术应用,在技术专家的指导下领略最新技术的魅力。即学即用的互动环境可以帮助您对微软最新产品和技术实现更深层次的认识”。
这是technet上面的官方介绍,本次也冲着这个卖点而去,却被告知hands-on labs只在北京会场提供,真是一大遗憾,看来花都还是比不上首都。
MS & Agile Dev

虽然是1xx系列的课程,但由于是栾跃主讲,所以会场是人山人海,不少人站着听课听到最后。
随着西方IT行业对新开发管理流程的尝试,MS也开始开始推行对敏捷开发模式,测试驱动开发等模式的实践。栾跃提到,微软把敏捷开发模式和传统开发模式结合起来,在一部分团队进行推广。栾跃认为敏捷模式是开发管理的一种理念,一种工具,一种不依靠制度、边学边做的模式。敏捷模式不是一种单一的方法,它包括了XP/Scrum/TDD,在这堂课中主要讲解了Scrum模型在MS敏捷开发团队的实践。正好我们现在正在试用的敏捷方法和Scrum模式很相似(justin:scrum是软件开发摆脱混乱状态的最好方法)。
栾跃把项目管理分为三个层次,产品>项目>功能(feature),在feature这一层利用Scrum模式进行管理,而且推荐采用短周期突击的方式(feature -> mini-milestone)。
Scrum强调自我调整能力,栾跃对此的阐释是
- 面对风险能自我修复
- 采用波浪式(rolling wave)的渐进方式
- 短小里程碑(mini-milestone)和时间盒(time boxing)
对于Scrum的实践方面,栾跃提到了突击周期大师(the scrum master)这个角色,感觉很有意思。我们在敏捷开发模式的尝试中,也使用了dailymeeting(scrum meeting),而scrum master就负责主持会议、会议记录、防止会议受到干扰,而且,这个角色必须是非领导成员或外部团队的人员。
多说重复,还是看我的笔记吧。
呼之欲出的Vista
Vista主题占用了本次大会相当大的份量,当然了,作为MS 07年的拳头OS产品,是很值得利用TechEd这种活动来宣传造势的,所以这种宣传已经持续了2年多,同伴对这种做法的看法是:我们花钱,听广告。
虽然mac fans骂MS的vista是无耻的抄袭者,vista也的确学习了osx非常多的特性(finder/quicksearch/widget/clear look …),但有一点无可否认,vista的安全性的到了大幅度提高:
- ie7安全性的提高。
- windows终于进化到普通user能正常使用系统了,当进行需要高权限的操作时,则需要管理员密码认证(这点跟osx学的),我相当喜欢这个改进。
vista的界面还是比不上osx(或许我因为个人喜欢osx),所以我只关心vista的安全性。
本次大会还有一系列的vista部署课程,为IT部门准备的。
为提高操作性和用户感而升级到vista,在企业里几乎是不可能的,我怀疑,会有多少企业为了提高安全性升级到vista?几乎也是不可能的,企业更喜欢在杀毒软件/防火墙上面投资,因为这次升级就意味着硬件换代。
大会上还有个专题是vista和p2p,想不到内置对p2p技术的支持也成了p2p的卖点。p2p不是什么新鲜玩意,不过微软提供的SDK可以让开发者更容易开发出p2p应用来。设想一下,以后的计算机网络应用就是p2p网络的应用:高效,防故障、灵活、低成本。所有windows pc都是一台免费路由,不知道那天会有多遥远,看起来还是apple的xgrid技术比较实际些:利用多台mac执行并行计算,这可是所有osx系统都支持的,也很容易看到效果。
这是一门2xx的课程,原本想听听PNRP/PNM这些协议的原理,却未能如愿,也许一个小时更适合于介绍一下这些概念,当成一个1xx课程,这样就足够了。
讲师:“微软为p2p带来了革命并提供了完整平台”。
05'TechEd,在visita还是beta1的时候,MS设置了一个展位,供与会者亲手体验长角牛的风采,今年却没有这种“零距离触摸感”了。作为替代,TechEd会员(以前参加过TechEd的就算会员:|)可以领取一套vista rc1的dvd光碟和一本vista beta2的用户手册,这本手册是我见过的最漂亮的操作系统用户手册,极有收藏价值,序列号能用到07年1月。
今年的TechEd第一次有英文课程,Sqlserver两个主题采用了英文讲师主讲、中文讲师补充的方式。也许是为了一睹Palu的风采,也许是希望看看发布了一年的sqlserver 2005提供了怎样的新方案,又也许是看看刚出sp1的sqlserver2005是否足够稳定了,不少人参加了《始终在线技术/高可用性方案》和《最佳实践》课程。
我们现在大量使用sqlserver2000,在我们的应用里,几乎没有可能碰到db server突然的宕机,或者说,允许宕机,保证快速恢复服务就可以了。但在一些关键业务/service中,不间断服务是必须的,比如SSO service,当机会带来灾难性的损失。
Paul Randal介绍了这么一套提高sql server可用性的方案,囊括了
- 系统管理:不间断升级(滚动升级),这里给出的方案是使用交换角色的做法,原服务器和镜像(订阅者)服务器交替进行升级,服务就不会间断了
- 错误恢复:及时的对数据库进行快照,利用日志恢复数据
- 利用存储镜像对数据库进行灾难保护,还是利用镜像,或者集群
- 硬件可靠性:这是老生常谈了,利用Microsoft集群技术
Palu的演讲水平相当不错,相比之下,他的搭档,负责中文解说的讲师就逊色许多。
我们在web端采用镜像实现了不间断服务,在db server也可以考虑使用镜像,前提是先升级到sqlserver2005,因为sp1以后,sqlserver2005对镜像功能提供了完全支持,并提供了镜像监控界面,这是2000时代所欠缺的。MS承诺在以后会大力发展对不停顿服务的支持。
也许是为了拉拢更多的开发人员,微软给每个TechEd会员派发了一张标准版的sqlserver 2005 dvd
Office System 2007 & SPS 2007
个人对office极度不感兴趣,自然对庞大的office system 2007感到厌恶,尽管微软给office换了个好看的皮肤,号称支持ODF。
InfoPath与VS2005集成带来了一些亮点,这个表单设计工具还是比较有意思的,适用与企业信息应用中各种表单的绘制,可以和WWF集成等待。
SharePoint2007,同样讨厌这个号称“零编程”的重量级的CMS解决方案。
WPF/WinWF/.net framework3.0
.NET Framework 3.0(以前称为 WinFX),事实上,3.0版本保留了 .NET Framework 2.0 的全部功能,可以看作一个组件升级。.NET Framework 3.0 添加了四个新组件:Windows Workflow Foundation、Windows Communication Foundation(Indigo)、Windows CardSpace(InfoCard) 和 Windows Presentation Foundation(Avalon),适用于 Windows Vista、Windows Server 2003 和 Windows XP。
WPF以前叫Avalon,在WPF的课程中有一张slide引起我的注意,MS要发行多种操作系统/平台上的WPF/E,包括OSX(是否意味着.net要开始支持非windows系统了?)。要运行WPF/E应用程序,机器上需要安装有渲染图像元素的软件,感觉是不是很像Flash?WPF/E有可能成为它的代替品。
Adobe的Apollo framework正努力让flash走向桌面,提升flash程序的权限,让flash具有桌面程序的能力;而WPF/E正在努力让.net app走向browser,提供“一次编写,到处可用”的.net表现成程序。
XAML试图建立统一的表现层置标语言,相对的,Adobe有FLEX。
两个产品的目的应该是一样的:应用程序表现层框架。
Apollo or XULRunner – And where’s WPF/E?,看来大战正鼾啊。
框架设计
《基于.NetFramework 2.0的企业应用架构设计和实现》这门课定义为3XX系列,所以来广州之前就定为必听之课。会场为容积最大的#4会场,也是唯一有两个投影的会场,到场一看果然人山人海,勉强搞到了个后排座位。
讲师为ZTE企业应用的架构师,这堂课就以他主导研发的ZTE framework为例,讲述如何实现这个应用框架,一半时间讲什么是框架(抄书),一半时间讲解ZTE framework。讲师演讲水平一般,估计从事研发的没有几个能演讲的好…呵呵。这个ZTE framework感觉上就是把MS Enterpise library给扩展了一下,提供了比较完善的框架支持。基于.net的应用就有这个特点,需要自己做的工作相对很少,微软已经提供了几乎所有东西了,ZTE自己做了个工作流引擎,WinWF一出,他们打算直接用之,不用再做了。到.net 3.0、4.0、5.0的时候,需要程序员做的东西越来越少,到时候架构师基本是不需要的,成熟的架构应该有许多个,大概还是微软提供的。
《软件构架设计的原则和实践指南》更怪,作为1XX系列的课程,讲概念大概是无可非议的,于是类似于第一门课的前半部分…会场是最小的#2会场,站慢了人,听不下去了,回去看讲义。
不多说了,还是看笔记吧。
Web2.0之美丽新世界
微软似乎是从http://live.com 开始走向web2.0之旅的,web2.0的确很美,可惜讲师是一个刚踏入互联网行业的“名人”,加上事前有派发ppt,所以,就不想去会场凑这个热闹了。会后听同事反馈,这堂课大部分时间在讲如何使用asp.net2.0构建web2.0应用,暗自庆幸没去听。
依然惨淡的展区
所谓展区,就是微软的合作伙伴或赞助商,在会场摆摊卖广告,相信每个与会者去逛展区都会有两个目的,一是填资料,拿礼品;二是中午吃完饭等上课中无聊,去看热闹。
今年的展区比去年的冷清许多,原因大概是
- 参展商不够出名,去年好歹有个AMD,还有微软自个也摆摊
- 礼品不够有价值,很明显这次展台送的礼品比以往少了许多
- 位置不好,这次在偏厅,不利于吸引眼球