It's Shiny

It's Shiny

Home » Blog » Programming » Software plus Service chat log

Software plus Service chat log

Posted on 2008-5-28 14:58:08 and got 54 reads.

我们不是活在‘一个尺码全适用’的世界里,更何况是在软件世界。大家并不是只需要软件或者只需要服务,而往往是对两者都欲罢不能。微软的CEO Steve Ballmer曾表示,“软件+服务将会是未来5—10年内软件产业的发展趋势。软件与服务二者相辅相成,一个都不能少。”

2008年5月28日下午14:00-15:30,我们将在本次大型在线互动访谈《微软S+S与下一代软件开发平台》中,为大家请来微软三位资深技术专家,他们是:微软中国软件架构首席顾问杨枫、开发工具部高级程序经理谭强、平台与合作部首席架构师吴延安,与你一同在下一代软件开发平台到来时做好准备!

chat log:

51CTO直播组 : 活动将于14:00正式开始 [11:10:44 ]
51CTO主持人 : 专家正在做会议前的沟通,他们已经到场了 [13:45:51 ]
51CTO直播组 : 直播很快就开始了,大家有什么具体的问题可以提出来。
[]
: 13:50:29 []
51CTO直播组 : 直播正式开始,现在嘉宾在作自我介绍,各位提问是可以提的更具体一些,这样方便得到具体的解答。 [13:51:54 ]
51CTO主持人 : 各位51CTO的网友大家好!我是本次节目的主持人,我是马沛。首先请微软的各位专家跟大家打声招呼。 [13:58:38 ]
吴延安 : 我叫吴延安,是来自微软的开发部,主要是负责.NET和开发工具的推广工作。今天非常高兴可以来参加51CTO提供的和大家交流的机会,也很高兴和大家进行微软的软件开发生命周期和管理的一系列的内容的交流。有什么问题我们在线上也可以进行互动的交流。 [13:58:57 ]
杨枫 : 大家好!我是杨枫,是微软的软件架构首席顾问,我主要是在 这一块做一些指导性的工作。很高兴今天到51CTO来做客,通过网络这个新颖的平台和大家见面。希望大家可以从中得到一些帮助,互相学习,在今后各种各样的方式中更有机会来一块儿探讨。 [13:59:10 ]
谭强 : 各位51CTO的网友大家好!
[]
我是谭强,来自微软研发中心,加入微软有一些年头了,之前是做VB5.0的工作,从2003年开始转到了Visual Studio这一块,负责微软整个的全球化的工作。
: []
今天很高兴有机会到这里来和大家一块儿沟通Visual Studio的一些进展,也希望将来有更多的机会和大家互动。 : 13:59:27 []
51CTO主持人 : 现在的软件环境是带宽越来越宽,存储器也越来越大,存储设备也变得越来越廉价,这一切让软件的部署和使用用户有更多的选择。所以,基本上对所有的软件厂商来说都是一次新的挑战。
[]
之前我们也经历了非常热门的字眼,包括SOA、Web2.0、SaaS、Services服务等等。那么,微软这一次也是让大家聚焦,我们今天请来的三位专家都是在这个非常有经验。首先请杨枫老师谈一下,微软提出的S+S策略包括了哪些方面? : 13:59:58 []
杨枫 : 其实这个词正好叫做软件加服务,所以跟SaaS非常像,所以很多人不知道怎么区别。实际上,S+S是一个行业的趋势,这并不是微软提出来的行业的趋势,只是微软看了今后几南的方向,觉得这可能总结出来一个S+S的概念,按照这个方向,很可能是未来IT行业的发展方向。所以,在微软整个的战略决策的角度来说,S+S整个微软都会往这个方向走。就是我们所说的整个全微软的S+S战略。 [14:00:17 ]
杨枫 : 在这个过程中,其中包含了一些主要的特征和组成部分,大家可能技术人员比较多,所以我认为基本上技术上分这么几块。
[]
第一个是它整个在企业内部的SOA的应用。然后第二个是在整个网站和大家所谓的Web2.0的环境下,整个Web2.0生态的架构,或者是一种商业环境也好。但是,我不太想叫大家可以参与的这种架构,但是大家知道Web2.0在网上的特征是发展比较快,所以它架构方面的特征并不是很明显,反而是在商业模式方面比较清楚。 : 14:00:37 []
杨枫 : 然后,在这两个好像是非常独立的以防火墙为界的两个世界里面,实际上我们看到了有一些共同的趋势。在这个共同的趋势里面,造成了对于软件服务的要求,甚至是定义、要求、商业模式都有变化。那么,这里面是一个特征。 [14:00:47 ]
杨枫 : 其中,我们经常提到SaaS,这个概念是有像跨越这两块的传递方式。因为SOA最主要的是S,那么这就是服务的发布方式,这其中很热门的就是SaaS,所以用SaaS来代替S+S只是SOA的体现方式。那么,在这个体现方式里面,是随着工业的发展和各个行业的需求,所以在企业内部已经形成了很强大的市场。这里面包括了ERP、CRM、HR等等。这些都形成了很多的比较行业化的软件,比如说物流等等,这些在一些中小企业,实际上都可以有。尤其是现在是通过Web2.0,大家看到像淘宝网,它产生了一个跨越了很多公司周围的围墙以外的跨公司的合作方式里面带来一个全民的经济。它在触发这种经济的时候,可能就是一个夫妻店,那么这些公司也需要软件,但是我不想开发这个软件,我也没有我的IT人员能够运行一个,能够实现。 [14:01:25 ]
杨枫 : 所以,这个时候就是通过SaaS的方式,把软件比较有序的非常好的行业架构通过长尾理论分发给小的企业。那么,这个特点关键就是说,我这个企业做完了一个软件,我是面向中小企业,而且是通过定制化,把我的运营成本降得很低。那么,这些使用者在运营成本很低的情况下,他付一点费,他就可以享受一个很大的软件的服务。所以,这是一个方向的SaaS。 [14:05:04 ]
杨枫 : 反过来的方向,从Web那边过来的到企业内部的应用,我们经常说的就是IA。那么,这个实际上这个趋势也不是一个完全的趋势,那么在这种情况下,我们微软觉得,完全的在线的Same Club Moblie也有一个好处,但是它不能代替离线的软件,比如说客户端有一些缓存,还有图形等等。那么,比如说它不是说像一个表格,表达我们的输入格式、输入算法就完了。最重要的这些表单后面的数据要跟我们的业务联系起来,里面要进行统计和EI才可以应用。那么,我们觉得这种情况下它是环环相扣。 [14:05:19 ]
杨枫 : 那么,4个块,一个是SOA,一个是Web2.0,一个是SaaS,一个是IA。这4个环环相扣,我们认为给客户带来一个全新的体验。那么,在某种意义上,不能限定为软件的UI那个层面的E,那么这就是你做的炫等等这些东西,更多地是在用户做更多的东西的时候所能达到的任何的工作。 [14:05:41 ]
杨枫 : 比如说微软做软件的时候,比如说对于ERP或者是其他的系统进行统计,我要进行统计这个软件点击多少下才能完成一个任务,如果你减少了点击的次数对于用户就是一个提高。那么,这涉及到你在设计的时候不光是技术上,比如说微软有一个很好的讲座,它里面讲了User E的时候的案例,他讲改革机场的时候研发人员不需要跟那些人员谈了,只要不受任何的局限你们该怎么做就怎么做。大概花了1亿多的美金做了3年多以后没法用。为什么呢?其中每一个飞机过来,它有一个ID号,这个ID大概是16位或者是32位很长的数据。这个软件没有结合实际的情况下,要用户输入,就是说我每一个飞机飞来飞去,我要打入16位的数据才进行操纵,万一打错了,可能这架飞机就飞错了。 [14:05:56 ]
杨枫 : 那么,另一方面,很多的用户,他知道他的业务是怎么样的。做软件的公司要满足他的业务需求的时候,你要有行业知识。行业知识这里面,对于人员有一定的要求。但是,你要求这些人又懂行业知识,又很懂计算机,这里面人员少了很多。所以,这里面有一个要降低门槛,就是比如说会用电脑就会做很多的操作。比如说我在一个供应链里面做,我不需要懂BI,但是,我很懂得收入,我怎么调配我的资源。他用他们的方式调配,比如说像一个大伞一样,所有的都在大伞下面大家一块儿往前走。这是一个理念,这个理念里面是相辅相成的,大家一块儿来做这个事情。 [14:06:08 ]
51CTO主持人 : 那么,刚才从内涵方面看,包括了SOA、Web2.0、SaaS这种交互模式,还有RRA的应用,这些都是这个框架下的内涵。 [14:07:24 ]
51CTO主持人 : 刚才,您也提到了用户体验这一块,那么这绝不仅仅是单纯的UI了。那么,我们看到了很多在SOA方面做得很好,但是在实际应用的时候并没有提供API,让用户感受到用户体验,其实这也是不成功的。 [14:07:39 ]
51CTO主持人 : Silverlight作为新一代的用户体验的代表,它是来丰富用户体验模型的,那么请您先谈一下Silverlight这一块的情况。 [14:16:01 ]
杨枫 : 其实我觉得这个是很重要的一环,微软推出这个是很重要的。它可以做离线、在线各种各样的东西,它不光是一个展现的东西,它关键是通过这种展现把后面的东西体现出来。 [14:16:14 ]
杨枫 : 这里面刚才讲到了技术带来有一个商业模式的变化的时候,就是我们说的软件加服务的服务的时候,那里面经常有把这个东西现场部署,就是你买了软件装在你的公司里面,自己运营这就是软件的部署方式。另外一个完全就是一个云计算,你只要知道这个地方能给你提供什么服务,后台怎么样,你就可以使用。那么,今天当我们拿起一个电话的时候,我保证有电话的服务,我根本不需要知道后面是怎么样的光纤、ADSL,这些连线不是很关键,最关键的是有一个服务、有一个承诺。
[]
我的公司比如说像很多现在很多的软件公司,你就是要有一个HR服务,你不需要知道后面是什么样的后台。至于你公司将来怎么扩展、跨平台了,我给你多几台服务器,这是根据我的服务合同我要给你什么样的服务,然后我来灵活的配备。所以,各种各样的都连在一块。 : 14:16:29 []
51CTO主持人 : 刚才是客户端方面的知识。那么,在S+S下,它还有一个非常明显的特性就是跨平台性,这一块是什么样的状况呢? [14:16:44 ]
杨枫 : 跨平台性这里面可能是后台和前台我分开说一下。
[]
现在很多后台真正说有一些软件公司跨平台性,说微软不是跨平台性,这里面最主要的是跨平台性的定义。它跨平台最大的意义并不是说兼容性,并不是说我拿了一个软件装在你的机子上可以用,装在另外一个上也可以用。对后台的概念,是说我们可以跨平台的对接,互相之间能够对接。假设你的HR是一个公司的然后你的ERP是另一个公司的,CRM是另一个公司的。那么,它真正要软件兼容是非常难的。关键是我们在一个长远的规划下,比如说SOA的规划下,能够互相之间可以互通信息流,那么流程可以互通,就可以预知到将来的东西,使它有一个发展,这一块就是跨平台性。 : 14:17:06 []
杨枫 : 无论如何,你也不可能所有的软件都支持,所有的平台都支持,我们觉得那种情况下,反而是给了一个限制。因为你是拿了一个公分母的概念,有一些东西你要都支持,反而成为了一个包袱。那么,这一点,我举一个例子,比如说Windows3.1的时候到95、98,我们到了2001的时候,完全抛弃掉了其他的那些,因为后面是一个完全的兼容就是一个很大的问题。
[]
所以,在这个方面上,关键是数据的标准之间能够互通,并不是说你的引擎可以怎么样。在某种程度上,最关键的是中国的火车开到苏联开不了,因为铁轨的距离不一样。但是,你跑的蒸汽机车或者是磁悬浮等等,这些可以解决了就好。所以,我们觉得是这一块。 : 14:17:22 []
杨枫 : 那么,前台的跨平台性,我们更多地是说给用户一个统一的体验。这种体验在手持上,在Web上,或者是在你的PC上,在线和离线都有同样的服务,这样就可以了。而且,有一些跨国公司的各种各样的应用,比如说我们微软内部的报销,我们有的时候需要到不同的平台上找不同的数据,然后到另外一个平台提交。这就是未来整合以后,比如说我要做不同的事,系统帮我做就可以了。 [14:17:32 ]
51CTO主持人 : 是否说在SOA的角度,微软的跨平台是消除一些信息孤岛,就是系统的可用性,实现了跨平台。 [14:18:12 ]
杨枫 : 这是后台,前台比如说Silverlight我们就可以跨过,比如说像我们说的跨平台有一个IAS,其中有一个功能叫做D,它知道你的C来的时候,你的B是哪个版本它根据你的版本来支持。 [14:18:36 ]
51CTO主持人 : 那么,S+S在开发层面做了哪些考虑呢? [14:18:47 ]
杨枫 : 这个开发层面可能谭强先生会具体地讲。我是讲对于软件的这一块,开发层面我最主要是说,它带来了一个理念上的更新。
[]
以往我出去做项目的时候,碰到很多的技术人员或者是IT人员,我觉得最主要的是让大家能够有一种开放创新的思想,然后知道这个世界在怎么变化,你的公司该怎么迎接这个挑战。
: []
在这种情况下,我用最好的技术、用最合适的技术。实际上,某种情况下,没有最好,只有最合适。那么,在这种情况下实现,那么就是要有一种开放的理念和今后怎么发展的理念来做。
: []
比如说大家经常很关注SaaS软件,很多的公司觉得那是一个H公司的模式,跟我们没有太大的关系,或者是Web公司才关注的。我觉得这可能有一点不对了。很多公司的软件,或多或少客户都有一些从这个群体来的要求,你的市场有可能越做越窄,但是你用这种S+S的理念,你可能市场越做越宽。具体到SOA那一块,微软主要是用BizTalk,它主要是一个服务总线。 : 14:19:24 []
杨枫 : 那么,Web那一块我们有DATA Base这一块。我知道大家选这些技术很担心学完了之后又变了,但是你不学也会变。只是说你了解了这个方向以后,它的趋势是借助这个越来学得越好。可能,下一个东西Silverlight是一个版本,但是你觉得刚学完就没了,但是下一步是两个门槛,包括你学的技术也是两个门槛。那么,公司安于守城的模式,那么就发现他们不太关注这个方面的东西。所以,我觉得蛮可惜的,也是大家需要解决的。 [14:23:55 ]
51CTO主持人 : 所以要关注一些新的趋势,把眼光放得远一些。 [14:24:08 ]
杨枫 : 必须有这个眼光。我甚至有的时候跟所有的技术人员和其他的人员讲,你一个人一定要想到5年或者是10年后做什么,如果你还在IT这个行业,尤其是软件这个行业,我敢保证5年或者是10年以后的世界,跟现在很不一样,如果你不学习肯定要被淘汰。 [14:24:33 ]
51CTO主持人 : 之前我们也了解了S+S和SaaS的区别,那么和SOA有什么区别? [14:25:21 ]
杨枫 : 不能说本身有什么区别,因为它本身是四大组成部分之一。但是,我们可以讲它的适用范围或者是更关注的人,属于在公司内部,它作为企业或者是行业的应用当中,经常要关注的一个部分。实际上,你如果是做软件的,你要天天这么想,每天都想SOA这个软件怎么来做。它的理念如果小朋友不是很熟悉,这个理念就是像我们当初学 的模型的放大。那么,它整个的服务就是像C一样能够互联。那么,微软觉得SOA觉得将来这一块 是一定会有的,很多的公司已经在做了。我们觉得这个将来一定会延展到internet Services。但是,慢慢地它会转向比较有序,比如说Facebook。它上面要搜寻对于NETWORK里面对于买书有兴趣的人。它是通过API开发以后,让一些公司来开发他的软件,在一些载体上面做。最关键的是Facebook并没有付这些人的工资,所以他没有想我将来的软件往哪方面发展。而这些公司甚至是个人,来为这个大的环境做很多的插件、应用,使Facebook的价格升值。现在Facebook里面有1、2千个软件,这里面的应用非常多。那么,它怎么样跟卖书整合,这个将来会慢慢地有一些标准。我们觉得SOA和Web的理念都会往这个方面推,其实这很大的就是我创新。
所以,SOA和S+S比,其中一个就是SOA。 [14:25:43 ]
51CTO主持人 : 那么,刚才从不同的角度来阐述了S+S的内涵,那么其实Office产品是微软引以为豪的产品,它其中也存在着巨大的潜力和商机在里面。一方面是传统的Office的应用技术,大家对于Office的环境已经非常熟悉了,每天都在使用的。它每天不仅成为个人用户密不可分的,也成为了商务用户密不可分的。
那么,在SOA或者是S+S在这个架构当中占据一个什么样的地位呢? [14:26:35 ]
杨枫 : 很多人曾经反馈说Office做得太大了,80%的人只能用到20%的功能。但是,我为了以后,不是80%的人用同样的20%的功能,所以你没有办法说我堵哪20%的功能就是满足所有人的功能,你把这些交集加起来可能就是80%了。
就是SOA里面可以有很多的技术继续应用,跟微软的前端可以无缝连接。所以,我们讲的Office首先是服务端和客户端都分好了,客户端并不是Word、也不是表格等等,那么,在一个统一的Office界面里面就可以应用。 [14:28:00 ]
杨枫 : 这个我已经提交了一份报告,这其中就是怎么样在公司内部利用Office或者是outlook里面,把所有该管理、该报表的都可以在里面,所以这个用户不需要是一个Data base的用户。那么,这里面我们认为服务方最好的。比如说里面很多的报表等等都可以做,包括它的流程可以通过 的流程,也可以通过WEF或者是Biztalk等等。 [14:28:21 ]
杨枫 : 我问了80%的用户都不知道我们有服务端,很多的人不知道Office里面有一个统一的通讯平台,我甚至可以整合VoIP、视频等等,这些都是Office。那么OBA是给大家一个很好的方式,就可以把你的商业逻辑整合在Office里面,这对于很多的公司很有意思。绝大部分中国做SI的公司,不能 的原因是,它做的技术每一个都需要定制。
Office的话,可以把你很多的公司通过模板的方式和定制化的方式,让你在用户当中自己可以做。 [14:31:56 ]
51CTO主持人 : 就是大家在前台做的时候并没有感觉到很大的差距,但是后台有很多的工作。 [14:32:10 ]
杨枫 : 对。我这里再举一个例子。假设我是一个销售公司,这个销售公司每一天我要进行一个统计,统计其中一个对业务人员的奖金。比如说他提成对我的发售商的奖金的提交,那么提交的过程中,我这里面的数据可能就是公司里面很多很多的报表。如果这只是一个简单的像Excle的报表,那么这里面有很多很多的数据在里面,我要改变是没有办法改变的。如果是统一到了服务器统计的话,比如说我公司第一季度工作得很好,第二季度我要加大这些人的奖励力度,我提高一个比例的话,我只要在一个公司设定一个报表,改完了以后所有人的报表自动更新。这不是说从网上下载来做一些报表就完了。这只是一个整合,这在OBA这边只是定义,把你的安全机制传过去就可以了。
那么,你发布下来今天是这个,那么客户那边拿到了模板一抄,又出现了新的一个业务。 [14:32:32 ]
51CTO主持人 : 这等于是非常灵活的业务? [14:32:54 ]
杨枫 : 这是业务定制化。这基本上是做一个死一个的。 [14:33:05 ]
51CTO主持人 : 那么OBA是占据了很重要的地位了? [14:33:14 ]
杨枫 : 对。 [14:33:27 ]
51CTO主持人 : 那么Windows Live是什么定义? [14:34:50 ]
杨枫 : 这是跟过去的买一个光盘安装有一个区别。我们认为Windows有很多的功能可以提供出来,这可能是一个逐渐的方式,也可能是附加的方式,也可能是最终服务的方式提供出来。
那么,这里面讲到Live的概念是什么呢?是根据你不同的需求,用户需要什么样的东西都可以找到,其中有一类的客户是对于Office Windows Live比较需要。而这些Live除了放一些网上传递的服务以外,它还可以通过某种API的设备和架构上的设备,能够给其他的甚至是封装的软件都可以应用。就是说它的用户可能不再是最终用户,有可能是某个厂家的产品。 [14:35:09 ]
51CTO主持人 : 就是一些二次开发? [14:35:36 ]
杨枫 : 对。我这里讲一个例子,我们Windows Live有一个很重要的功能就是地图的功能。那么,在中国地图.Live已经上线了。它可以通过一些技术让用户能够把这个信息在它的产品里面使用。我曾经做过一个项目,就是城管,这是城市里面的设备和各种各样的管理,比如说这个地方有路灯或者是井盖等等。那么,传统的做法一定要买一个地图软件,整合到你的系统里面才可以做。
那么,有了Live的功能,它就是通过定制的Live地图以后,它可以连到那边,地图后面由开发商来提供。比如说这个里面设备的信息由市政府来进行方式,然后各个部门都可以来弄。一层、两层、三层加起来,就成为了在地图上很多的管理的信息。包括有一个应急系统,你要建一个应急系统,你要涉及到用水、用电、市政交通等等各方面都来。那么,这些信息都是通过Live的模式凑到一块,它不需要更新地图,有专门的公司来更新,我觉得对于开发人员要有这种理念。
还有一种理念是,比如说你的公司是做路政管理的人员,也可以来用,这就更火了。 [14:36:06 ]
51CTO主持人 : 能不能把微软的云计算引到里面来用? [14:36:50 ]
杨枫 : 云计算每个公司的定义都不一样。我自己认为云计算最大的一个部分,把很多DATA的部分,通过云计算跟你做应用的部分分开一点点。就是说我今天在做一个应用的时候,假设说我要一个BizTalk的一个服务,我需要其中的一个服务,我很可能是买一个BizTalk的服务 [14:37:35 ]
杨枫 : 但是我可能只是一个云计算的BizTalk的服务。我跟微软说或者是提供微软这个服务的说,我需要Business Talk的这个功能。但是,我要这些功能我要这样的需求,你保证有这样的功能。那么,后面就是整个的社会怎么整合、发布,那就是在云里、雾里了,有专门的公司来优化这一部分。比如说我是跨省、跨地域的,他都可以帮你弄好。但是,并不是说云计算都可以用,更多地我觉得是跟SaaS那一块联系比较大。那么,你通过SaaS你软件后面怎么得到保证?这一方面是一个深层次的发展。 [14:43:04 ]
杨枫 : 刚才谈到了无论是从开发人员来说,还是从软件企业来说,都要向长远的考虑,比如说5到10年的发展。那么,下一代的软件开发将会是一个什么样的景象呢? [14:43:42 ]
51CTO主持人 : 刚才谈到了无论是从开发人员来说,还是从软件企业来说,都要向长远的考虑,比如说5到10年的发展。那么,下一代的软件开发将会是一个什么样的景象呢? [14:44:17 ]
杨枫 : 我自己看从软件架构或者是从开发人员的发展方向来说,我觉得今后的环境一定是Services越来越多,因为印度的比较就是Services越来越多。
比如说国内的Outsourcing和印度的Outsourcing不同。他们更多是在软件层面的,而我们是在内部做Outsourcing,那么大陆做的Outsourcing是沿着OEM的概念做这些厂家的Outsourcing,是一种代工的方式。而印度直接到客户那里做服务,这是非常重要的。有一本书叫做《世界是平的》,它把世界说成将来是一个虚拟的生产线,而且软件和服务都是虚拟的生产线。这一块一定有,那么在这种情况下,今后下一代的方式,就是有一个公司统吃的概念,很可能比较少。 [14:44:53 ]
杨枫 : 相反是你在某一个层面,找到你一个你擅长的市场,在商业层面或者是其他的层面,跟你的上下游联盟。这可能是一个发展的方向。 [14:47:35 ]
51CTO主持人 : 就是每个人要找对自己的位置? [14:47:48 ]
杨枫 : 对,但是在流水线之上一定要有一个设计,将来可能是ISB或者是ESB这一块可能会有。
那么,这里面创新的情况下一定会有。因为到了最终,一定是创新力产生你的生产力和你最后的先进性。那么,你的市场最后绝对的一定是这方面的创新性。
那么,在这种情况下,你的设计越可以通过 的方式,越融合和别人结合,越融合接受挑战。
假设你现在完完全全到了VB或者是单一的方式,将来你出来不是你的合作伙伴已经走了,或者是你的客户不在你这个平台上,所以我觉得会出现问题。所以,在商业层面和发展向上,我是建议大家Outsourcing要想一想,找到我们自己的位置。
我们微软很重要的是,我们的产品可以帮助你减少或者是启动这一部分,可以非常快地转化过来。 [14:48:19 ]
51CTO主持人 : 刚才您谈到了下一代软件,我想谭强老师会在这一块谈得更细一些。其实技术的发展和计算平台上,比如说多核、并行计算、移动开发者一块儿靠拢。那么Visual Studio 2008作为微软的一个核心产品,是如何应对这一块变化的? [14:48:51 ]
谭强 : 我觉得大的变革是通过小的部分来实现的。所以,在一个大的变革面前,我们只能不断地努力才能达到这个目标。Visual Studio 2008应该是包括了这方面的进步,但是这个路还是比较陈的,所以我们在不但地努力和提供更好的产品,来实现进一步的创新。具体到2008年来说是什么属性呢?新的功能我想,2008应用板块已经发布快将近1年的时间了,今天我可以告诉大家2008包含的创新技术。
那么,像模板里面,2008我们可以看到Web开发有一个L。在2005版的时候我们拿到了,因为根据用户的反馈意见我们拿掉了。那么,WPF的支持够更多了,我们支持4个方面,包括音路和WPF浏览器的程序。我们同时还增加了WCF的模板,我们可以支持WCF的服务库的开发,Office就更多了。比如说Excle和Outlook等等。这是从模板上看,2008里面有很多的模板来支持满足新的应用的开发的需求。那么,谈到这个,我顺便谈到部署的问题,Clickonce的部署表现为允许第三方的人员重新部署和签名,这样更有益于Clickoece有一个固定的服务器,这可以重新定向。同时,支持WPF的浏览器,WPF基于浏览器的应用程序,它在安全方面的隐患是比较多的。所以,我们提供了各种设置,来这个问题。 [14:49:38 ]
谭强 : 大家可能关心编辑器有什么部署?我们准备增加一些新的工具。比如说S+S的属性包含和应用样式、管理样式等等,这可能在设计当中完成布局以及样式的更改,大部分在这里完成。并且,你可以做所得的格式布局工具下,完成对于定位、填充、编辑等。
说到这里,可能还会谈到WPF的设计器,那么这里面如果大家用过的话可以感觉到,原来设计视图和原视图是分开的,是拆分的。现在,我们可以在一个窗口下看到两部分,这样有原来界面的展现,你可以看到源代码,以及你可以添加很多的控制线,可以与原来的文本对齐。 [14:50:33 ]
谭强 : 数据处理方面所谓的LINQ,是我们要有对象关系,就是设计器,这个对象是直接协助开发人员创建一个所谓关系型数据库和对象之间的变更访问的对象。来帮助设计完成对象的操作数据,最终完成对于数据的操作。
还有,对于类型化的数的支持,这就是把有关的 类型的代码和数据类型的代码分到相应的项目中,比如说你的数据访问和分层数据,这样有效地实现数据的分层。还有加入了一个数据分层的编辑,不需要对以前数据每一个T来进行更新。
另外一个比较好的属性,我想应该是本地数据缓存。2008里面,有一个SQLServer3.5精简版,还有为它同步的服务。我们可以实现与服务器上的数据进行同步,减少对于远程数据库的访问。这是在数据处理方面的特点。 [14:55:41 ]
谭强 : VS2008增加了报表和模板,以及报表网站模板,以及增加了报表项,通过这些方式来生成报表项。还增加了语言的更新,比如说对于LINQ的支持和关键字的支持。还实现了局部的推理,我们在出现变的时候,不需要给出它的类型,直接复制就可以了。那么,在编译的时候,由编译器来推理出所编译的类型。
那么,对象的初始设定项来命名和类型,那么语言的扩展方法也是一个开发。那么,人员不需要增加自定义的功能,增加一个新的派生类型。那么,在语言的更新上,是支持LINQ调试器。谈完了编辑器就是调试器。现在支持Vista和远程调试,以及多线程的调试,以及灵活的调试。 [15:00:30 ]
51CTO主持人 : 刚才谭强老师罗列了很多的VS2008里面的功能了。那么,刚才谈到了LINQ的业务,现在随着业务的复杂性越来越复杂,多样性也存在一个问题。那么,LINQ这一次是在VS2008里面,开发人员对于这个响应的呼声最高的新特性了。那么,这一块请你展开讲一下,这一次在.NET3.5重要的扩展,它解决了什么样的问题? [15:05:18 ]
谭强 : 我想,就像它的名字中所说的,它是一个语言集成的查询,所有的语言集成是解决在分布在数据语言当中的,存储了不同的数据语言,并且利用不同的查询语言来进行查询的字词,解决开发人员什么应用都需要写进这个查询。那么,这个时候作为开发工具能更好的来帮助他们实现学习的需要和编程的方式,我想这是大家关心的。
所以,VS2008或者是叫做.NET3.5,重中之重就是实现了对于LINQ的支持。那么,它是怎么实现的呢?首先,在.NET3.5当中实现了很多的程序集,包括很多的 它里面包含了主要的语言集成查询所需要的方法。
在VS2008提供了哪些支持呢?首先就是关于对象的设计器,它主要是用于实现对SQLServer数据库的支持。用这个设计器,可以实现SQLServer关系型数据库当中的数据,转换成视频类,把数据库当中的所有的过程函数,自动转换成视频类的方法。这就把后端的访问数据应用变得非常简单。 [15:06:08 ]
51CTO主持人 : 来参加我们活动的网友,对于这一块都非常感兴趣。我想替他们提一个问题,比如说对于LINQ的学习和查询语言的学习这个过程很复杂,他事先要做一些什么样的准备呢? [15:06:45 ]
谭强 : 这个语法是非常简单的,如果是一般的开发人员可能都写这个C,如果有这个使用和开发经验的人员会发现LINQ跟它非常非常像。这个最大的差距,从语言上来看,只是顺序有一些变化。比如说F#指定一个数据源,然后学习。整个学习的顺序是不需要有什么背景,是非常简单易学的。 [15:07:00 ]
51CTO主持人 : 刚才除了在VS2008在Web开发方面很好的支持,包括视图等等,那么在调试和设计器这一块的改进具体有哪些呢? [15:07:39 ]
谭强 : 微软在2008里面的改进是非常多的。比如说我们从.NET,它作为对于I增强的功能,它提供了强大的服务器的空间,通过新增加的功能,让用户可以很方便地开发AJAX这样的应用程序。另外,它扩展了基于服务器双层的身份认证,这样你集成的时候够非常简单了。
然后,提供了一个XML这样的空间,可以让你对数据源进行操作。以及提供了核心编译,另外把IS7.0集成在里面,这是对于ASP.NET的支持。那么,还有对于AJAX的支持,以及它提供了AJAX库,从而帮助用户实现基于客户端的AJAX程序开发。 [15:08:12 ]
谭强 : 新设计视图和应用视图我们也提到了,比如说通过访问器对设计视图里面可以拆分视图等等,可以很方便地修改CSS。另外,通过它提供的工具,比如说我们前面讲到的CSS的属性网格、样式实现网格等等实现样式修改。以及,所得的工具,可以直接完成定位、填充、编辑的调整等等。其实不只这些。 [15:08:54 ]
谭强 : 说到调试的话,我们可以看到,比如说对于脚本支持的调试,那么基于服务器脚本生成的客户端脚本,它现在是出现在解决方案资源浏览器当中的,而不是像原来的窗口。现在打开就可以看到脚本,同时在服务端脚本当中可以自动影射到客户端的脚本,而且附加按键会很容易。
那么,讲到这里,提到Web开发,我们必须提到Silverlight,那么它最能体现的是跨平台、跨浏览器。因为在Silverlight上,它实际上是通过.NET Framwork实现了跨浏览器、跨平台。同时,通过VB其他的一些语言,可以创建Silverlight。同时,VS2008还和 协同工作,这样美工、程序员可以共同创建一个Silverlight,这里面包括了一个框架和服务器控件,以及更广阔的网络的支持和服务器的应用支持。 [15:14:42 ]
51CTO主持人 : 刚才杨老师谈到了OBA是很重要的支持,还有谈到了Office开发可以用拖拽的方式实现。那么对于Office这一块有什么开发? [15:15:22 ]
谭强 : 我们对于这一块是非常重视的,我们专门有一组人做这一块的开发。我们可以通过这种方式来扩展Office的应用程序。比如说我们可以用Word、Excel等等的版本对于它进行扩展程序,对它进行扩展。
那么,还可以自定义这种Word和Excel的文档,比如说你要定期建一个模板,那么你所有的Word的操作,你可能需要特定的功能,那么这个VS也可以进行支持。
我们讲到VS2008是支持 的开发的。包括顺序流或者是状态激励这种工作流的开发。因为它的是很简单的。
另外,你可以通过VS2008现在自定义你的窗口,或者是你可以自定义功能区,比如说你可以重新安排、组织Office当中常用的一些应用。另外,可以利用Word的空键构建文档。就是你在控件当中利用Word当中一个特定的区域,可以保护一些XML的数据或者是其他你所需要绑定的数据源。
我们还可以通过窗口区域来定制和扩展Outlook的窗口,并且可以在Outlook当中设定窗口区域。 [15:16:29 ]
51CTO主持人 : 刚才您为我们详细介绍了VS2008作为下一代软件开发平台,它一些出色的用户体验,包括改进数据处理的方法,还有快速开发这些非常多的新特性。那么,可以看出在下一代的新的开发平台上,其实开发人员的日子会更好过了。
不过软件其实是一种高智商的产物,那么仅凭个人的力量可能现在越来越做不到一项软件开发。那么,可能更多地是从团队协作这方面来进行软件开发,那么接下来请吴延安老师谈一下VSTS是一个什么样的产品。 [15:16:52 ]
吴延安 : 实际上,我们认为要想进行成功的软件团队的开发是非常不容易的一件事情。根据国际的调查报告表明,从94年开始,最近10年间,全北美的软件开发的这些项目进行了一个统计分析。那么,统计的结果表明,其中只有34%的软件项目,最后才是真正获得成功的。其中有一半的项目最后因为各种各样的原因,比方说项目严重的超支,项目严重地超过预定的时间,或者是质量达不到客户要求的标准,或者是存在一些争议的项目。最后还剩下将近20%的项目,因为各种各样的原因,最后完全失败了。 [15:17:18 ]
吴延安 : 所以,从这里面我们可以看到,要想进行成功的软件开发,这是非常重要的一件事情。为此,各个业界的软件开发厂商,怎么样保障在这个项目的开发的过程中,规避一些风险。从而,使得这个项目可以真正地获得成功。
那么,在近20年来,在整个软件工程领域里面,业界也提出了各种各样的先进的思想。比如说面向对象的设置方法,还有一些设计模式等等。那么,还有一些是各种各样的软件开发的方法论的指导,比如说微软的S ,还有JAVA的引进开发方法等等。那么,这些方法都是帮助我们的团队成功的很有效的方法。 [15:17:26 ]
吴延安 : 但是,我们看到的很有趣的做法,有一些团队用这样的方法开发得到了成功,但是也有一些团队用同样的方法开发,往往是在项目实施的过程中并不能获得很好的业绩。那么,是什么导致了这种情况的出现呢?实际上,我们在这里失败的原因是各种各样的。我们不妨看两个比较关键的地方。
第一个,整个团队在进行协同开发的过程中,这里面首先存在着一个团队之间怎么样进行有效沟通的问题。那么,在沟通方面,传统的做法就是一个团队在开发的过程中,通过一些周例会或者是日例会或者是月例会的方式,将项目的一些进度和实现的状况进行汇报。那么,在这个过程中,这个沟通很大的程度上是收集信息的过程。那么,这种收集信息的过程,有可能出现收集的效率比较低,而且信息不是很准确的,所以不能真正成为我们做项目判断的依据,也不能给我们的项目管理带来决策上的指导。 [15:17:46 ]
吴延安 : 那么,这就是需要我们在团队进行开发的过程中,如何进行有效地协同、沟通,这成了整个软件项目管理里面非常重要的一点。
另外一点,从软件开发项目管理的角度来说,我们可以设想一下,我们平时在进行的软件开发的过程,我们在拿到一个项目的时候,首先我们往往制定一个符合自己这个团队开发标准的一套方法。那么,在这套方法里面,我们可能会定义整个软件开发过程中必须遵循的一些规范、标准,还有一些开发的流程。 [15:18:03 ]
吴延安 : 那么,所有的这些,比如说对于需求文档、设计说明书等等,对于他们都是严格的规范和要求。或者是像CMI认证的体验,这都必须符合规范。比如说我们做的文档必须符合规范,还有我们将编写的代码纳入管理版本里面去的时候,我们需要在流程上面的代码,在纳入管理版本之前,要有一些关于安全性、可靠性的 有一些安全的代码。那么,这会有一些策略的要求。 [15:18:11 ]
吴延安 : 那么,在整个的项目的开展的过程中,也会影响客户远远不断地需求变更的情况。那么,对于变更的情况,我们怎么样通过一些有效的手段,使得你变更以后,你所做出来的代码跟你的设计文档可以前后保持一致,最后发布的时候是一个协调一致的产品。不管是未来的后续开发,都可以提供一些好处。
所以,在这些方面,软件开发团队尽管有自己的开发方法,或者是业界有一些可以拿来借鉴的成功的方法。但是,问题在于,我们并不能把这套有效的方法跟我们的过程结合在一起。所以,这些规定、规范都是写在纸面上的,很大的程度上是需要我们人的智力、自律去进行约束和执行。 [15:22:44 ]
51CTO直播组 : 很快将集中解答大家的问题,请稍等。 [15:23:11 ]
51CTO直播组 : 很快将集中解答大家的问题,请稍等。 [15:23:21 ]
51CTO直播组 : 很快将集中解答大家的问题,请稍等。 [15:23:25 ]
吴延安 : 那么,微软很有特色的地方,就是将软件开发过程中所使用到的工具跟一些业界比较成功的方法论,进行了有机地集成。采用这些方法论作为开发过程中的指导,使整个团队的开发过程是真正地关注在人、流程以及工具之上的。那么,通过这种方法,使得我们平时不能够很好地遵循的一些规范、流程可以得到很好的贯穿。
那么,这在业界的其他的一些软件外包管理、软件生命周期管理等等,可以集成一致的开发体系,以及工具的开发。 [15:28:32 ]
51CTO主持人 : 那么,和同类产品最主要的竞争和区别在哪些地方? [15:28:43 ]
吴延安 : VSTS实际上是一些协同集成的基础,是我们有一个称之为TFS有这么一个团队基础服务器。那么,团队基础服务器它主要的目的是使得整个的团队,在完整的一个软件生命周期开发的过程里面,所涉及到不同的角色,在不同阶段所需要完成的工作,它都使用自己为各个不同的角色提供的不同的工具,将它有机地跟TFS结合在一起。比如说我完成软件架构里面进行分析,分析之后进行详细地设计。那么,这也在TFS里面进行保存,那么TFS对于这些工作项会不断地分工下去。比如说我这个工作项详细设计是对哪一个目标的实现,那么我这一段代码又是对哪一个任务的实现。通过这个,前后的关联会使得整个的开发过程,可以非常有效地集成在一起。
那么,跟软件工程相比,有什么样的优势呢?那么TFS是非常重要的软件管理的工程的手段。比如说你前后所做的工作,我都是可以进行跟踪的。
比如说以前在软件开发过程中遇到的问题,比如说文档设计出来之后,整个项目开发结束之后,你所拿出来的文档跟你的编写的代码不一致的一些问题,通过这种方法,都可以很好地得到解决。 [15:29:05 ]
51CTO主持人 : 这是可以在这个平台上系统工具里面自动地匹配吗? [15:29:16 ]
吴延安 : 这不是自动匹配的,但是这是一个很好的方法,实际上我们在使用的时候,给我们提供了很强大的功能。但是,利用这种功能,并不会给我们平时的工作带来额外的工作量。因为每一步的工作,都是通过里面有一系列的一些策略。比方说它有一个叫做SCC的策略引擎,包括我们完成这部分的工作。
打个比方,我们在进行工作的时候,在传统流程里面,要求我们的设计人员做完了工作之后,把这项工作代码库迁到工作流程,告诉我这个是为哪个工作而进行设计的。比如说我在实现的过程中,在实现一段代码的时候,每纳入到一个版本之前,作为质量上的要求,我可能要求你进行单体测试才可以纳入到保障项目里面去。那么,我们在项目启动之初,由项目经理经过一个简单地设置,就可以去配置这样的一些 。那么,有了这些 之后,你在开发的过程中,你只需要说我把一个源代码Check in之前,我这个源代码,需要在自己工作之前,打开一个IE或者是软件开发工具,他可以看到哪些工作是指派给他的。那么,他Check in之前,只需要知道哪项工作是针对我开发的。 [15:29:35 ]
吴延安 : 那么,测试人员也是一样的,那么测试人员编写到一定的用具之后,发现了有一些Bug之后,他把这些Bug记录到Bug管理库面去,这是他一个工作项。那么同时这也是对于指定为哪个代码的实现。
那么,不管是对于哪一种角色的人来说,都不需要增加额外的工作量。这种结果,恰恰是保存到数据库里面去的统一一致的结果,前后有关联的内在关联的信息,为我们项目的决策、进度提供了实时、准确的依据。所以,这一点是非常关键的。 [15:30:02 ]
51CTO主持人 : 因为VSTS是微软提供的这么一套工具加方法论,我们不要求每一个开发团队都在.NET上进行开发,那么他之前没有在这个VSTS上进行开发,那么他想移植到这上面,针对这个有什么做法? [15:30:14 ]
吴延安 : 针对这个我在网上也查了一下,我们现在有很多的开发团队,跟他们打交道的过程当中会发现,比如说我们的合作伙伴,或者是业界通过了CMMI四级、五级认证的企业,他们在开发的过程当中需要有一个统一一致的项目开发的方法,需要运用在不同的项目开发之上,那么像这样的企业有不同的开发环境。比如说.NET的开发环境,那么VSTS本身是跟微软很好的集成,这是毫无疑问的。那么,像 的开发环境,有没有什么好的方法使它们可以纳入到这个高效的开发过程多种来,这是用户首先遇到的问题。 [15:30:27 ]
吴延安 : 那么,微软利用这个TFS它是一个开放的环境,它是完全一个基于三成的架构,基于服务的,所以具有非常好的灵活性和扩展性。那么,它将里面的一些版本控制的功能、配置管理的功能、项目管理的功能,都是服务的方式向外提供,所以我们的软件开发厂商可以很容易地通过服务组装,然后来开发适合其他平台的用户使用。
比如说像JAVA的开发人员,那么通常他们会使用 作为他们IEDE的开发工具。那么,业界有一个我们的合作伙伴,他提供了一家叫做 ,他提供了这种开发人员需求的小插件。你只需要把这个小插件插到IEDE里面,过可以使用这个里面的功能。
那么,针对他的开发人员是不是可以用这个工具。那么,在以前涉及到了开发人员,那么在以前开发的过程中,可能是使用业界其他的开发方法,比如说 。那么,如果他使用Clear 进行管理,或者是利用Clear 进行项目需求的管理,或者是其他的Bug 的一些工具。 [15:30:49 ]
吴延安 : 那么,在这种情况下,我们如果要往TFS上面进行迁移的话,需要进行什么样的准备工作?这里面涉及到的工作量是怎么样的?如果在三年前,比如说在VSTS2005刚推出的时候,可能有一定的困难,那个时候我们更多地考虑如何将客户从版本上面往VSTS上面迁移。
随着VSTS2005成功推出之后,在最近的几年里面,我们发现有越来越多的一些客户,他们希望将自己的软件管理的平台,无论是软件配置管理,还是其他的管理,能够希望通过一个好的方法论跟工具的结合。希望把他们的开发平台、管理平台能够移植到TFS上面来。 [15:31:07 ]
51CTO直播组 : 现在开始回答各位的提问了。 [15:32:31 ]
51CTO直播组 : 现在开始回答各位的提问了。 [15:32:32 ]
51CTO直播组 : 现在开始回答各位的提问了。 [15:32:34 ]
51CTO主持人 : 由于时间的关系,我们直接进入互动问答的环节。首先是S+S的应用是不是必须基于VS开发? [15:33:55 ]
杨枫 : 我觉得S+S是一种理念,其他的公司想不想这么做都在做类似的事情,只不过微软提出了这件事情,微软有本身的软件做这个事情。
比如说很多的软件甚至在Excel的层面可以达到某种程度的应用,所以这一块我们认为微软是最好的根据这个设计出来的应用软件,但是它并不限于微软自己的应用。我们后面有一些可以帮助他实现,像SOA里面有互通性。它可以跟其他的系统连,又不见得是跟其他的系统连。
比如说微软投资facebook买了一些股份,但是不定是跟VSTS连。 [15:37:55 ]
谭强 : 比如说Visual Studio不一定是一个开发工具,也可以是一个开发厂商,你可以把自己的插件加入到这个Visual Studio里面来,就变成了我们的合作伙伴。其实微软在中国有很多这样的合作伙伴,包括第三方的合作伙伴。 [15:38:10 ]
51CTO主持人 : 还有一个网友问出的问题是,要如何分辨什么是软件,什么是服务? [15:38:23 ]
杨枫 : 其实在我看来,它就是在地方把软件和服务结合之后把它分开了,同样一件事情可以根据不同的方式做,根据用户的实际情况来做。
它有是微软提供安装的,也有的是自己买了回来安装的,也有一个是将来的在线的服务。所以,这个界限是模糊的,另外一个是这里面,除了这个界限模糊以外,还有一个机构的跨平台的模糊,所以是一个互联互通的环节。 [15:38:50 ]
谭强 : Software是无许可的使用,而S+S是需要定制的。 [15:39:02 ]
吴延安 : 我认为很大的程度上,一个企业如何将自己的能力进行封装,提供给自己进行组装化的之外,同时需要让外部的企业使用这种能力,所以如果一个企业可以通过自己的能力向外提供服务,那么每一个企业只需要专注自己所擅长的业务,而所有的附加的业务,为了提高自己全部的业务能力,可以从其他的供应商获取服务,来满足业务的增长。 [15:39:20 ]
51CTO主持人 : 还有网友问,怎样才能快速掌握VS2008的新特性? [15:39:31 ]
谭强 : 这一点上,从VS2005开始就有入门,当时是一种Stand By Stand的体验,当然内容是很丰富的,微软的Visual Studio软件虽然大,但是我们提供的用户文档巨大。2001年我们发布第一个版本的时候,就发现了很大的用户文档资料。 [15:39:44 ]
杨枫 : 我也介绍一个网站,一个叫做codeplex.com,这是微软发布的,给大家提供第一个版本的时候,这上面就集中了大家很多很多的精力。那么,这上面对架构师这一块,包括将来怎么成为架构师这方面,提供了很多的内容,所以这些都是很好的。 [15:40:30 ]
51CTO主持人 : 还有一个网友,估计是在学校里,是高校的学生。他问如何在一所高校里来试验S+S?估计他是想问,有没有这样的一个试验环境? [15:40:40 ]
杨枫 : 正好微软已经给所有的高校提供了VS,这些都可以免费地使用。所以,这些工具都有了。然后,更多地是怎么样拿到一些环境。 [15:40:50 ]
杨枫 : 比如说可以从codeplex.com上面取一些案例来做,比如说大家现在很热门的SaaS,我们微软里面有一个专门的团队做了一个SaaS的参考方案,你拿来稍微改一改就可以改出一些新的什么东西。我觉得既然在大学里面有一个机会,最好就是拿了这些东西来做。
我自己回国以后曾经到一些高校,特别希望给高校的学校一些帮助,但是很多人埋怨环境这样不行、那样不行。但是,现在是网络上有很多的东西,你拿来把这些东西编译了,你理解了他的理念,对于你找工作有一个实际的帮助。如果他们真的想做一些事情,可以做一些免费的义工,帮别人做很多免费的这样的事情,会有很多的机会。
我曾经看到一个机会,是利用义工的方式做一些网站,给社区服务或者是给地震提供服务。有很多这样的事情可以做。 [15:43:25 ]
51CTO主持人 : 下一个问题是微软对于虚拟化的解释是什么? [15:43:53 ]
杨枫 : 其实针对虚拟化的这一部分,更多地是在企业的部署方面,可能有一些更多的应用。 比如说有一些公司做了一些产品,他通过虚拟的技术,可以推到他的分公司等等这样业务的沉淀比较多一点。 [15:44:03 ]
51CTO主持人 : 由于时间的关系,我们今天只能到这里结束了。那么,在这样一个软件发生巨大变革的时代,摆在每一个技术人员面前都有非常多的选择,还也非常多的机会,非常多的新的开发环境和新的架构。那么,在这种情况下,我想咱们这次的活动,可以给他们这次指明一些道路,让他们少走一些弯路,节约一些时间。让他们在下一代的软件开发浪潮之中,可以更好地体现自己。那么,感谢三位抽出时间在百忙之中来到我们这里参加互动访谈,我们这期的在线访谈时间就结束了。谢谢大家! [15:44:15 ]


Comments

I'm waiting for your comment!

Leave your comment: