microsoft新产品及技术的分类
microsoft tech ed是业界少见的专门针对技术和开发者的大规模讨论和研究的会议, 本次会议分为以下几个主要主题, 从这里我们能够看到microsoft的几个主要技术研究方向:
* .net技术讨论, 主要针基于microsoft技术的开发者, 讨论了.net技术的概念, 技术以及应用,该部分是目前microsoft的最主要的思想所在.
* windows产品/服务器产品及系统安全, 以推广windows产品尤其是最新的windows xp为主, 并介绍了相关服务器的概念及应用。企业级应用安全和性能是本部分的核心.
* 企业级信息的管理和应用。以microsoft新推出的一系列信息资源管理的服务器的应用及解决方案为主.
* 以xml为核心的web技术以及无线通信技术, 数据管理技术以及相关的服务器产品的应用和解决方案.
本次tech ed一共安排了50余节专题演讲和课程, 而且分四个专题同时进行, 所以本人只能有侧重点的参加了部分课程, 针对以上所列举的分类情况, 总结如下:
.net技术讨论
.net是microsoft目前最大的宝贝, 实际上其他几个主要技术分类也大都围绕它来展开, 几位亚洲/中国微软的负责人的演讲都是针对.net的技术展开, 当然他们的演讲的内容都是”高瞻远瞩”了, 其实我们从平时看到的新闻中也能知道他们讲述的内容。关于.net的观念,有几点本人觉得比较重要:
* .net的设计思想是真正实现any where, any time, any device的信息获得方式, 是希望将目前或将来所有可能获得信息的工具和平台整合在一起的设计.
* .net的技术核心是xml和以xml为基础的web service技术.
* .net对开发者来说, 最重要的部分是它的framework以及其中的common language runtime (clr)., 这为多语言, 多平台的开发与整合提供了基础.
* .net的设计目的是尽可能的将开发技术简化/优化到最佳地步, 为此微软提供了vs.net, c#等优秀的开发工具和开发语言。同时.net提供了丰富的.net开发平台和服务器, 甚至包括下一代的windows 平台xp都将作为.net运行的主要工具
* .net希望改变现存的internet信息访问模式, 讲求xp(experience), 即用户体验, 也就是应用程序的设计应该是以用户为中心而不是像现在一样以应用本身为主体.
* .net力求和现有的应用程序保持兼容性, 以保证已有的投资. 比如已有的asp和component都将可以在新的.net平台上被继续使用
* 一切应用已internet和web为中心.
除了微软中国(亚洲)负责人对.net的未来的展望, 另外还有专门的课程,针对.net framework, asp.net(web form和web service), windows form, .net开发工具,相关解决方案等部分作了专门的培训。.net相关的培训引起了与会开发人员的极大兴趣和高度重视, 作为新技术, 对其深入了解的人并不多, 所以域.net培训相关的课程并不是十分深入而主要侧重于概念和开发方法的介绍上, 主要有以下几个方面:
* .net的发展和应用
◇ 为什么提出.net以及.net包括什么
◇ .net和web service
* ,net framework,这是.net开发的基础, 其结构从下到上包括以下几部分:
◇ clr/cli
◇ base class, 如字符操作, 内存管理等基本类.
◇ class library, 如ado.net,xml等
◇ 语言, 如c#, vb.net等
* .net开发工具
◇ visual studio.net,很cool的特性,如智能感知(极其方便的帮助工具),web reference(引用web service)等等。
* .net开发语言的介绍
◇ vb.net:很多实例都是以.net为基础的, vb.net作为microsoft的传统工具, 保持了其易用的特点,更主要的是vb.net现在已经是完全面向对象的语言,支持继承,封装,多态等特性, 语言本身的变化很大, 添加了一些增强程序特性的关键字, 更主要的是他和其他.net语言一样, 不需要自己的runtime而是基于vos, 依赖于clr对中间语言的支持在.net framework上运行的. 作为传统的vb开发人员, 对vb.net的熟练掌握需要对.net framework有深入的理解.
* c#语言的介绍
◇ c#作为一种新的语言, 是.net开发的首选, 其语言形式即秉承了c++的高效性又吸收了java的特性, 在设计时摒弃了两者的不足之处, 同时结合新的公用的标准和技术如web service, 成为目前最受推崇的语言, 而且该语言已经推向ecma组织作标准化(同时clr也已经准备标准化), 也就是说今后c#可能会作为一个标准的语言而不是ms所特有的。c#编写的也是管理代码, 和vb.net一样需要.net framework的运行时支持.
* 其他语言
◇ .net的可扩展性体现在一点上就是语言的可扩展性, 除了上面提到的两种主要的开发语言, 另外只要满足cls标准,可以生成msil,很多其他语言都可以作为.net开发的语言, 目前已经有包括cobol, perl等二十几种语言可以支持.net的开发. 当然ms的vc++和jscript.net也都支持, unmanaged c++是新的vs.net中唯一可以开发非管理代码的语言.
* asp.net
◇ asp作为.net的一个最重要的组成部分, 已经不仅仅局限于web动态页面的开发
◇ web form
◇ web service
* web form及相关知识
◇ web form控件
◇ web form的配置和部署
◇ web form的安全机制
◇ web form mobile controls
* windows form
◇ windows form控件及自定义控件的开发。
◇ 使用windows form开发windows和应用程序
* web service及相关知识
◇ web service, .net及xml概述.
◇ soap应用及soap tool kit (soap作为.net和com结构的一个结合点)提供web service。
◇ 用visual studio.net开发web service
◇ web service的应用实例
* hailstorm
◇ passport
◇ microsoft自定义的一套web service
◇ 强调以用户为中心和用户体验(xp)
windows产品/服务器产品及系统安全
作为windows产品的集大成者和.net技术的主要平台,windows xp得到了大力的推崇,同时还有microsoft的office xp, sharepoint portal, content management server等新产品也得到了重视。windows相关技术如active directory, dns等也得到了足够的关注。
另外已经发布的一系列服务器产品也作为主要的产品被推出,如commerce server 2000, biztalk server 2000, application center 2000, exchange server 2000, isa server 2000等。这些产品虽然发布已经有一段时间,单并没有得到国内用户的足够重视,所以microsoft在为推广他们颇下了一番功夫,并且主要集中在使用他们提供解决方案上。无线技术和电话ip化更流行了,因此基于windows 2000的无线通信技术和ip技术变得更重要。另外随着.net技术的推广,越来越多的应用转移到internet上,因此安全解决方案成为了众多技术和产品的焦点。
* windows xp
◇ 新一代的windows操作平台, 特点是可靠,高性能,安全,易用。
◇ 全新的windows内核,.net的核心平台。目前有home和professional两种版本。以后的server版将作为windows.net。
* active directory, dns, isa
◇ active directory将作为企业资源管理的主要构架,易于配置,方便管理。
◇ dns 2000
◇ isa server
* office xp
◇ 本文就是用word xp写的,非常cool的版本。
◇ office xp developer中还有和sharepoint portal结合使用的digital dashboard和web part开发工具,做资源管理,做门户,都是非常出色的工具。
* 其他
◇ visio,流程开发的集大成者,试试吧,从流程图涉及到uml开发,应有尽有。
◇ ms operation manager,解决方案管理工具。
◇ ms project 2000,项目管理工具。
企业级信息的管理和应用
企业级信息管理很重要,为此microsoft发布了一系列服务和解决方案。以ms sql server 2000为中心,exchange server 2000, sharepoint portal server, content management server都展示了其强大的功能和特征。
以xml为基础的工具和解决方案很多,这里不能一一列举,只是说明一下几个服务器:
* ms sql server 2000
◇ xml特性,以及基于xml对数据库功能的展望。
◇ 数据仓库(warehouse)和数据挖掘(data dig)
◇ xml数据分析
◇ 海量数据仓库解决方案
* exchange server 2000
◇ 增强通信和信息整合
◇ 快速回报(return on investment)
◇ 典型协作服务,messaging, contact, calendaring, tasks, 实时
◇ 以文档为中心,半结构化
◇ person to person
◇ cdoexm
* sharepoint portal server
◇ 灵活的门户解决方案,在企业内部和业务部门之间实现方便、快速地查找、共享和发布信息等。创建企业门户站点。
◇ 基于角色的访问,可对公共文件夹,intranet,已有的文件共享,已有的notes共享,和外部网站的等资源提供统一的文档库。用户可通过office (xp),browser,windows explorer等查看。
◇ 优化的搜索引擎和索引服务。
◇ web part和digital dashboard
* content management server
◇ 满足ec快速开发域部署的要求,将发布过程自动化,内容与格式分离,快速部署ec业务。
◇ 网站内容管理的全面解决方案。
◇ 发布动态内容。
◇ 方便的编程接口。
◇ 与commerce server 2000结合。
以xml为核心的web技术以及无线通信技术
.net技术的目的是为了整合业已存在的网络资源,所以支持通用的标准是microsoft的一个重要手段,如xml, http, soap, uddi等。用microsoft自己的话来说,支持业界的标准是为了和其他厂商得到公平竞争的机会。(因为microsoft认为当初java成为标准的时候,他们根据java的标准开发和优化的java编译器是非常好的,但后来被禁止继续开发,因为可能有很多政治和人为因素在里面,所以这一点让microsoft耿耿于怀,认为他们没有和其他厂商一样得到公平竞争的机会,从这一点来说,也是不无道理的)
作为公用标准,xml技术已经被包括microsoft在内的业界各大厂商所支持。因此在microsoft新的技术,新产品和新的开发方式中,xml都担任着重要的角色。
目前业界所推崇的第三代internet中,一个重要的特色是宽带和无线通信技术。microsoft已经发布了mobile information server作为无线通信技术,中国微软研究院也正在研究自适应内容转换系统(adaptive content delivery system),以及.net中专门为开发mobile设备应用而设计的web form mobile control等等,都突出了microsoft对移动设备的重视。(net的一个技术核心就是在any time和and place支持any device)
总而言之,这些技术都是为了开发以web为中心的应用。下面介绍几个microsoft的典型产品:
* commerce server 2000
◇ 最受欢迎的网店产品
◇ 分析和改善用户关系管理(crm)
◇ 在动态、集成和可扩展的web环境下管理和跟踪业务数据的一种平台服务。很多功能非常适合做web应用的开发
* biztalk server 2000
◇ 集成流程而不是集成系统。以xml为集成和交换的基础。
◇ 类似于message queue,单功能丰富很多。比如:调用 金融机构web service,连接 erp 系统,更新库存系统的数据库,通知发货单位等等。
◇ 使用xlang编排业务流程,xlang为过程描述语言,另一种产品visio 2000也有此类应用。
* application cerner 2000
◇ 保证用户体验,即允许软件错误,允许硬件错误,但应使用户不感觉到这种错误的存在。
◇ 保障应用的正常运行,尤其使大规模应用,比如几十台web server的web farm。
◇ 通过scale-out架构即强调软件解决方案来实现而不是scale-up(如集群,并行计算方式)的方法(如大型工作站,管理较容易但成本极高)。并实现性能的可伸缩性。
◇ 通过监视策略保证。
其他技术和解决方案
microsoft的合作伙伴很多,本次tech ed上,来自其他厂商的基于microsoft的技术和解决方案也占有一定的比例,如:
* 赛门铁克esuport及诺顿企业级防病毒解决方案。
* htnetserver高可用性解决方案。
* compaq高可用集群技术及disa体系结构
* pentium 4架构和优化策略
* visda构建企业数字神经系统
* 其他
从这些合作伙伴的倾向性我们可以了解到microsoft已经不满足以将自己的技术和产品限于个人用户和中小型企业级的应用,越来越多的事实表明不论在操作系统,中间平台,internet支持,集群管理,数据库,开发工具,解决方案上,microsoft正在向着高端应用的市场发起冲击。而另一个最重要的策略就是尽可能的让自己的技术基于业界标准上。而microsoft对使用者的所谓“体验”也在其惯有的易用性上表现得淋漓尽致。
所以作为开发者,不论我们现在使用的平台是什么,开发工具是什么,数据库是什么,目标用户是什么,既然microsoft已经针对业界的公用标准提出了相应的解决方案,比如.net,比如web service,我们就应该去了解这些东西,认识它们的发展前景以及它们的价值。以便我们能够对未来的技术走向有更好的前瞻性。