来源:csdn 作者:linzi 日期:2005-10-22
对微软来说,Visual Studio 2005、SQL Server 2005与Windows Vista的问世,象征着.NET第二阶段的系统架构大转型,有了完整的系统开发平台、更充分支持.NET开发环境的数据库以及全新概念的操作系统,微软可以更顺利地拓展在企业信息环境的影响力。
今年微软在TechEd大会上揭示新版开发工具Visual Studio 2005的全貌,整合多种开发环境,包括ASP.NET 2.0、C# 2.0、Visual Basic 2005……等主流程序语言,并涵盖架构设计、程序开发、系统测试、软件项目等,让Visual Studio摇身一变成为程序开发的万用工具。
而SQL Server 2005也延续为数据库加值各种应用的传统,除了大幅改变数据库管理与开发功能外,更加重在商业智能上的应用,并免费提供开发工具。这种加值不加价的作法,相信会对其他厂商带来不小冲击。
7月底推出第一个测试版后,Windows Vista的雏型已然初具,但众多宣称的功能其实都还未到位,已经释出的功能随时都可能修改,因此TechEd关于Vista的课程,形同最新的进度展示。
虽然今年是微软号称的产品年,不过在信息安全方面,严格说来只有ISA Server 2004中文企业版上市的消息,TechEd 2005仅约略提及Antigen防毒与Advanced Spam Manager、Advanced Spam Defense防垃圾邮件系统,资安课程的热度明显不如去年,但从更广泛的资安架构擘画与蓄势待发的服务器防护产品来看,显然微软的企图心仍不容小觑。
综合以上观察,我们特别为大家整理了Visual Studio、SQL Server及Security的课程内容摘要,除了让上过课的人可以温故知新,没上过课的人可以从中撷取精华。
程序开发的瑞士刀─Visual Studio 2005
微软于本次TechEd大会两个主轴,除了SQL 2005数据库产品外,另一个主角便是整合开发环境Visual Studio 2005。微软不再延用Visual Studio.NET的命名,改为与操作系统以年份为版本名称相同方式,但.NET仍然是微软所有系列产品的重心。此次改版不仅接续Visual Studio.NET 2003的功能,微软更强调开整合发环境平台化,以满足开发人员设计企业级应用系统的需求,例如开发效率、软件质量,以及开发团队的协同作业,并弹性地延伸到第三方的应用工具等。这是微软在大会不断倡导的说法,不过,浸淫程序开发多年的老手应知道,目前微软在Visual Studio 2005开发工具所内建的新功能,其竞争对手,也就是开放原始码的整合开发环境Eclipse已都具备,只是其延伸功能的方式采用外挂(plug-in)。
.NET Framework 2.0兼容性问题依旧
.NET Framework由1.×提升至2.0版,主要改进重点在两个层面,分别是函式库中(Base Class Library,BCL)新增功能,例如串行端口控制(SerialPort)、串流压缩、与强式资源 (strongly typed resources)等;以及增强的功能,包括Console、Threading、Diagnostics、Networking等。讲师对Console这个新功能赞不绝口,现场还展示了一个用Console接口写的打小蜜蜂游戏,对于常借着游戏舒解压力的开发人员或已习惯3D影音眩目效果的玩家,则是发出会心一笑。
防呆的ASP.NET 2.0新功能
改版后的微软 Visual Studio 2005已转变为ASP.NET量身订作的编辑器,除了新增控件与类别,加速网页开发以外,为了因应网页应用程序的开发,采用更安全的加密机制。不过,这也表示采用ASP.NET开发企业网站,就必须购买Visual Studio 2005了。
ASP.NET 2.0改进重点如下所述:IntelliSense、XHTML标准、Master Page功能、网站巡览工具、使用者登入控件、数据来源控件与数据炼结控件、网站设定管理工具等。
开发工具平台化:VS 2005 Team Fundation Server
微软在开发工具中导入Team Fundation Server,主要用于协同运作的环境。目前企业在软件开发所面对的问题,包括沟通、整合、单一工具、软件项目控管等问题,特别是面对软件外包,但又需要配合客户交付阶段时程产出物的质量,以及开发团队需要在单一工具整合第三方的工具,或甚至客制化出符合企业本身需求的开发环境等。
程序开发的瑞士刀─Visual Studio 2005
微软于本次TechEd大会两个主轴,除了SQL 2005数据库产品外,另一个主角便是整合开发环境Visual Studio 2005。
微软不再延用Visual Studio.NET的命名,改为与操作系统以年份为版本名称相同方式,但.NET仍然是微软所有系列产品的重心。此次改版不仅接续Visual Studio.NET 2003的功能,微软更强调开整合发环境平台化,以满足开发人员设计企业级应用系统的需求,例如开发效率、软件质量,以及开发团队的协同作业,并弹性地延伸到第三方的应用工具等。这是微软在大会不断倡导的说法,不过,浸淫程序开发多年的老手应知道,目前微软在Visual Studio 2005开发工具所内建的新功能,其竞争对手,也就是开放原始码的整合开发环境Eclipse已都具备,只是其延伸功能的方式采用外挂(plug-in)。Eclipse深受开发人员喜爱的不仅在于媲美企业级应用的功能,而且是免费的。
微软将于今年12月13日发表正式版本,相信在场听众的心中充满期盼,只是这些期望是叫好多,还是叫座多,我们可以在正式版发表当天得到解答。参与这一系列课程后,不可否认地,微软将此工具描述地尽善尽美,如同在Visual Studio.NET 2003中所表达的相似,听众对于新功能莫不以点头如捣蒜的方式响应,现场也常可以听到惊呼或赞同的声音,但会中动心、会后无力是与会者共通的感受。当然,如同往常的戏码,还是存在些许的批评声浪,成为大会中花絮。
透过TechEd大会,我们可以从以下7种角度省视全新的Visual Studio 2005:
●Visual Studio 2005 Team System
●.NET Framework 2.0
●ASP.NET 2.0
●C# 2.0
●Visual Basic 2005
●Visual Studio 2005 Team
Fundation Server
●Web应用程序除错工具
版本分歧、难以选择的VS 2005产品
此次Visual Studio产品分类方式与前一版有所差异,特别在于最高阶的版本改成了Team System,取代以往的企业架构版。虽然版本不同,但诉求对象仍在企业用户。由于目前企业中开发软件已不仅只于撰写程序代码而已,而是讲究方法论与团队协同合作,微软为契合这个主流趋势,推出Visual Studio 2005 Team System,其定位在软件开发生命周期管理工具,可在单一工具中结合架构设计、程序开发、软件测试等三种角色,并藉由微软 Visual Studio 2005 Team Fundation Server,使得成员在整个开发周期中紧密地协同作业,建立高质量的企业级应用软件。相信许多程序开发人员跟我一样,对于Team System这个产品会是一头雾水,微软为了清楚解释这个新设计,特别安排管理软件开发生命周期与协同运作等两个场次。
自由使用的VS 2005精简版
Visual Studio 2005与前一版相异之处,在于提供4种版本,分别为精简版(Express)、标准版(Standard)、专业版(Professional)、团队协同运作版(Team System)。面对竞争对手Eclipse在开发工具市场攻城略地、锐不可挡的趋势,微软特别将精简版放置于网络供下载使用,让初学者“自由”运用。这个场次的讲师则提到,到底会不会收费,要询问过营销负责人才能确定。至于所谓的初学者主要是学生,或者白话地说,就是那些对微软开发工具尝鲜的人,但又买不起的用户,给予一个市场营销的吸引力。高阶的团队协同运作版由4种客户端产品以及1个服务器端产品所组成的,使得整个系列产品令人眼花撩乱,不过其价格应该也会让企业用户瞠目结舌。团队协同运作版则是全新的设计,以符合企业中大型开发团队的需求。
精简版产品内容包括Visual Basic 2005、Visual C# 2005、Visual C++ 2005、Visual J# 2005、Visual Web Developer 2005等5种程序语言精简版本。标准版则定位为专业人员使用的入门开发工具,让开发人员可以藉由.NET Framework建立客户端/服务器(client/server)应用程序,微软将使用群锁定在Visual Basic 6与网页应用程序等的开发人员,并强调这是成本与效能比值(C/P)最高的工具。专业版的使用对象主要在个人工作室、专业顾问或小型的开发团队,用于建立关键性任务、多层次架构的应用系统,并且涵盖智能型客户端、网页应用程序与行动周边应用程序等。
架构涵概完整的软件开发周期
微软针对软件开发周期,在整合开发环境中实现完整的方法论(methodology),使得开发团队在明确的工作流程指引下,建立高质量的软件。目前,微软在Team System的解决方案架构(Microsoft Solutions Framework,MSF)中,提供两种软件开发流程模板:MSF for CMMI Process Improvement与MSF for Agile Software Development。前者是藉由合作策略,导入美国卡内基美隆软件工程学院所制定的能力整合成熟度(CMMI)流程指导规范,适用于导入CMMI标准的企业使用。后者则应用于敏捷软件开发程序(Agile Software Development),适用于开发团队增强反复性软件开发的功能的设计模型。有了方法论后,以往架构、程序代码、测试、工作流程、角色等各自为政所造成的问题,将有效地控制与处理。
微软将开发工具延展到软件开发周期后,对软件项目管理人员是好消息,因为有量身订作的控管工具可以使用,只是,要先花时间学会这套庞大且复杂的工具。许多人像我一样,虽然学过项目管理,也才刚学会制度化的管理结合应用工具,如MS Project,现在又要学另一个工具。至于程序开发人员则不然,因为他们无法再滑头。
虽然微软在开发工具实作方法论,其立意良善,但是否适用于台湾以中小企业为主的商业市场,仍有待观望,况且,中小型企业主要以人治为主,对于科学化的管理与方法,其接受度仍需要时间习惯。
.NET Framework 2.0兼容性问题依旧
.NET Framework由1.×提升至2.0版,主要改进重点在两个层面,分别是函式库中(Base Class Library,BCL)新增功能,例如串行端口控制(SerialPort)、串流压缩、与强式资源 (strongly typed resources)等;以及增强的功能,包括Console、Threading、Diagnostics、Networking等。讲师对Console这个新功能赞不绝口,现场还展示了一个用Console接口写的打小蜜蜂游戏,对于常借着游戏舒解压力的开发人员或已习惯3D影音眩目效果的玩家,则是发出会心一笑。
64位环境远程部署与侦错
除了上述新增的函式库与功能,.NET Framework 2.0更注重软件的执行效率、安全性新功能,以及对64位开发环境的支持等,简介如下:
Generics:第一次听到是在C#2.0的场次,觉得很新奇,在这一场又听到此功能,反而有点分不清楚,不过既然.NET Framework都支持了,C#2.0当然也会支持。
侦错新功能:微软称呼这个侦错功能为ENC,是Edit and Continue的缩写,其用途在于让开发人员于编译时就能修改程序代码,不必在每次修改细部时,等待系统编译整个程序。可是ENC仅支持C#与VB两种程序语言,并且只支持Windows Form,也就是尚未支持ASP.NET。现场与会者小声说道,早就应该有这个功能。
64位的支持:Visual Studio 2005是一个32位应用程序,虽然使用者可以开发、侦错、布署32位或64位的应用程序,但尚无法直接在64位环境下开发软件,而是在32位环境下开发完成后,再部署至64位的系统中,并藉由远程的方式侦错达成,所以讲师逗趣地说道,远程侦错功能终于派上用场了。
搭配Framework版本解决兼容性问题
程序开发人员相当关注.NET Framework由1.×提升到2.0版的兼容性问题,因为此关系着新旧系统是否必须重写程序代码的议题,微软在2.0版所提供的处理方式如下:
Side-by-Side(S×S)功能:简单地说明,也就是让应用程序在其所建置的.NET Framework版本上执行,例如原本在1.×上建立的软件,便搭配1.×的.NET Framework执行环境,同理类推到2.0版。
向后相容:在旧版的.NET Framework开发的应用程序可以在新版的.NET Framework中执行,例如1.1版的软件可以在2.0版中正确地运作。向前相容:在某一版本.NET Framework所建立的应用程序可以在旧版的.NET Framework中执行,但局限在1.1版,2.0版尚未完全支持。微软建议的最佳布署策略是,确保安装程序和应用程序都在同一个版本的.NET Framework下执行,降低版本控管的复杂性。
不过,程序开发人员还是有些许无所适从。因为从.NET Framework 1.×版到2.0版,持续的升级虽然可以带来效能的精进,但兼容性变成烫手山芋,况且升级过程中间还包括beta版,以至于课堂后半段针对.NET Framework 1.×版到2.0版中应用程序开发与执行的兼容问题,特别细部地说明。不过,听完后还是觉得丈二金刚摸不着头绪,遑论在企业多层次架构下的应用程序,兼容性问题将更难以处理。
防呆的ASP.NET 2.0新功能
改版后的微软 Visual Studio 2005已转变为ASP.NET量身订作的编辑器,除了新增控件与类别,加速网页开发以外,为了因应网页应用程序的开发,采用更安全的加密机制。不过,这也表示采用ASP.NET开发企业网站,就必须购买Visual Studio 2005了。
建议遵循XHTML标准
ASP.NET 2.0改进重点如下所述:IntelliSense、XHTML标准、Master Page功能、网站巡览工具、使用者登入控件、数据来源控件与数据炼结控件、网站设定管理工具等,对于写过ASP网页的设计师而言,这些新功能越来越像是防呆用的。不过仔细思考一下,ASP.NET 2.0建议遵循XHTML标准,所以由旧版的ASP网站升级到ASP.NET 2.0将会面对许多问题,现场讲师仅说明由ASP.NET 1.0转移到2.0版过程中极为顺利。
此系列另一场次便针对由1.0版转移到2.0版的议题做探讨,虽然优点是不需要升级操作系统,不过窗体验证、保留字与命名冲突等,还是得花心思处理,除非1.×版的网页程序遵循严谨的标准,在转移过程中问题最低,只是现场的听众具备这样功力的应不多,否则就不需要来听这个议题了。况且,棘手不仅只于此,如果使用Visual Studio 2005来转移网站项目档,首先一定要知道,这过程是不可逆的,听到莫不令人倒抽一口冷气。接下来是,不需要项目文件,以及档案目录也更动,原本存放程序代码的目录将会清空,因为新版已经不再使用单一的code-behind assembly,微软认为这些是优点,不过对动作“敏捷”的网页开发人员应该会吓出一身冷汗。
闹钟声中带出C# 2.0新功能
微软在Visual Studio开发环境主力推广的两种程序语言,除了Visual Basic外(另一场的讲师提到,Visual Basic是微软老板Bill Gates发明的,只要他还在,这个语言就不会在市场消失。相信在场学其它语言的听众应有一股想转到Visual Basic的冲动),另一个就是具备对象导向特性的C#。由于C#语言发展已渐趋完整,2.0新增的功能包括Anonymous methods不具名方法与Iterators递迭器,主要如下所述:
Generics:Generics称为泛型,指的是在型别中加入参数,减少执行时期(runtime)错误,特别是开发人员在设计程序的过程中所产生的逻辑错误,这类错误常在运作的过程才浮现,而非编译时经由侦错方式察觉。.NET Framework 2.0新增泛型功能后,程序代码中的型别因为不需要进行boxing,使得编译的效能提升,程序代码也更简洁。
Partial types:称为部份型态可以将类别拆成多个部份类别,并由不同的开发人员分别撰写,增进开发效率,但在程序编译时,编译工具会将这些部份类别视为单一类别处理。
现场的曹山讲师本身在资策会授课,习惯掌控议程的时间,所以使用闹钟定时提醒自己演讲的流程,也让现场增添许多不同的声音。
Visual Basic 2005老工具与新生命
新版的Visual Basic除了支持更完整的对象导向设计,也使用.NET Framework,并新增泛型功能,用于开发网页应用程序、客户端、行动周边等应用程序。Visual Basic 2005除了延续容易学习的特点以外,也朝向更高阶的程序语言发展方向。虽然微软大老板Bill Gates是Visual Basic的爱用者,不过这场的讲师将大部份的时间都在展示新功能所需的程序代码,以至于气氛有些枯燥。
旧版的API「Me」改为「My」
Visual Basic 2005中不再使用Me,而改用My这个新的API,其架构层级包括以下的部分:My.Application、My.Computer、My.User、My.Forms、My.WebServices、My.Resources、My.Settings等。
新增Generics、Partial Type、Snippets功能与XML文件制作
Visual Basic 2005新增功能包括:Generics、Partial Type、XML文件批注等。Generics是第3次听到这个功能,前两次在.NET Framework与C#的场次。Partial Type则是第2次,前一次在C#场次。其重复性的菜单示,尽管程序开发语言众多,不论是.NET或Java,功能与语法都越来越雷同,所以初学者依兴趣学习即可,毕竟是工具,讲究实用而不是名气。
讲师则推崇XML文件批注强化文件制作功能,说明文件使用XML语法,输入‘‘‘(连续3个单引号)就可以启动XML批注功能。这让Visual Basic的程序开发人员也可以更便利地批注程序代码,讲师笑称,这根本就是为开发人员应付主管要求撰写使用手册,而量身订作的功能。
开发工具平台化:VS 2005 Team Fundation Server
微软在开发工具中导入Team Fundation Server,主要用于协同运作的环境。目前企业在软件开发所面对的问题,包括沟通、整合、单一工具、软件项目控管等问题,特别是面对软件外包,但又需要配合客户交付阶段时程产出物的质量,以及开发团队需要在单一工具整合第三方的工具,或甚至客制化出符合企业本身需求的开发环境等。旧版无法满足这类需求。这个议程内容很艰涩,更何况是全新的产品,不过值得一提的是,讲师李宗达来头不小,因为连微软开发工具暨平台推广处产品经理胡德民都亲自简介。李宗达先生拥有30张以上信息证照,当然包办微软全系列,以及公认难以取得的Rational证照,他本身也兼任IBM首席