悦 的个人资料My Digital Story照片日志列表更多 工具 帮助
2008/7/31

SaaS及与SaaS相关的几个概念

SaaS安全技术与最新进展

由于SaaS(Software as a Service软件作为服务、软件即服务)的出现,软件行业正在经历一场深刻的变革。SaaS在西方国家已经流行并进入了普及阶段。在中国,虽然近年增长迅速,但大多数企业对SaaS这种新的交付模式还缺乏认识. SaaS的安全技术日新月异, 越来越多的企业开始认可SaaS安全性和可靠性。

SaaS的安全从机房开始。机房的安全性包括气体灭火、恒温恒湿、联网电子锁防盗、24小时专人和录像监控、网络设备带宽冗余、口令进入机房等。服务器和防火墙的负载平衡、数据库集群和网络存贮备份在近几年也成为标准安全性技术。主流SaaS运营商多采用双数据中心运营,其中一个机房数据中心为冗余备份。多城市多机房的模式可提高访问速度,但因大大增加安全管理隐患和维护成本,很少被成熟的SAAS企业采用。

伴随着J2EE和.NET等基于互联网浏览器软件开发技术的诞生,真正意义上的SaaS模式企业管理软件技术起始于2003年前后。基于互联网的特点,SaaS软件有许多区别于前一代软件的独特性,从服务器端软件和数据库、数据传输、到客户端浏览器都出现了许多新技术。

开发 SaaS 软件系统和开发传统企业应用系统之间有重要区别,标准SaaS 系统是多重租赁的(Multi-tenant),也就是一套软件和数据库平台,经过软件和数据库的隔离及保密技术,多个企业同时使用。虽然不是多重租赁的SaaS产品不一定是“假SaaS”产品,多重租赁大大提高了运营效率、稳定性,降低运营商的维护和升级成本,变相的说最终消费者得到了价格上的实惠。其他重要的 SaaS 需求,如自定义、SOA集成接口、离线客户端等,也都会影响 SaaS 应用程序的体系结构。而国外的Salesforce的PaaS(Platform-as-a-Service)和国内八百客公司的800APP PaaS代表了SaaS的主流架构。

数据库

SaaS运营商普遍采用大型商用关系型数据库和集群技术。在数据库的设计上,多重租赁的软件会有三种设计,每个客户公司独享一个数据库instance,或独享一个数据库instance中的一个schema, 或多客户公司以隔离和保密技术原理共享一个数据库instance的一个shema. 几乎所有SaaS软件开发商选择后两种方案,也就是说,所有公司共享一个数据库license,从而降低了成本。

数据库隔离的方式经历了instance隔离、schema隔离、partition隔离、数据表隔离、到在应用程序的数据逻辑层提供根据共享数据库进行用户数据增删改授权的隔离机制, 从而在不影响安全性的前提下实现效率最大化。

应用程序

应用程序的安全围绕Web服务器展开,比如Apache、IIS等。基于这些Web服务器,主流厂商多采用J2EE或.NET开发技术并会采用特殊的Web服务器或服务器配置以优化安全性并优化访问速度和可靠性。而有些厂商会采用PHP、Ruby等开发技术,相比之下,J2EE和.NET集成了更多更成熟的安全技术。同样,Oracle、SQL Server和DB2在数据库层面相比MySQL等数据库也更加成熟。

身份验证和授权服务是系统安全性的起点,J2EE和.NET自带全面的安全服务。J2EE提供Servlet Presentation Framework, .NET 提供.NET Framework,并持续升级,因多重租赁带来的整体升级效应使所有使用者共同受益并不需要支付额外的升级费用。应用程序通过调用安全服务的编程接口 (API),来对用户进行授权和上下文继承。

在应用程序的设计上,安全服务通过维护用户访问列表、应用程序Session、数据库访问Session等进行数据访问控制。并需要建立严格的组织、组、用户树的建立和维护机制。

SaaS平台是近年来的商业模式热点。一种模式是单一厂商基于PaaS应用程序平台提供多种SaaS应用,并通过Web Service接口提供与其他厂商产品集成。 另一种模式是SaaS运营平台,平台厂商提供用户认证,其他软件厂商提供SaaS应用程序。在安全性上,PaaS应用程序平台有着先天的优势。SaaS运营平台的出现,为应用程序的开发带来了新的挑战,产品的安全由平台上SaaS软件厂商链条中最弱的一个决定,也就是短板效应。

平台安全的核心是用户权限的在各个SaaS应用程序中的继承,Salesforce或八百客等厂商的PaaS产品自带成熟的权限树继承技术,自2006年以来已经实现大规模商业运营。而第二种运营平台模式类似的集成需要专业的定制开发,相应的中间件技术或SOA总线技术还未成熟。

ACL和密码保护策略也是SaaS软件成熟度的标志。客户可在自己系统中修改相关策略。有些厂商还推出了浏览器插件来保护客户登录安全。而在最近半年,国外厂商频繁地开始让用户登录后回答自己预设的秘密保护问题和答案,也是一种为了安全的保护策略,因中国人对这种密码保护策略没有使用习惯,所以在国内还没有广泛的推广开来。

数据传输和客户端

SaaS安全技术与最新进展 由于SaaS(Software as a Service软件作为服务、软件即服务)的出现,软件行业正在经历一场深刻的变革。开发 SaaS 软件系统和开发传统企业应用系统之间有重要区别,标准SaaS 系统是多重租赁的(Multi-tenant),也就是一套软件和数据库平台,经过软件和数据库的隔离及保密技术,多个企业同时使用。

SaaS通过互联网而非企业局域网来传输数据和表格。SaaS和已经普及的网上银行和网银支付都采用SSL加密技术,加密位数随着硬件速度的提升而提升。主流厂商通常也会花大笔资金购买专用SSL加密设备。八百客、金蝶等国内厂商也提供类似网上银行的U盾客户端认证技术。

SaaS软件都采用浏览器来访问使用,普遍采用的安全技术包括Cookie加密、URL随机码、SQL等代码的注入防范等技术。当然,浏览器及时升级也非常重要。

成熟SaaS厂商也推出了可离线使用的客户端软件。虽然Salesforce用“不用软件”的口号吸引了很多关注,但其需要下载安装的离线版也得到了10%左右的使用率。 而像RightNow等其他厂商,在客户端上做了更多的开发和实施工作。八百客的专用客户端还做了呼叫中心、VOIP电话、短信、电子传真和企业邮局的集成。而这些专用客户端多采用本地数据加密,SSL传输加密等安全技术。

结语

不论是SaaS软件还是传统软件,企业安全事故多发生于在密码安全管理松懈的企业,虽然U盾会在会在很大程度上避免此类安全事故发生。

与网上银行和邮件快递服务类似,优秀SaaS服务商承诺的安全和可靠性也将被更多企业用户接受。 安全是一个优秀SaaS厂商的长期承诺。

ERP、SAP

1.企业资源计划
企业资源计划(Enterprise Resources PlanningERP),可以从三个层次进行定义:
管理思想:ERP是由美国著名的计算机技术咨询和评估集团Gartner Group Inc.提出了一整套企业管理系统体系标准,其实质是在MRPIIManufacturing Resources Planning制造资源计划)基础上进一步发展而成的面向供应链(Supply Chain)的管理思想;
软件产品:是综合应用了客户机/服务器体系、关系数据库结构、面向对象技术、图形用户界面、第四代语言(4GL)、网络通讯等信息产业成果,以ERP管理思想为灵魂的软件产品;
管理系统:是整合了企业管理理念、业务流程、基础数据、人力物力、计算机硬件和软件于一体的企业资源管理系统。
2
.物料需求计划
物料需求计划(Material Requirement PlanningMRP 指企业的信息管理系统对产品构成进行管理,借助计算机的运算能力及系统对客户订单,在库物料,产品构成的管理能力,实现依据客户订单,按照产品结构清单展开并计算物料需求计划。实现减少库存,优化库存的管理目标。
3
.物料需求计划II
物料需求计划IIMaterial Requirement Planning IIMRP II 指在企业技术、管理和经济上有效地建立起来的一个过程,贯穿于市场经销、产品设计、制造工艺、生产计划、物资供应、生产作业与控制、仓储管理和财务成本等环节。

4
.供应链管理
供应链管理(Supply Chain ManagementSCM 指从原材料采购直到产成品销售,供应链管理设计、计划、控制可能因素并同时协调与优化物流、资金流、信息流,着重供应商、制造商、批发零售商以及服务供应商和客户之间的协调处理。
5
BPR业务流程重组
业务流程重组(Business Process ReengineerBPR 指运用信息技术和人力资源管理手段大幅度改善业务流程绩效的革命性方法。
6
.绩效管理体系
绩效管理体系(Key Performance IndicatorKPI 指一个循环往复的过程,包括目标设定跟踪汇报分析调整考核激励四个主要的管理环节。
7
.系统应用产品
系统应用产品(System Applications Products SAP 指德国的一家ERP软件公司开发的ERP应用软件,是英文System Applications Products in Data Processing的缩写,翻译为数据处理中的系统、应用和产品。
8
SAP R/3
SAP R/3
指一个基于客户/服务器结构和开放系统的、集成的企业资源计划系统;其功能覆盖企业的财务、后勤(工程设计、采购、库存、生产销售和质量等)和人力资源管理等各个方面。

二、SAP模块名称
1
.财务会计
财务会计(Financial AccountingFI 指必须能够按有关规定向股东、债权人、劳工组织以及社会公众披露并提供所需的信息,而有效的公司管理会计必须包括控制和转移的功能。财务会计模块由总分类帐、应收帐款和应付帐款、固定资产、法定合并以及特殊统计会计功能组成。
2
.管理会计
管理会计(ControllingCO 指提供企业内部管理控制及内部考核评价所需要的各种信息,通过与销售模块、采购模块、财务会计的集成功能,将生产经营中的各种信息在CO中进行分析和比较,由一般费用成本核算、生产成本核算和获利能力分析等子模块组成。
3
.销售和分销
销售和分销(Sales and DistributionSD SAP系统中一个用于解决销售过程中相关业务操作的高度集成的模块,通过与财务模块的集成,所有信息可以实时反映到帐务系统。主要由销售订单的管理、信用额度的控制、发货管理、发票管理等功能组成。
4
.物料管理
物料管理(Material ManagementMM R3后勤系统的一个组成部分;此模块所提供的功能基于物料的物流管理操作:获取、采购、需求计划、库存管理、物理仓储管理以及票据管理。
5
.仓库管理
仓库管理(Warehouse ManagementWM MM模块中的一个子模块,利用WM系统, 可以对公司中复杂的库存结构进行管理。这种结构可包括不同的仓库中的区域(即存储类型),如在高架位闲置的存储、可用存储、冻结存储和固定的仓位提取区域等,以及生产供应、发货和收货区域等。利用WM系统,可以同时对具有随机组织结构和具有固定仓位的仓库进行管理。
6
.生产计划
生产计划(Production PlanningPP 指后勤系统中负责计划、控制、管理生产的模块,提供完善的满足各种制造模式的处理,如重复生产、按订单生产、按订单装配、流程式生产、批量生产和面向库存生产。集成化供应链如MRPII、电子看板、计划估化器、车间控制器、流程控制系统、PDM等。
7
.工厂维护
工厂维护(Plant MaintenancePM 指负责复杂的工厂控制系统维护;支持对工厂的图形化表达,可和地理信息系统相连,包括详细的工厂图表;对设备可进行预防性维护计划、缺损保修、检修、备品备件管理等。
8
.人力资源
人力资源(Human ResourcesHR SAP系统中的人力资源模块,是管理人事档案、人员工资及培训和差旅费用的,最终产生的财务信息会集成到会计模块中。
9
.物流集成
物流集成(Material Repair OperationMRO 指对备品备件、原料、产成品等物资的采购、供应、库存、销售等状态的管理。
10
.石油行业解决方案
石油行业解决方案(Industry Solution- OILIS-OIL 指一个专门针对石油和天然气开发出来的行业解决方案,SAP公司与其众多的战略合作伙伴共同建立了石油天然气行业全球理事会,目标是支持SAP石油天然气行业产品及SAP油气企业用户的互动发展。该理事会定期召开会议,工作重点主要围绕着制定石油天然气行业的管理标准及相应SAP产品的开发策略,以满足石油天然气行业不断变化的管理需求。经SAP公司及其战略合作伙伴二十余年来的潜心研究,反映当今一流石油企业生产与管理经验的最佳业务实践被预置在 SAP的系统中。这些最佳业务实践基本涵盖了大多数石油企业在生产与管理上的各类需求,同时也可为各石油企业进行组织机构、管理流程的改革提供有益的参考与专家式的帮助。
11
.高级计划优化器
高级计划优化器(Advanced Planning OptimizerAPO SAP供应链管理的一部分,可优化供应链管理,通过高级计划优化器可提供一套更好的采购方案给企业,通过APOERP集成可尽快尽好并最低成本的得到供应商原料从而使得公司的产品更快速地交付给客户。
12
.数据仓库
数据仓库(Business Information WarehouseBW 指在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。与其他数据库应用不同的是,数据仓库更像一种过程,对分布在企业内部各处的业务数据的整合、加工和分析的过程。
13
.企业战略管理
企业战略管理(Strategic Enterprise ManagementSEM 指提供一种手段和途径(如通过与历史同期的比较或对未来某一时期的合理预期),使企业的战略决策不断地由设想转变为现实。

14.主生产计划
主生产计划(Master Production Schedule MPS) 是预先建立的一份计划,由主生产计划员负责维护。主生产计划是驱动MRP的一整套计划数据,它反映出企业打算生产什么,什么时候生产以及生产多少。主生产计划必须考虑客户订单和预测、未完成订单、可用物料的数量、现有能力、管理方针和目标等等。
三、SAP实施
1
SAP实施方法: 快速实施SAP
快速实施SAP Accelerated SAP ASAP SAP提供的执行解决方案。Accelerated SAP集成了几个组件,这几个组件联合工作以支持R/3 系统的快速有效的执行。

2
Change Management变革管理
变革管理(Change Management 指对用现行的计划和概念将企业转换成新的状况的渐进和不断变化的过程的管理。
3
.关键流程演示
关键流程演示(Conference Room PilotCRP SAP实施过程中,对关键业务流程在系统上进行实现演示,从而得到实施单位对实施SAP的初步认可。
四、SAP系统设置
1
.集团
集团(Client SAP系统中最高等级的组织单位,是由一个主数据库和建立一个完全集成系统所必须的所有表格组成的。
2
.公司代码
公司代码(Company Code 指一个独立的会计实体,拥有完整的会计帐套。是对外报送法定资产负债表和损益表的最小单位。
五、SAP开发工具
1
.高级业务应用程序
高级业务应用程序(Advanced Business Application ProgrammingABAP SAP公司开发的用于ReportsScreensInterfacesData conversions等多种应用程序设计的一种编程语言。R/3的所有应用程序甚至其BASIS系统的部分组件都是由ABAP开发的。它是图形化第四代编程语言。因此常被称为ABAP/4
六、系统应用
1
.关键用户
关键用户(Key User 指在ERP实施过程中,代表实施方提出业务需求,全程参与整个项目实施,负责对最终用户进行培训,及实施后的系统维护的人员。
2
.最终用户
最终用户(End user 指在ERP实施后,在ERP系统中进行凭证输入、报表查询等日常业务操作的系统使用人员。
3
.角色
角色(Role 指按照一定的权限执行相应的操作的个体。

 

Internet Technology Infrastructure Library

目前我国企业信息化建设还普遍存在IT服务管理较弱的问题,无论是大型企业还是中小型企业都缺乏有效的安全管理、事故管理、财务管理、问题管理、配置管理、变更管理、发布管理等内容,这就使信息化的投入充满了很大的不确定性,也使信息化效果难以控制。随着业务的不断扩展和信息化的持续深入,企业信息系统越来越复杂,业务对信息系统的依赖程度也越来越紧密,信息系统的任何波动,都会直接影响到业务的正常开展;信息系统如果崩溃,对于业务的影响将是致命的。

IT服务管理(ITSM)不同于传统的IT管理的最重要的特征在于,强调IT和业务需求的有效融合同时注重IT投入的成本和效益。从信息系统建设前来看,IT服务管理需要针对组织业务和客户的真实的可用性需求对IT基础架构配置进行合理的安排和设计,避免盲目的IT投资和重复建设;从信息系统运作以后来看,IT服务管理需要通过事件管理、问题管理等流程支持IT基础架构和组织业务的持续运作,保证IT资源的有效利用和业务运作的高可用性、高持续性和高安全性。IT服务管理将所有IT投入纳入统一核算,为考核IT服务的成本和效益提供了可靠的评价依据。

认识ITIL标准

ITIL是英国政府中央计算机与电信管理中心(CCTA)在20世纪90年代初期发布的一套IT服务管理最佳实践指南,旨在解决IT服务质量不佳的情况。

ITIL所强调的核心思想是应该从客户(业务)而不是IT 服务提供方(技术)的角度理解IT 服务需求。也就是说,在提供IT服务的时候,我们首先应该考虑业务需求,根据业务需求来确定IT需求。业务管理这个模块指导业务管理者以自己习惯的思维模式分析IT问题,深入了解IT基础架构支持业务流程的能力,以及IT服务管理在提供端到端IT 服务过程中的作用,以?助他们更好地处理与服务提供方之间的关系,帮助他们获得商业利益。

因此,IT服务管理的国标标准是ITIL,此标准是独立于任何厂商,基本与组织性质和业务性质无关,并且只总结IT服务管理领域最重要的实践部分。可以说ITIL只是IT服务管理实践的合理抽象,它仅明确指出应该做什么,但不讲如何做。当企业或其它组织具体实施ITIL时,就可以把标准具体化,建立自己的方法论。企业在运用内含着质量管理思想的ITIL所提供的流程和最佳实践进行内部IT服务管理时,不仅可以提供用户满意的服务从而改善客户体验,还可以确保这个过程符合成本效益的规则。

ITIL与网管系统

目前的新一代网管系统不仅要对网络设备(包括路由器、交换机、安全产品、服务器与PC等)进行管理,通过一些技术指标和阀值来监控网络的运行状况;而且要采用Portal(门户)技术,整合企业?先存在的多套监控软件,实现一站式登录。通过Portal对于企业内不同角色提供所需内容(通过服务仪表盘),让领导和业务部门能够参与进来,更加了解其难度,增加双方的互相了解。新一代网管系统给客户提供了可视化监控与管理,让IT系统运行情况,一目了然,大大降低了技术门槛。新一代网管系统提倡ITIL,完全以实际情况和可操作的方式出发。新一代网管系统遵?ITIL,使企业能达到IT运维流程化、自动化和规范化。世界经理人CIO频道[http://cio.icxo.com]

新一代企业IT运维管理产品标准

在企业网络运维早期,IT运维管理侧重于网络、硬件等设备,随着市场竞争的加剧,越来越多的人意识到,提高用户满意度、降低运行成本、提高突发事件应对能力等的重要性,即更看重服务质量和效率。因此目前企业运维系统更加突出流程化、规范化。由于网络运维工作本身比较繁杂和琐碎,因此,在新一代企业IT运维管理平台的设计中,技术提供商首先要充分考虑作为运维人员的工具和助手,系统一定要好用、实用,能够减轻运维人员的日常工作压力。这就要求企业能够将这种设计?则体现在它们的产品线中,系统的功能日趋满足用户的个性化需求。

新一代网络运维管理产品体现了企业IT运维管理标准。以Broadview为例,Broadview运维服务方案由网络管理NCC、业务应用管理BCC、安全管理SCC、桌面管理DCC及集中运行管理COSS五大部分组成。它是一个完整的网络管理、系统管理、安全管理、IT基础环境管理、运行值班管理的管理解决方案,可以最大限度的保护网络的现有投资,并充分考虑到将来管理需求扩展。

Broadview IT运维平台解决方案是IT管理思想+系统工具的组合,它不仅是管理软件产品本身,而且还包括管理流程(Process)、管理规范 (Policy)、管理业务(Business), 并将管理流程、管理规范、管理业务贯彻到软件产品中去的实施办法。

ITIL运维流程管理模式

ITIL在网络管理中的体现目前主要有以下几个方面。

服务台

作为用户与IT部门的惟一连接点,服务台能够确保用户找到帮助其解决问题和请求的相关人员。服务台不仅负责处理事故、问题和客户的询问,同时还为其它活动和流程提供接口。包括客户变更请求、维护合同、服务级别管理、配置管理、可用性管理和持续性管理等。

事件管理

所谓事件,是指数据中心IT运行维护范围内的所有与IT基础架构和应用相关的故障报告。这个流程是为了使业务部门和最终客户尽快回到正常工作状态而设计的。采用事件驱动模式,所关心的是对事件的响应速度和和尽快恢复业务的运作。

问题管理

在尚未查明事故产生的?因前,事故所对应的潜在?因被称为问题。问题管理强调的是找出事故产生的根源,从而制定恰当的解决方案或防止其再次发生的预防措施。问题管理的主要目标是找到用户IT系统所存在的问题、防止事件发生,提升帮助台/事件管理的一线事件/故障解决率,提升企业整体的服务质量和客户的满意度。

变更管理

变更是指IT环境的各要素(如网络基础设施、主机及操作系统、数据库和应用软件等)的变动和更改的一切活动。变更管理是指从变更请求的处理、变更的批准、变更的准备、变更的实施、变更实施后的确认或拒绝、恢复管理、变更的控制和跟踪、发布变更结果,到最终形成变更管理报告的一系列管理过程和活动。变更管理的主要目的是为了保证所有的生产环境变化内容都?过评估和记录,从而控制风险。

日常作业管理

日常作业管理是指对生产系统的日常运行维护工作进行管理,是信息系统运维的一些周期性的、相对固定的日常维护作业的管理。其主要目的是规范日常作业计划、规范日常作业内容、规范维护人员的维护行为、为人员考核提供基础数据。

知识库管理

系统建设的目的不仅仅是规范、记录、督促、自动化管理工作,而且要帮助各级支持人员提高技能水平,简化IT服务任务。同时也是降低对具体某个个人依赖的手段。这些需要通过知识?验的积累和共享来完成。

世界“五大”咨询公司是哪些

IBM咨询,收购原普华永道咨询公司(Pricewaterhousecoopers)

普华永道是全球最具规模的专业服务机构。在全球一百四十二个国家拥有超过十二万五千名专业人士。普华永道融合他们所具备的渊博知识与丰富经验,以最高的职业操守为客户提供高质量的服务。普华永道为PricewaterhouseCoopers国际网络成员公司。每一家国际网络成员公司都是独立运作的法律实体。组成了具有丰富行业知识和经验的多面手队伍,并和在下列行业中的客户一起工作:能源和矿产、消费品和工业产品、电信、信息、媒介及娱乐、金融业和服务业。2002年7月IBM以35亿美元的代价收购普华永道咨询公司.

凯捷安永咨询(CAP GEMINI ERNST&YOUNG),由原来的安永咨询与欧洲IT巨头凯捷公司合并组成

凯捷集团创建于1967年,是全球最著名的管理咨询,技术和外包服务的供应商之一。凯捷以自己独特的方式与客户进行协作,将其称之为协同管理关系。基于对互利双赢和由此产生的企业价值增长的郑重承诺,凯捷为企业帮助企业制定发展战略,并提供相应的技术支持。凯捷在34个国家拥有55000名员工,在专业服务领域中位居世界前三名,并已在巴黎证券交易所挂牌,荣列CAC40, Euronext 100, Dow Jones STOXX 和 DowJones Euro STOXX indices。为充分发挥咨询和技术资源的优势,凯捷目前的组织涉及五大战略业务部(或称为SBU):三个地理部(北美、北欧和亚太、中欧和南欧),一个欧洲外包部和一个本地专业服务部。凯捷于1996年登陆中国。随着业务的发展,自2002年起,凯捷总部将中国作为其在亚太地区的重点业务发展区域。目前,在上海、北京、广州、香港和台北等地均设有分公司和办事处。凯捷拥有一流咨询顾问团队,具备全球领先的业务知识和丰富深入的本地经验,为中国的本土企业和跨国企业提供全面的管理咨询、技术和外包服务



毕博咨询(Bearingpoint),即原来的毕马威咨询(KPMG)

全球最大的管理咨询公司和系统集成商之一,2001年2,与毕马威会计师事务所脱离,成为全球五大会计师事务所中第一家从母公司脱离并成功上市的管理咨询公司。1997-2001年,业绩年增长率为32%,年收入近30亿美元。2002年5月,成功并购原安达信企业咨询业务,成为目前中国最大的管理咨询公司。2002年10月,由KPMG Consulting 更名为Bearing Point,中文名为毕博。

德勤咨询(Deloitte)

德勤企业管理咨询公司是世界上处于领先地位和发展最快的咨询公司之一。在过去的四年中平均以30%的速度增长,2000年全球营业额达50亿美元,拥有28600多名员工。

德勤咨询面向大型企业,政府机构和跨国公司,为客户的发展提供包括战略规划、公司运营,流程优化、信息化管理和人力资源管理在内的全方位服务。德勤咨询的业务跨越七大行业?C能源、公共事业、制造业、通信、消费品行业、金融和医疗保健。

埃森哲咨询(Accenture)

埃森哲(Accenture)是全球领先的管理及信息技术咨询机构,2003财政年度纯收入达118亿美元。拥有约95,000多名员工,在全球48个国家和地区设有110多家分支机构。埃森哲一向以出众的领导能力、成功决心、专业服务和质量承诺在客户中享有盛誉。《财富》100强中的86家、《财富》500强中超过半数都是我们的客户。而且在前100名客户中,有80多家连续5年都是埃森哲的长期客户。埃森哲通过企业策略、业务流程、信息技术和人员组织的紧密结合,帮助企业实现具有深远意义的变革,提高企业的绩效水平。通过联盟、协作及其竞争力,不断增强自身咨询及外包能力,努力拓展公司的业务服务网络,有效帮助各行各业客户迅速实现其经营目标。在新的经济时代里,埃森哲竭力在管理咨询、信息技术、经营外包、企业联盟等业务领域为客户提供卓越的专业化服务。

2008/7/24

换手机号码了

今天晚上就要去上海了,以前的手机号码停机了,这几天暂时使用13117812577这个号码,到了昆山再换吧,同志们我要消失几天咯,拜拜

微软中国研发集团背后的故事:从3个人到1700人

阅读提示:小小的微软中国研究院做大成了微软中国研发集团,下辖由各领域顶尖人才汇聚而成的微软亚洲研究院、微软亚洲工程院和微软亚洲硬件中心等8家研发机构,员工队伍也由3人迅速膨胀到了1700人,研究经费从0到2亿美元。

10年前,比尔·盖茨把研究院落址北京,他实际上是在把微软和中国绑在一起。只是无人预见到这一点。

10年来,微软一直在对中国做着投入,但它被过多的争议和杂音所掩盖。

现在,微软和中国软件产业已经达成共识:微软的发展离不开中国;微软的成功,也必须依附于中国软件产业的成功。从这个角度来看,微软中国研发集团从创立到做大做强,及至目前成为微软在海外最具实力的技术和产品研发基地,这是中国和微软的共同所需。

然而,在此期间,我们不能忘记,李开复、张亚勤、张宏江、沈向洋和洪小文等当年和现在的领军人物,是他们带领着微软在中国的研发事业,在10年中从研究到开发,再到带动中国软件行业的飞速发展。

中国“智”造,惠及全球。回顾10年,他们是如何运用中国智慧?又是如何解决困难并取得辉煌的?

还需要指出的是,比尔·盖茨已于6月27日正式退出微软公司日常管理。在此,借以表达我们对这位为全球软件产业作出杰出贡献,推动中国软件产业飞速发展的软件天才的崇高敬意。

1997年12月12日,一贯宁静的清华大学教室,热闹非凡。比尔·盖茨看着台下数千名大学生,思绪万千:此间英才,应归我用。

在回美国的飞机上,盖茨作了最终决定,从印度、日本、中国等国家中,选择在中国设立微软研究院,投资8000万美元。此前,他一直在反复权衡研究院落址三国的利与弊。

10年匆匆过去。回头来看,在飞机上作出的这笔投资换回的巨大回报让习惯于成功的盖茨惊讶:小小的微软中国研究院做大成了微软中国研发集团(以下简称“集团”),下辖由各领域顶尖人才汇聚而成的微软亚洲研究院、微软亚洲工程院和微软亚洲硬件中心等8家研发机构,员工队伍也由3人迅速膨胀到了1700人,研究经费从0到2亿美元。

论规模和实力,集团成为微软在美国之外规模最大、实力最强的研发团体。Vista Office 2007、Windows Mobile 6.0、Windows Server 2008、Visual Studio 2008、SQL Server 2008等众多为全球用户使用的产品和Microsoft surface等技术背后,都闪烁着来自中国研发团队的智慧。

中国“智”造开始真正惠及全球。

第一章 让比尔·盖茨惊叹

德蒙德,微软公司总部二楼的董事长办公室里。

阳光透过玻璃窗照在时任微软中国研究院院长、首席科学家张亚勤博士的脸上,这位以理性和智慧著称的天才正意气风发,向老板盖茨汇报研究院一年来的成绩。

80余篇论文、40项美国专利、60项新技术……一串串不俗的数字让同为天才的盖茨也惊呆了,他已经忘记这个汇报原定时间只有一个小时。虽然老板的助手在一旁屡次催促,张亚勤的汇报仍延迟了四十分钟。最后,这位微软公司的创始人给出的评价是:“你们做了令人难以置信和惊异的工作。”

中国 创业

盖茨在中国建研究院的大胆抉择与已在美国的一帮华人精英的想法不谋而合。

张亚勤,山西太原人,12岁进入中国科技大学少年班,毕业后直接去了美国。1998年,年轻的张亚勤已经在美国东部的Sarnoff公司担任多媒体实验室的主任,带领一个团队负责数码影像、多媒体网络、多媒体信息系统等领域的研发工作。此时张亚勤的生活稳定,事业有成,但他总觉得缺点什么。

1998年10月的一天,张亚勤接到了李开复博士邀请他回国的电话。李开复说:“中国从来没有世界级的研究院,我们回去创业,创造历史。”突然间,张亚勤意识到他缺少什么了。那就是:中国,创业!

爱好围棋、喜欢布局的张亚勤没有问研究院具体有多少资金、将要做什么项目,没有考虑回国后的生活待遇、孩子上学等现实问题。几分钟沉默后,他断然作出决定:加入微软,回国创业。

随后,张亚勤很快就想到一个人。而此人当时正在惠普实验室忙于多媒体检索。

他就是张宏江博士,湖北武汉人,成长于河南,文革后中国的首批大学生,先后在丹麦、新加坡、美国取得非凡成就。1994年,他提出的“目录式搜索”解决了视频搜索的难题,成为该领域的“世界第一人”。

在海外华人圈中,“回国”是一份大家都难以割舍的情结,其中,研究人员最大的顾虑是回国后有没有很好的研究平台,能不能发挥自己的才能?张宏江向《IT时代周刊》回忆说,如果精打细算来考虑生活条件和工资待遇,那结论肯定是不回来。甚至,连他生活在国内的父母都不赞成他回来。但在两个月后,在硅谷的一次会议上与张亚勤见面后,对方仅用四个字就打动了张宏江。张亚勤说的是:中国,创业!

被这四个字打动的不止张宏江。在著名的贝尔实验室,毕业于纽约理工大学的朱文武博士已经在那里做了三年的研究员,在视频通信领域颇有建树,前途无量。1999年6月,他接到张亚勤的电话,在听到同样的四个字后,他义无返顾地辞了工作。1999年10月,朱文武回到北京。

沈向洋博士、李劲博士、张益肇博士和周明博士等十几位在各自领域已成名人的年轻学者,在李开复和张亚勤的带动下,带着尖端技术回到国内,他们要在祖国实现当科学家的梦想。

扎根中关村

1998年末,中国硅谷——中关村处在热火朝天的大建设时期,到处都是工地,空气中漂浮着灰尘,机器轰鸣声不绝于耳。

微软中国研究院正式选址在距离北京各高校都比较近的中关村希格玛大厦五层。租来的楼层尚未装修完毕,张亚勤时常和同事跑到还是粗砂水泥地板、灰白墙面的空旷办公室里,兴奋又认真地比划着未来:“这里是大家讨论的地方,这里可以作为我们的实验室,这里是办公室,那边留给实习生……”

带着激情和梦想,首批回国的微软华人精英开始了他们的创业。

由于都是老本行,研究院的工作渐渐步入正轨。1999年末,张宏江成立了第二个项目小组,研究多媒体数据管理和搜索,进一步完善了研究院在多媒体领域的研究。

研究院中的“本土”研究员和实习生也快速成长,到2000年6月底,他们已经在全球最优秀的学术刊物和会议上发表了80余篇论文;在网络协议领域,申请注册了40项美国专利;做出了60项新技术;并已有8项成熟技术转化到微软产品部门中。

奇迹还在延续。世界多媒体大会是该领域最权威的会议,每年只会从全球500篇优秀论文中选出最优秀的45篇进行演讲。在1998年前,几乎没有来自中国本土的学者出现在大会上。但在2003年,研究院的论文占到大会的一半。“这个数字让人恐怖。”张宏江有点得意地说。

研究院在国际上的名声越来越大。日本、新加坡等国家也都希望拥有类似机构,但这并不现实。

2001年夏天,张亚勤给盖茨写了一份E-mail提到这个问题,希望能够把中国研究院升级为亚洲研究院,以便把研究院的影响范围再扩大一些,也更方便与各国高校建立起学术交流合作。2001年11月1日,在得到盖茨和鲍尔默的极力支持后,微软中国研究院升级为微软亚洲研究院,这标志着中国人的IT智慧将走出国门,辐射亚洲和全球。

 

第二章 创立微软亚洲工程院

2003年,微软总部的一间小会议室里,张亚勤又和老板坐到了一起。此时的他满面通红,像个二十来岁的小伙子一样激动,他正在和CEO史蒂夫·鲍尔默阐述自己的新设想——设立微软亚洲工程院。

早在回国创业时,张亚勤、张宏江等人就有一个远大的目标:依靠中国人才,建立一个世界一流的研发团队。但苦于缺乏人才和经验,一开始他们只能建立有研究无开发的研究院。即便如此,在研究院成立时,这些创始人还是定下了一个硬规定,将创新技术转化为产品开发应当重点考虑。

2003年下半年,张亚勤和张宏江等人达成一致:是做产品开发的时候了。大家说干就干。

几天之后,张亚勤将全部观点系统化,通过电子邮件发给负责全球研究院工作的高级副总裁里克·雷斯特。张亚勤着重谈论了自己从1999年开始在国内多所大学作演讲时的感受:“没有一次少于千人,每次都会收到许多有意思有水平的问题。”他还特别强调,如果只开设研究院,微软只能得到中国人丰富智慧中极其微小的一部分。

此外,张亚勤还为这个新孵化的机构设立了四个目标:加速研究技术到产品的转化,开发面向全球用户的产品;开发满足中国市场用户需求的全新技术和产品;孵化在中国创造的技术再推广到其他新兴市场; 成为在中国培养大型软件工程开发工程师的“黄埔军校”。

看到张亚勤的描述,雷斯特震动了,错过中国优秀的人力资源将是微软的损失,更是自己工作的过失。兹事体大,他直接将报告转给了盖茨和鲍尔默。于是有了前述鲍尔默约见张亚勤的一幕。

微软公司的CEO对这位中国下属表现得完全相信。最后,老板这样对下属说的:“我完全同意在中国成立工程院的想法。只要有能力,你招多少人我都批。”

鲍尔默的话不多,但意义重大,这是微软历史上是第一次对海外分公司充分予以人事权。这让张亚勤感到热血在上涌。

2003年11月,在微软亚洲研究院成立5周年之际,微软在中国的研发进入第二阶段。作为里程碑的标志,微软亚洲工程院在北京中关村成立。

挖美国总部的墙脚

但是,微软亚洲工程院的开局并不好。

2004年1月,在张亚勤的办公室里,气氛沉闷。办公室的人一脸凝重地看着张宏江:“今后就靠你了。”身材高大的张宏江没说什么,用手拍了拍胸口,算是对老同事兼老朋友的承诺。

此前不久,张亚勤获得升迁调令,回雷德蒙德当微软全球副总裁。

一力承担起工程院院长责任后,张宏江发现这里最缺乏的就是人。没有人,一切免谈。

工程院朝气蓬勃,雷厉风行。他们开始了大规模的人才招聘。当时,已有十多个新项目和产品开发列入日程,短时间内便需将人员备齐。但工程院还没有人事部门,新员工必须依靠张宏江等人慧眼识才,他们在5个月里,跑11个城市,收取了1万多份简历,然后从中挑选百来人。

这可苦了长年跟技术打交道的学者们。“不说别的,从1万份简历中挑选出合适人选,就要十几个人没日没夜的忙好几天,何况还有好几轮面试!”张宏江回忆说,“当时整个工程院的人员都是满负荷运行,白天面试,晚上总结讨论并下通知,许多员工连续三个月没有休假,也没有睡个饱觉。”“这主要是创业激情在支撑着我们!”张宏江这样总结。

不过,当时的中国软件业虽然发展迅速,但尚未积累出太多有丰富大型软件项目开发经验的中高级人才,国内大多数开发人员只能把单个程序写好,却不懂怎样调用程序。

对于工程院来讲,底层的开发人员和统领全局的项目管理人员,一个都不能少。要让工程院名副其实,统领全局的骨干力量必不可少。上哪找这样的人?张宏江将眼光投向了雷德蒙德,他要去总部“挖墙脚”。他知道那里有3000多名杰出的华人研究员。太有诱惑力。

2004年初,美国微软总部来了一群怪人。在每次内部讲座中,别人讲技术发展或者IT行业形势,这群人却是张口即夸中国有多好,改革开放以来中国取得了哪些成就,在中国工作前景多光明等等。这让许多员工感到奇怪,什么时候请中国政府的人参加讲座了。

当然,这些人并不代表中国政府,他们都是工程院的员工,他们这样做是吸引更多华人和与中国有关系的同事加盟。

“墙脚”很快被挖了来。

参加过近十个微软产品开发的萧圣璇、郭蓓菁回来了;有着近二十年软件架构开发经验的架构师Sin Lew回来了;在微软总部被当作未来高管培养的芮勇也回来了。先是中国人,再是“老外”Robert Parker也来了。他是Powerpoint的领军人物之一,参加过Office7个版本的研发。像这样被吸引的人很多,如集团战略合作部资深总监申元庆、集团人力资源部总监毛丹妮,工程院创意总监Dave Vronay。根据张宏江统计,5年间工程院前后吸引了100多名员工从美国来到中国。

有了这些海外来的骨干,工程院的发展一日千里。

娶了中国媳妇的Dave Vronay来自南加州,习惯了北京生活的他现在早上喜欢吃油条,被同事们戏称为KTV“麦霸”。他还清楚地记得,他刚加入工程院时招了一批绘画方面的员工,这些人来时都十分骄傲,认为设计软件界面是小菜一碟,他们瞧不起这个老外稍微画个图就四处征询他人意见的做法。Dave并未说什么,他只希望用事实来帮助这帮小年轻们转变观念。

不久,工程院接到专为五星级酒店开发桌面电脑操作系统的项目,由Dave团队设计操作界面。一些新员工未作调查,一味从奢华上做文章,想当然地用水晶、大理石等华丽、昂贵的元素设计了一个十分豪华的界面。结果却是,宾馆方面需要低调和干净的界面。在Dave的言传身教下,新员工意识到软件界面设计也需要遵循市场需要。

类似的情形在各个项目组轮番上演,渐渐地,工程院的员工素质跟上了国际水平。

从求来项目到项目来求

在“找人”的同时,张宏江还必须“找项目”。

“这个项目能不能让我们做,我们一定会做好的。”张宏江多次缠着张亚勤要项目。此时张亚勤在微软总部负责的移动设备及嵌入式系统产品开发部门,子项目众多,也急需其他产品开发部门配合。但是,他也不敢过度相信刚把人员配齐的工程院,他不能给张宏江“开绿灯”,而总是说:“你去找下面的项目经理吧。”于是,张宏江去找项目经理,对方的回答是:中国团队还没有经验,项目不敢交给你们。

这是2004年上半年张宏江经常遇到的尴尬一幕。并不服输的他为此在半年多时间内不停飞赴美国总部,向众多产品部门推销自己,这让很多人都听到过他富有激情的游说:“我们有中国最顶尖学校的最优秀的人才,这些人才是从一万个人中挑选出来的几十个。”遗憾的是,产品经理们还是选择了观望。

几个月后,张亚勤管理的一个产品开发部门在一个手机摄像头软件项目上出现问题,进度被耽搁,微软许多有实力的项目组都不敢接这一“烫手山芋”。就在该项目的经理准备采用别的公司的技术之时,张亚勤想到了工程院。

张亚勤将实情告诉了张宏江,张宏江没有犹豫,拍着胸脯说“行”,接下了工程院第一个核心项目。

当时负责这个项目的经理张益肇回忆道,手机摄像头软件半年后就要发布,张宏江切断了所有退路,工作人员争分夺秒地进入紧张开发状态。白天自己开发,晚上等到美国同事上班后,他们或继续工作,或在家里用电话跟美国同事沟通。“十一”假期、农历春节都没有休息。最终,工程院团队交出了一份满意的答卷,证明了“中国团队的技术实力和开发决心并不差”的事实。

工程院在微软总部一战成名。此后,找上门来的项目慢慢增多,许多产品部门希望与他们合作,进而提出做新项目的要求。张宏江终于不用去美国“推销”了,他只需端坐在北京,从众多合作意向中挑选适合工程院长期发展战略的项目。

有了项目的“供养”,工程院的人数成长迅速,到2008年初已经达到了400人。据介绍,等集团总部大楼建好,员工的数量将增至700人。

在研究院、工程院接连成功的鼓舞下,微软增加了在中国投资的信心。后来的服务器产品部门采取了更加直接的办法。

2005年2月,出身于上海的谢恩伟(现任微软中国研发集团服务器及开发工具事业部(中国)总经理)带着四五百万美元的种子基金,三名经理级别的员工和两个项目回国,直接在上海投资建立服务器产品开发部门。经过三年的发展,微软服务器很多核心功能在中国上海完成了开发。

今年3月12日,微软的新一代服务器操作系统、开发工具和数据库服务器产品发布会在北京体育馆召开,暖场的音乐居然是二胡和京剧。微软希望借这种氛围传递出明确的信号:产品背后有浓重的中国元素。

高速公路上换轮胎

中国研发集团在磨炼中逐步走向成熟,一些不曾预料到的问题开始显现出来。

2005年10月,一位被张宏江看好的员工提出辞职。张觉得十分奇怪,微软的待遇不错,前景光明,为什么要辞职?在交流中,张了解到,该员工认为微软是挺不错的,但是将近做了3年,名片上印的还是开发工程师,至今还是个普通的开发人员,而他的同学在其他公司已经是产品经理等“头头”了,他觉得自己在微软“前途”渺茫。

这让张宏江大吃一惊。他趁机和人力资源部做了个调查,结果让人心情沉重。

工程院里不少员工都认为发展路线就是成为团队领导,然后成为部门领导甚至院领导,否则就是职业生涯的失败。几乎没有多少人认识到从普通的开发人员做到资深架构师也是一种职业发展途径。

然而,无论是做基础研究,还是做产品开发,无论是有3年、5年经验的年轻技术员,还是几十年经验的资深技术人员,都是一个项目组中不可或缺的部分。但如果员工人人思“官”,对于一个研发机构来说,前途可想而知。这个问题必须解决。

张宏江认为首先要使大家对技术开发产生浓厚的兴趣,而不是视开发经验为“官位”的垫脚石。他想到了两条对策。

首先,让榜样现身说法。张宏江利用各种机会请总部资历丰富的开发人员和软件架构师来工程院做讲座,把技术开发的乐趣讲出来。同时引入了微软特有的 Mentor (导师)“传帮带”企业文化。

所谓Mentor,是指每个新员工都可以找一个老员工做领路人,两人定期交流,传承对技术开发的兴趣,以让新员工尽快进入状态。如张亚勤的Mentor就曾是盖茨。

另一个方法是举办专为激发开发人员技术创新的大赛。比赛期间,任何员工都可以通过专业人士的帮助把一个创新的想法变成可以展示的技术提案。经过投票、评审,有市场前景且可能实现的方案,工程院就会采纳并加以实施。

这两种办法的效果如何,很难有精确的办法统计。但是,毛丹妮和她的人力资源团队为研发集团带来的全方位的人事培养体系有效改变了一些根深蒂固的“官本位”思想。

2006年初,在雷德蒙德专门负责招聘的微软副总裁级别的毛丹妮,应张亚勤等人之邀来到中国。当知道面临的困难后,她所做的第一件事就是员工调查。她发现,大部分员工加入微软的首要理由是觉得这里有很好的职业发展前景。针对这一点,毛丹妮带领同事立刻开展工作,让大家感觉到公司将他们的期待放在第一位。接下来,工程院开展了各种各样的培训,数量之多无法统计。但这些培训都有一条基本原则:对每一位员工都要有促进。

第二步,毛丹妮带领人力资源部对所有员工做了职业发展计划。让员工选择未来的发展道路,然后再告诉员工,如果选择这一发展道路的话必须付出哪些努力,在哪些方面做提升。这让大家对职业发展有了更清晰的认识——原来自己不适合做“官”。

员工的心思渐渐稳定下来。从2006年至今,微软在中国的研发部门人员从500人增加到了1700人,离职率远远低于业内平均水平。对此,毛丹妮形象地比喻说:“我们成功地在高速行驶中更换了轮胎。”

随着规模的扩大、实力的增强,2006年1月18日,张亚勤再次回国,将微软亚洲研究院、微软亚洲工程院以及一些产品研发部门整合成微软中国研发集团。自此,中国成了微软海外最大的研发基地。

第三章 中国“智”造

2007年4月19日,清华大学,盖茨身穿庄重的博士服,郑重承诺:“微软公司愿意帮助中国公司的成长,帮助所有的中国公民享受到计算机科学进步所带来的成果。”他所说的远远不是微软已经捐资设立了五所希望小学和五所网上希望小学等教育机构。在微软中国研发集团的带动下,微软在中国的影响越来越大。

在张亚勤的意识里,只有为中国市场设计产品,带动了中国IT行业的发展,微软在中国的研发才算成功。

中国发明

手机做主机,电视做屏幕,接上鼠标和键盘,就具有了PC功能,可以去互联网上冲浪,也可以看电影、听音乐。这个具有手机外形,功能远超手机的产品叫Fone+,是地道的“中国发明”,也是第一个以发展中国家为主要市场的微软产品。

中国有2亿互联网用户,6亿手机用户,如果可以针对他们开发产品,向发展中国家的市场推广,将对微软有重大意义。Fone+因此应运而生。在中国农村市场,愿意付费买PC的人并不一定多,但买附带简单PC功能的手机,他们可能会很乐意。

来中国两年,工程院产品策划经理刘伟瀚对中国市场的结构特点颇有心得,他从一个不受市场欢迎的技术中得到了新的启发,根据中国手机用户的使用习惯设计在手机上实现与“群”沟通的功能。这项技术已经与三星展开合作,并应用在今年5月21日推出的三星i728 Windows Mobile智能手机中。

目前,工程院的孵化组已经从十个项目中成功“孵”出了两个产品,而医疗和教育领域的孵化工作成为工程院进军新兴市场的“重点”,分别由微软的两位“精兵强将”郭蓓菁和芮勇担任工程总监。

清华大学研究生毕业后就出国的芮勇,对孵化与教育相关的产品具有很大的激情。他的主要任务就是把微软技术与中国教育相结合,孵化出这一市场空白的产品。

负责医疗领域的工程总监郭蓓菁外表看不像软件工程师,更像一个艺术家。她穿着鲜艳,是以灰色为主色调的研发机构中的一道风景。同事们佩服的是她十分干练。

郭蓓菁领导着一支三十多人的团队,他们经常出入中国的大小各类医院,寻找技术和医疗需求的集合点。对于计划中的针对农村市场的远程医疗产品,或个人医疗健康管理的产品,她开玩笑地说,“希望能早点把产品孵化出来,从工程院‘毕业’。”

微软给的不仅是钱

“这样绝对不行!”

2006年5月,集团战略合作部资深总监申元庆直接将下属递交的计划书扔到垃圾桶里。这是一份关于召开外包CEO峰会的计划书,计划花8万元在一个五星级饭店,用半天时间举办。但是,申元庆认为,匆匆的半天会议不能起什么作用,微软需要与中国的外包企业作深入研讨。

申元庆大笔一挥,会议经费增加到10万美元,时间定为2天1夜,他还特别将会议地点选到手机信号不好的长城脚下的公社酒店,以便与会者少受外界干扰。大会的第一天大雾弥漫,就这样,神州数码的CEO郭为、浪潮的CEO孙丕恕等17家国内著名外包公司的头头悉数到场,会议成果和效率远超策划预期。

不过,在交往中,申元庆注意到中国外包企业存在明显弱点。比如,中国外包企业对自己的实力以及微软的项目都不够了解,为了拿到微软的外包项目,他们会不加分析地就说“好”。但如果同样的谈判发生在印度,印度公司会非常清楚地告诉微软,项目会怎么进展,在哪个阶段可能遇到怎样的困难或者需要的帮助。

于是,申元庆改变了角色,他不厌其烦地教导国内软件业的谈判代表该怎么做,该如何对项目核心了解得更深刻,如何分工,如何操作等细节。对此,许多外包企业代表都笑称他是“身在曹营心在汉”。

作为微软在国内的首家战略合作伙伴,中软国际就从中获益颇丰。中软国际高级副总裁孙秀芳在回忆自己与微软的合作经历时,告诉《IT时代周刊》:“我们跟微软的合作,得到的不仅仅是钱。”

现在,中软国际与微软的合作项目中,派驻开发和自己内部开发大约是3:7。而且,中软国际的工作人员可以与微软员工一起参加培训,把培训对方的录像带录下来反复使用。公司内部还建起了经过微软认证的软件开发办公区,有微软的安全保障措施。

此外,为了更好地与中国软件外包企业打成一片,从2007年开始,微软中国研发集团开始举办 “中国商务交流日”,让国内公司的管理者到微软总部“推销自己”。“作为发包的‘甲方’,微软组织我们去美国总部推介自己实属少有。”孙秀芳为微软的诚意所感动。

通过一系列的举措,微软带动了中国软件生态圈的发展。近期,张亚勤在大连参加软交会时给出最新数据,2007年,微软给中国软件公司的外包金额高达1亿美元。另据IDC的数据,微软在中国赚1美元,合作伙伴赚16美元,整个IT行业的1/3的收入及1/3的就业岗位是由微软及其生态圈创造的。

不仅外包企业,连中关村都能从微软身上受益。中关村科技园区管理委员会副主任夏颖奇就谈起一件逸事:有一位在IT行业举足轻重的跨国公司老总来中关村参观,当他听说微软在这里设立了研发中心时,脸立刻沉下来,直接质问随从:“微软都选择了这里,为什么我们没来?”随后不久,这家公司就进驻了中关村。“微软提升了中关村的价值。”夏颖奇说。

优秀是卓越的敌人

2008年5月6日,在隆重的仪式中,微软中国研发集团在北京中关村举行了集团总部大楼的奠基仪式。这个即将落成的大楼在海龙大厦的电子大卖场附近,搬材料器械的小工四处乱闯,一切都看上去是乱糟糟的。为什么要将未来微软5000人的“家”安置在这里?张亚勤说:“我们仍在创业,这里充满了活力,有创业的氛围。”

十年建立起微软海外最大的研发基地,拥有1700名中国最好的人才,年研发经费超过2亿美元,参与微软最核心的项目,多次被盖茨、鲍尔默等领导赞扬……但是张亚勤并未满足。

优秀是卓越的敌人,这是张亚勤经常挂在嘴上提醒自己和员工的。虽然现在微软中国研发集团各方面都很优秀,但是离世界一流研发团队的目标还有很长的路要走。

盖茨和鲍尔默衡量微软中国研发集团成绩有三个指标:第一是不是雇到了一流的人才;第二是不是有很强的创新能力,真的是成为微软创新的源泉;第三是到底对产业生态系统、中国作出了多少贡献。根据这个,微软中国研发集团的职能被张亚勤用RIDE来概括,R是研究(Research),I是孵化(Incubation),D是发展(Development),E是产业合作(Ecosystem)。

毛丹妮透露,她来到中国的时候,微软中国研发总共只有500人,张亚勤就明确地告诉她,她的任务就是3年内招3000人。这意味着,在接下来的一年内,毛丹尼还要招1300人。

“我们还在创业。”面对窗外冉冉升起的太阳,张亚勤十分严肃。

2008/7/23

工信部机构调整 通信、互联网融合成发展方向

在我国信息产业中拥有重要地位的软件产业以及互联网产业明确了管理司局。“软件服务业司”为全新设置的部门,工信部表示,新成立的软件服务业司,涉及今后发展的重点。

工业和信息化部(下称“工信部”)的“三定”方案上周正式获批。关于各司局长的任命,工信部有关发言人昨天接受《第一财经日报》采访时表示:“一切正按计划稳步推进。”按照工信部部长李毅中在7月2日全国电视电话会议上的讲话,人员到位工作要在7月底之前全部完成。工信部发言人表示,实际工作内容要比预计中多得多。

  值得注意的是,根据新的机构设置,工信部对各行业的划分和指导得到进一步明确——轻工、纺织、食品、医药、家电等的行业管理工作都由消费品工业司负责,互联网的建设与公用通信网及专用通信网的建设则统一归通信发展司管理。这符合机构设置原则,之前李毅中曾对工信部职能划分提出要求:确定各司局职责时基本划清工作界面,尽量做到“一事一司”,避免交叉不清。

软件业明确主管单位

  工信部表示,根据履行职责的需要,确定内设司局24个,其中综合司局10个,工业行业管理为主的专业司局5个,履行国防工业管理相关职能的司局1个:军民结合推进司,信息产业行业管理、信息化推进司局8个。

在我国信息产业中拥有重要地位的软件产业以及互联网产业明确了管理司局。“软件服务业司”为全新设置的部门,工信部表示,新成立的软件服务业司,涉及今后发展的重点。

  根据规划,软件服务业司负责:指导软件业发展;拟订并组织实施软件、系统集成及服务的技术规范和标准;推动软件公共服务体系建设;推进软件服务外包;指导、协调信息安全技术开发。

通信、互联网融合成产业发展方向

  根据工信部的机构设置,互联网产业的发展,首次明确了主管司局。互联网的建设与公用通信网以及专用通信网的建设统一归通信发展司管理。

  此外,互联网域名、地址等资源的管理及国际协调由电信管理局管理。互联网网络信息安全平台以及网络环境和信息治理则由通信保障局管理。

  值得注意的是,通信行业仍是工信部的重要职责范围。设立专门的电信管理司局是今年两会期间,包括广东移动总经理徐龙、河南网通总经理沈明才等人大代表的共同提议。这次机构设置中,通信发展司、电信管理局以及通信保障局均与通信行业的监管和指导有关。

  三个司局分别主要负责通信行业的建设、行业政策制定以及通信网络安全。工信部表示,设立通信发展司,目的是强化通信业管理;设立通信保障局,加强了网络信息安全监管。

  此外,还有信息化推进司负责协调推动跨行业、跨部门的互联互通;促进电信、广播电视和计算机网络融合。“三网融合”的发展方向得到进一步强调和明确。

  此次改制中,原信息产业部在31个省、自治区、直辖市设置的通信管理局保留,划给工业和信息化部,实行垂直管理,行政编制500名。

2008/7/21

ASP.NET中常用的26个优化性能方法

1. 数据库访问性能优化 
数据库的连接和关闭
访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能。因此,在建立数据库连接后只有在真正需要操作时才打开连接,使用完毕后马上关闭,从而尽量减少数据库连接打开的时间,避免出现超出连接限制的情况。   
使用存储过程  
存储过程是存储在服务器上的一组预编译的SQL语句,类似于DOS系统中的批处理文件。存储过程具有对数据库立即访问的功能,信息处理极为迅速。使用存储过程可以避免对命令的多次编译,在执行一次后其执行规划就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制代码即可。另外,存储过程在服务器端运行,独立于ASP.NET程序,便于修改,最重要的是它可以减少数据库操作语句在网络中的传输。
优化查询语句
ASP.NET中ADO连接消耗的资源相当大,SQL语句运行的时间越长,占用系统资源的时间也越长。因此,尽量使用优化过的SQL语句以减少执行时间。比如,不在查询语句中包含子查询语句,充分利用索引等。   
2. 字符串操作性能优化 
使用值类型的ToString方法
在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中分配一个新的对象,原有的值复制到新创建的对象中。使用值类型的ToString方法可以避免装箱操作,从而提高应用程序性能。   
运用StringBuilder类   
String类对象是不可改变的,对于String对象的重新赋值在本质上是重新创建了一个String对象并将新值赋予该对象,其方法ToString对性能的提高并非很显著。在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的对象,而是通过Append,Remove,Insert等方法直接对字符串进行操作,通过ToString方法返回操作结果。   其定义及操作语句如下所示:
int num;   System.Text.StringBuilder str = new System.Text.StringBuilder(); //创建字符串   str.Append(num.ToString()); //添加数值num   Response.Write(str.ToString); //显示操作结果

3. 优化 Web 服务器计算机和特定应用程序的配置文件以符合您的特定需要
默认情况下,ASP.NET 配置被设置成启用最广泛的功能并尽量适应最常见的方案。因此,应用程序开发人员可以根据应用程序所使用的功能,优化和更改其中的某些配置,以提高应用程序的性能。下面的列表是您应该考虑的一些选项。
仅对需要的应用程序启用身份验证。
默认情况下,身份验证模式为 Windows,或集成 NTLM。大多数情况下,对于需要身份验证的应用程序,最好在 Machine.config 文件中禁用身份验证,并在 Web.config 文件中启用身份验证。根据适当的请求和响应编码设置来配置应用程序。ASP.NET 默认编码格式为 UTF-8。如果您的应用程序为严格的 ASCII,请配置应用程序使用 ASCII 以获得稍许的性能提高。
考虑对应用程序禁用 AutoEventWireup。
在 Machine.config 文件中将 AutoEventWireup 属性设置为 false,意味着页面不将方法名与事件进行匹配和将两者挂钩(例如 Page_Load)。如果页面开发人员要使用这些事件,需要在基类中重写这些方法(例如,需要为页面加载事件重写 Page.OnLoad,而不是使用 Page_Load 方法)。如果禁用 AutoEventWireup,页面将通过将事件连接留给页面作者而不是自动执行它,获得稍许的性能提升。
从请求处理管线中移除不用的模块。
默认情况下,服务器计算机的 Machine.config 文件中 节点的所有功能均保留为激活。根据应用程序所使用的功能,您可以从请求管线中移除不用的模块以获得稍许的性能提升。检查每个模块及其功能,并按您的需要自定义它。例如,如果您在应用程序中不使用会话状态和输出缓存,则可以从 列表中移除它们,以便请求在不执行其他有意义的处理时,不必执行每个模块的进入和离开代码。
4. 一定要禁用调试模式  
在部署生产应用程序或进行任何性能测量之前,始终记住禁用调试模式。如果启用了调试模式,应用程序的性能可能受到非常大的影响。   
5. 对于广泛依赖外部资源的应用程序,请考虑在多处理器计算机上启用网络园艺  
ASP.NET 进程模型帮助启用多处理器计算机上的可缩放性,将工作分发给多个进程(每个CPU一个),并且每个进程都将处理器关系设置为其 CPU。此技术称为网络园艺。如果应用程序使用较慢的数据库服务器或调用具有外部依赖项的 COM 对象(这里只是提及两种可能性),则为您的应用程序启用网络园艺是有益的。但是,在决定启用网络园艺之前,您应该测试应用程序在网络园中的执行情况。   
6. 只要可能,就缓存数据和页输出  
ASP.NET 提供了一些简单的机制,它们会在不需要为每个页请求动态计算页输出或数据时缓存这些页输出或数据。另外,通过设计要进行缓存的页和数据请求(特别是在站点中预期将有较大通讯量的区域),可以优化这些页的性能。与 .NET Framework 的任何 Web 窗体功能相比,适当地使用缓存可以更好的提高站点的性能,有时这种提高是超数量级的。使用 ASP.NET 缓存机制有两点需要注意。首先,不要缓存太多项。缓存每个项均有开销,特别是在内存使用方面。不要缓存容易重新计算和很少使用的项。其次,给缓存的项分配的有效期不要太短。很快到期的项会导致缓存中不必要的周转,并且经常导致更多的代码清除和垃圾回收工作。若关心此问题,请监视与 ASP.NET Applications 性能对象关联的 Cache Total Turnover Rate 性能计数器。高周转率可能说明存在问题,特别是当项在到期前被移除时。这也称作内存压力。
7. 选择适合页面或应用程序的数据查看机制  
根据您选择在 Web 窗体页显示数据的方式,在便利和性能之间常常存在着重要的权衡。例如,DataGrid Web 服务器控件可能是一种显示数据的方便快捷的方法,但就性能而言它的开销常常是最大的。在某些简单的情况下,您通过生成适当的 HTML 自己呈现数据可能很有效,但是自定义和浏览器定向会很快抵销所获得的额外功效。Repeater Web 服务器控件是便利和性能的折衷。它高效、可自定义且可编程。   
8. 将 SqlDataReader 类用于快速只进数据游标  
SqlDataReader 类提供了一种读取从 SQL Server 数据库检索的只进数据流的方法。如果当创建 ASP.NET 应用程序时出现允许您使用它的情况,则 SqlDataReader 类提供比 DataSet 类更高的性能。情况之所以这样,是因为 SqlDataReader 使用 SQL Server 的本机网络数据传输格式从数据库连接直接读取数据。另外,SqlDataReader 类实现 IEnumerable 接口,该接口也允许您将数据绑定到服务器控件。有关更多信息,请参见 SqlDataReader 类。有关 ASP.NET 如何访问数据的信息,请参见通过 ASP.NET 访问数据。   
9. 将 SQL Server 存储过程用于数据访问  
在 .NET Framework 提供的所有数据访问方法中,基于 SQL Server 的数据访问是生成高性能、可缩放 Web 应用程序的推荐选择。使用托管 SQL Server 提供程序时,可通过使用编译的存储过程而不是特殊查询获得额外的性能提高。   
10. 避免单线程单元 (STA) COM 组件  
默认情况下,ASP.NET 不允许任何 STA COM 组件在页面内运行。若要运行它们,必须在 .aspx 文件内将 ASPCompat=true 属性包含在 @ Page 指令中。这样就将执行用的线程池切换到 STA 线程池,而且使 HttpContext 和其他内置对象可用于 COM 对象。前者也是一种性能优化,因为它避免了将多线程单元 (MTA) 封送到 STA 线程的任何调用。使用 STA COM 组件可能大大损害性能,应尽量避免。若必须使用 STA COM 组件,如在任何 interop 方案中,则应在执行期间进行大量调用并在每次调用期间发送尽可能多的信息。另外,小心不要在构造页面期间创建任何 STA COM 组件。例如下面的代码中,在页面构造时将实例化由某个线程创建的 MySTAComponent,而该线程并不是将运行页面的 STA 线程。这可能对性能有不利影响,因为要构造页面就必须完成 MTA 和 STA 线程之间的封送处理。
<%@ Page Language="VB" ASPCompat="true" %>Dim myComp as new MySTAComponent() Public Sub Page_Load() myComp.Name = "Bob" End Sub <% Response.Write(myComp.SayHello) %>
首选机制是推迟对象的创建,直到以后在 STA 线程下执行上述代码,如下面的例子所示。
<%@ Page Language="VB" ASPCompat="true" %>Dim myComp Public Sub Page_Load() myComp = new MySTAComponent() myComp.Name = "Bob" End Sub <% Response.Write(myComp.SayHello) %>
推荐的做法是在需要时或者在 Page_Load 方法中构造任何 COM 组件和外部资源。永远不要将任何 STA COM 组件存储在可以由构造它的线程以外的其他线程访问的共享资源里。这类资源包括像缓存和会话状态这样的资源。即使 STA 线程调用 STA COM 组件,也只有构造此 STA COM 组件的线程能够实际为该调用服务,而这要求封送处理对创建者线程的调用。此封送处理可能产生重大的性能损失和可伸缩性问题。在这种情况下,请研究一下使 COM 组件成为 MTA COM 组件的可能性,或者更好的办法是迁移代码以使对象成为托管对象。   
11. 将调用密集型的 COM 组件迁移到托管代码  
.NET Framework 提供了一个简单的方法与传统的 COM 组件进行交互。其优点是可以在保留现有投资的同时利用新的平台。但是在某些情况下,保留旧组件的性能开销使得将组件迁移到托管代码是值得的。每一情况都是不一样的,决定是否需要迁移组件的最好方法是对 Web 站点运行性能测量。建议您研究一下如何将需要大量调用以进行交互的任何COM 组件迁移到托管代码。许多情况下不可能将旧式组件迁移到托管代码,特别是在最初迁移 Web 应用程序时。在这种情况下,最大的性能障碍之一是将数据从非托管环境封送到托管环境。因此,在交互操作中,请在任何一端执行尽可能多的任务,然后进行一个大调用而不是一系列小调用。例如,公共语言运行库中的所有字符串都是 Unicode 的,所以应在调用托管代码之前将组件中的所有字符串转换成 Unicode 格式。另外,一处理完任何 COM 对象或本机资源就释放它们。这样,其他请求就能够使用它们,并且最大限度地减少了因稍后请求垃圾回收器释放它们所引起的性能问题。   
12. 在 Visual Basic .NET 或 JScript. 代码中使用早期绑定  
以往,开发人员喜欢使用 Visual Basic、VBScript. 和 JScript. 的原因之一就是它们所谓“无类型”的性质。变量不需要显式类型声明,并能够简单地通过使用来创建它们。当从一个类型到另一个类型进行分配时,转换将自动执行。不过,这种便利会大大损害应用程序的性能。Visual Basic 现在通过使用 Option Strict 编译器指令来支持类型安全编程。为了向后兼容,默认情况下,ASP.NET 不启用该选项。但是,为了得到最佳性能,强烈建议在页中启用该选项。若要启用 Option Strict,请将 Strict 属性包括在 @ Page 指令中,或者,对于用户控件,请将该属性包括在 @ Control 指令中。下面的示例演示了如何设置该属性,并进行了四个变量调用以显示使用该属性是如何导致编译器错误的。
<%@ Page Language="VB" Strict="true" %><% Dim B Dim C As String ' This will cause a compiler error. A = "Hello" ' This will cause a compiler error. B = "World" ' This will not cause a compiler error. C = "!!!!!!" ' But this will cause a compiler error. C = 0 %>JScript. .NET 也支持无类型编程,但它不提供强制早期绑定的编译器指令。若发生下面任何一种情况,则变量是晚期绑定的:被显式声明为 Object,是无类型声明的类的字段,是无显式类型声明的专用函数或方法成员,并且无法从其使用推断出类型。   最后一个差别比较复杂,因为如果 JScript. .NET 编译器可以根据变量的使用情况推断出类型,它就会进行优化。在下面的示例中,变量 A 是早期绑定的,但变量 B 是晚期绑定的。
var A;   var B;   A = "Hello";   B = "World";   B = 0; 为了获得最佳的性能,当声明 JScript. .NET 变量时,请为其分配一个类型。例如,var A : String。
13. 使请求管线内的所有模块尽可能高效  
请求管线内的所有模块在每次请求中都有机会被运行。因此,当请求进入和离开模块时快速地触发代码至关重要,特别是在不使用模块功能的代码路径里。分别在使用及不使用模块和配置文件时执行吞吐量测试,对确定这些方法的执行速度非常有用。
14. 使用 HttpServerUtility.Transfer 方法在同一应用程序的页面间重定向  
采用 Server.Transfer 语法,在页面中使用该方法可避免不必要的客户端重定向。
15. 必要时调整应用程序每个辅助进程的线程数  
ASP.NET 的请求结构试图在执行请求的线程数和可用资源之间达到一种平衡。已知一个使用足够 CPU 功率的应用程序,该结构将根据可用于请求的 CPU 功率,来决定允许同时执行的请求数。这项技术称作线程门控。但是在某些条件下,线程门控算法不是很有效。通过使用与 ASP.NET Applications 性能对象关联的 Pipeline Instance Count 性能计数器,可以在 PerfMon 中监视线程门控。当页面调用外部资源,如数据库访问或 XML Web services 请求时,页面请求通常停止并释放 CPU。如果某个请求正在等待被处理,并且线程池中有一个线程是自由的,那么这个正在等待的请求将开始被处理。遗憾的是,有时这可能导致 Web 服务器上存在大量同时处理的请求和许多正在等待的线程,而它们对服务器性能有不利影响。通常,如果门控因子是外部资源的响应时间,则让过多请求等待资源,对 Web 服务器的吞吐量并无帮助。为缓和这种情况,可以通过更改 Machine.config 配置文件节点的 maxWorkerThreads 和 maxIOThreads 属性,手动设置进程中的线程数限制。   
注意:辅助线程是用来处理 ASP.NET 请求的,而 IO 线程则是用于为来自文件、数据库或 XML Web services 的数据提供服务的。分配给这些属性的值是进程中每个 CPU 每类线程的最大数目。对于双处理器计算机,最大数是设置值的两倍。对于四处理器计算机,最大值是设置值的四倍。无论如何,对于有四个或八个 CPU 的计算机,最好更改默认值。对于有一个或两个处理器的计算机,默认值就可以,但对于有更多处理器的计算机的性能,进程中有一百或两百个线程则弊大于利。注意进程中有太多线程往往会降低服务器的速度,因为额外的上下文交换导致操作系统将 CPU 周期花在维护线程而不是处理请求上。   
16. 适当地使用公共语言运行库的垃圾回收器和自动内存管理  
小心不要给每个请求分配过多内存,因为这样垃圾回收器将必须更频繁地进行更多的工作。另外,不要让不必要的指针指向对象,因为它们将使对象保持活动状态,并且应尽量避免含 Finalize 方法的对象,因为它们在后面会导致更多的工作。特别是在 Finalize 调用中永远不要释放资源,因为资源在被垃圾回收器回收之前可能一直消耗着内存。最后这个问题经常会对 Web 服务器环境的性能造成毁灭性的打击,因为在等待 Finalize 运行时,很容易耗尽某个特定的资源。   
17. 如果有大型 Web 应用程序,可考虑执行预批编译  
每当发生对目录的第一次请求时都会执行批编译。如果目录中的页面没有被分析并编译,此功能会成批分析并编译目录中的所有页面,以便更好地利用磁盘和内存。如果这需要很长时间,则将快速分析并编译单个页面,以便请求能被处理。此功能带给 ASP.NET 性能上的好处,因为它将许多页面编译为单个程序集。从已加载的程序集访问一页比每页加载新的程序集要快。批编译的缺点在于:如果服务器接收到许多对尚未编译的页面的请求,那么当 Web 服务器分析并编译它们时,性能可能较差。为解决这个问题,可以执行预批编译。为此,只需在应用程序激活之前向它请求一个页面,无论哪页均可。然后,当用户首次访问您的站点时,页面及其程序集将已被编译。没有简单的机制可以知道批编译何时发生。需一直等到 CPU 空闲或者没有更多的编译器进程(例如 csc.exe(C# 编译器)或 vbc.exe(Visual Basic 编译器))启动。还应尽量避免更改应用程序的 \bin 目录中的程序集。更改页面会导致重新分析和编译该页,而替换 \bin 目录中的程序集则会导致完全重新批编译该目录。在包含许多页面的大规模站点上,更好的办法可能是根据计划替换页面或程序集的频繁程度来设计不同的目录结构。不常更改的页面可以存储在同一目录中并在特定的时间进行预批编译。经常更改的页面应在它们自己的目录中(每个目录最多几百页)以便快速编译。Web 应用程序可以包含许多子目录。批编译发生在目录级,而不是应用程序级。
18. 不要依赖代码中的异常  
因为异常大大地降低性能,所以您不应该将它们用作控制正常程序流程的方式。如果有可能检测到代码中可能导致异常的状态,请执行这种操作。不要在处理该状态之前捕获异常本身。常见的方案包括:检查 null,分配给将分析为数字值的 String 一个值,或在应用数学运算前检查特定值。下面的示例演示可能导致异常的代码以及测试是否存在某种状态的代码。两者产生相同的结果。
 try   {   result = 100 / num;   }   catch (Exception e)   {   result = 0;   }   // ...to this.   if (num != 0)   result = 100 / num;   else   result = 0;
19. 使用 HttpResponse.Write 方法进行字符串串联
该方法提供非常有效的缓冲和连接服务。但是,如果您正在执行广泛的连接,请使用多个 Response.Write 调用。下面示例中显示的技术比用对 Response.Write 方法的单个调用连接字符串更快。
Response.Write("a");   Response.Write(myString);   Response.Write("b");   Response.Write(myObj.ToString());   Response.Write("c");   Response.Write(myString2);   Response.Write("d");

20. 除非有特殊的原因要关闭缓冲,否则使其保持打开
禁用 Web 窗体页的缓冲会导致大量的性能开销。   
21. 只在必要时保存服务器控件视图状态  
自动视图状态管理是服务器控件的功能,该功能使服务器控件可以在往返过程上重新填充它们的属性值(您不需要编写任何代码)。但是,因为服务器控件的视图状态在隐藏的窗体字段中往返于服务器,所以该功能确实会对性能产生影响。您应该知道在哪些情况下视图状态会有所帮助,在哪些情况下它影响页的性能。例如,如果您将服务器控件绑定到每个往返过程上的数据,则将用从数据绑定操作获得的新值替换保存的视图状态。在这种情况下,禁用视图状态可以节省处理时间。默认情况下,为所有服务器控件启用视图状态。若要禁用视图状态,请将控件的EnableViewState 属性设置为 false,如下面的 DataGrid 服务器控件示例所示。
您还可以使用 @ Page 指令禁用整个页的视图状态。当您不从页回发到服务器时,这将十分有用:
<%@ Page EnableViewState="false" %>
注意:@ Control 指令中也支持 EnableViewState 属性,该指令允许您控制是否为用户控件启用视图状态。若要分析页上服务器控件使用的视图状态的数量,请(通过将 trace="true" 属性包括在 @ Page 指令中)启用该页的跟踪并查看 Control Hierarchy 表的 Viewstate 列。有关跟踪和如何启用它的信息,请参见 ASP.NET 跟踪。
22. 避免到服务器的不必要的往返过程  
虽然您很可能希望尽量多地使用 Web 窗体页框架的那些节省时间和代码的功能,但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。通常,只有在检索或存储数据时,您才需要启动到服务器的往返过程。多数数据操作可在这些往返过程间的客户端上进行。例如,从 HTML 窗体验证用户输入经常可在数据提交到服务器之前在客户端进行。通常,如果不需要将信息传递到服务器以将其存储在数据库中,那么您不应该编写导致往返过程的代码。如果您开发自定义服务器控件,请考虑让它们为支持 ECMAScript. 的浏览器呈现客户端代码。通过以这种方式使用服务器控件,您可以显著地减少信息被不必要的发送到 Web 服务器的次数。
使用 Page.IsPostBack 避免对往返过程执行不必要的处理
如果您编写处理服务器控件回发处理的代码,有时可能需要在首次请求页时执行其他代码,而不是当用户发送包含在该页中的 HTML 窗体时执行的代码。根据该页是否是响应服务器控件事件生成的。
使用 Page.IsPostBack 属性有条件地执行代码
例如,下面的代码演示如何创建数据库连接和命令,该命令在首次请求该页时将数据绑定到 DataGrid 服务器控件。
void Page_Load(Object sender, EventArgs e)   {   // Set up a connection and command here.   if (!Page.IsPostBack)   {   String query = "select * from Authors where FirstName like '%JUSTIN%'";   myCommand.Fill(ds, "Authors");   myDataGrid.DataBind();   }   }
由于每次请求时都执行 Page_Load 事件,上述代码检查 IsPostBack 属性是否设置为 false。如果是,则执行代码。如果该属性设置为 true,则不执行代码。注意 如果不运行这种检查,回发页的行为将不更改。Page_Load 事件的代码在执行服务器控件事件之前执行,但只有服务器控件事件的结果才可能在输出页上呈现。如果不运行该检查,仍将为 Page_Load 事件和该页上的任何服务器控件事件执行处理。   
23. 当不使用会话状态时禁用它  
并不是所有的应用程序或页都需要针对于具体用户的会话状态,您应该对任何不需要会话状态的应用程序或页禁用会话状态。   若要禁用页的会话状态,请将 @ Page 指令中的 EnableSessionState 属性设置为 false。例如:
<%@ Page EnableSessi %>注意:如果页需要访问会话变量,但不打算创建或修改它们,则将@ Page 指令中的 EnableSessionState 属性设置为ReadOnly。还可以禁用 XML Web services 方法的会话状态。有关更多信息,请参见使用 ASP.NET 和 XML Web services 客户端创建的 XML Web services。若要禁用应用程序的会话状态,请在应用程序 Web.config 文件的 sessionstate 配置节中将 mode 属性设置为 off。例如:
24. 仔细选择会话状态提供程序  
ASP.NET 为存储应用程序的会话数据提供了三种不同的方法:进程内会话状态、作为 Windows 服务的进程外会话状态和 SQL Server 数据库中的进程外会话状态。每种方法都有自己的优点,但进程内会话状态是迄今为止速度最快的解决方案。如果只在会话状态中存储少量易失数据,则建议您使用进程内提供程序。进程外解决方案主要用于跨多个处理器或多个计算机缩放应用程序,或者用于服务器或进程重新启动时不能丢失数据的情况。有关更多信息,请参见 ASP.NET 状态管理。   
25. 不使用不必要的Server Control
ASP.net中,大量的服务器端控件方便了程序开发,但也可能带来性能的损失,因为用户每操作一次服务器端控件,就产生一次与服务器端的往返过程。因此,非必要,应当少使用Server Control。   
26. ASP.NET应用程序性能测试  
在对ASP.NET应用程序进行性能测试之前,应确保应用程序没有错误,而且功能正确。具体的性能测试可以采用以下工具进行:Web Application Strees Tool (WAS)是Microsoft发布的一个免费测试工具,可以从http://webtool.rte.microsoft.com/上下载。它可以模拟成百上千个用户同时对web应用程序进行访问请求,在服务器上形成流量负载,从而达到测试的目的,可以生成平均TTFB、平均TTLB等性能汇总报告。Application Center Test (ACT) 是一个测试工具,附带于Visual Studio.NET的企业版中,是Microsoft正式支持的web应用程序测试工具。它能够直观地生成图表结果,功能比WAS多,但不具备多个客户机同时测试的能力。服务器操作系统"管理工具"中的"性能"计数器,可以对服务器进行监测以了解应用程序性能。   
结论:
对于网站开发人员来说,在编写ASP.NET应用程序时注意性能问题,养成良好的习惯,提高应用程序性能,至少可以推迟必需的硬件升级,降低网站的成本。

2008/7/20

网络常用命令

当你打开浏览器,自由地游弋于浩如烟海的互联网世界之时,是否也沉迷于下载各种实用软件?其中也许有很大一部分就是网络工具吧!但请你不要忽视你的面前——Windows(包括Win98和NT)作系统中本来就带有不少的网络实用工具,虽然比较简单,却并不简陋。本着“简单就是美”的原则,下面就为你展现Windows网络实用工具的丰采……

Ping

  Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,你就可以推断TCP/IP参数是否设置得正确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。

  简单的说,Ping就是一个测试程序,如果Ping运行正确,你大体上就可以排除网络访问层、网卡、MODEM的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。但由于可以自定义所发数据报的大小及无休止的高速发送,Ping也被某些别有用心的人作为DDOS(拒绝服务攻击)的工具,前段时间Yahoo就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量Ping数据报而瘫痪的。

  按照缺省设置,Windows上运行的Ping命令发送4个ICMP(网间控制报文协议)回送请求,每个32字节数据,如果一切正常,你应能得到4个回送应答。

  Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。Ping还能显示TTL(Time To Live存在时间)值,你可以通过TTL值推算一下数据包已经通过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要通过9个路由器网段(128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。

通过Ping检测网络故障的典型次序

  正常情况下,当你使用Ping命令来查找问题所在或检验网络运行情况时,你需要使用许多Ping命令,如果所有都运行正确,你就可以相信基本的连通性和配置参数没有问题;如果某些Ping命令出现运行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:

ping 127.0.0.1--这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。如果没有做到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。

ping 本机IP--这个命令被送到你计算机所配置的IP地址,你的计算机始终都应该对该Ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。

ping 局域网内其他IP--这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将IP地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。

ping 网关IP--这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。

ping 远程IP--如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。

ping localhost--localhost是个作系统的网络保留名,它是127.0.0.1的别名,每太计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/Windows/host)中存在问题。

ping www.yahoo.com--对这个域名执行Pin ... 地址,通常是通过DNS 服务器 如果这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障(对于拨号上网用户,某些ISP已经不需要设置DNS服务器了)。顺便说一句:你也可以利用该命令实现域名对IP地址的转换功能。

  如果上面所列出的所有Ping命令都能正常运行,那么你对你的计算机进行本地和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。

Ping命令的常用参数选项
ping IP -t--连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。
ping IP -l 2000--指定Ping命令中的数据长度为2000字节,而不是缺省的32字节。
ping IP -n--执行特定次数的Ping命令。

Netstat   

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

如果你的计算机有时候接受到的数据报会导致出错数据删除或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。

netstat 的一些常用选项:

netstat -s--本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

netstat -e--本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。

netstat -r--本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。

netstat -a--本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

netstat -n--显示所有已建立的有效连接。

Netstat的妙用

  经常上网的人一般都使用ICQ的,不知道你有没有被一些讨厌的人骚扰得不敢上线,想投诉却又不知从和下手?其实,你只要知道对方的IP,就可以向他所属的ISP投诉了。但怎样才能通过ICQ知道对方的IP呢?如果对方在设置ICQ时选择了不显示IP地址,那你是无法在信息栏中看到的。其实,你只需要通过Netstat就可以很方便的做到这一点:当他通过ICQ或其他的工具与你相连时(例如你给他发一条ICQ信息或他给你发一条信息),你立刻在DOS Prompt下输入netstat -n或netstat -a就可以看到对方上网时所用的IP或ISP域名了。甚至连所用Port都完全暴露了,如果你想给他一些教训,这些信息已经足够……

IPConfig

  IPConfig实用程序和它的等价图形用户界面——Windows 95/98中的WinIPCfg可用于显示当前的TCP/IP配置的设置值。这些信息一般用来检验人工配置的TCP/IP设置是否正确。但是,如果你的计算机和所在的局域网使用了动态主机配置协议(Dynamic Host Configuration Protocol,DHCP--Windows NT下的一种把较少的IP地址分配给较多主机使用的协议,类似于拨号上网的动态IP分配),这个程序所显示的信息也许更加实用。这时,IPConfig可以让你了解你的计算机是否成功的租用到一个IP地址,如果租用到则可以了解它目前分配到的是什么地址。了解计算机当前的IP地址、子网掩码和缺省网关实际上是进行测试和故障分析的必要项目。

最常用的选项:

ipconfig--当使用IPConfig时不带任何参数选项,那么它为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值

ipconfig /all--当使用all选项时,IPConfig能为DNS和WINS服务器显示它已配置且所要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址(MAC)。如果IP地址是从DHCP服务器租用的,IPConfig将显示DHCP服务器的IP地址和租用地址预计失效的日期(有关DHCP服务器的相关内容请详见其他有关NT服务器的书籍或询问你的网管),其输出信息见图6的下半部分。

ipconfig /release和ipconfig /renew--这是两个附加选项,只能在向DHCP服务器租用其IP地址的计算机上起作用。如果你输入ipconfig /release,那么所有接口的租用IP地址便重新交付给DHCP服务器(归还IP地址)。如果你输入ipconfig /renew,那么本地计算机便设法与DHCP服务器取得联系,并租用一个IP地址。请注意,大多数情况下网卡将被重新赋予和以前所赋予的相同的IP地址。

  如果你使用的是Windows 95/98,那么你应该更习惯使用winipcfg而不是ipconfig,因为它是一个图形用户界面,而且所显示的信息与ipconfig相同,并且也提供发布和更新动态IP地址的选项 如果你购买了Windows NT Resource Kit(NT资源包),那么Windows NT也包含了一个图形替代界面,该实用程序的名字是wntipcfg,和Windows 95/98的winipcfg类似。

ARP(地址转换协议)

  ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址。实用arp命令,你能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用arp命令,也可以用人工方式输入静态的网卡物理/IP地址对,你可能会使用这种方式为缺省网关和本地服务器等常用主机进行这项作,有助于减少网络上的信息量。

  按照缺省设置,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。一旦高速缓存的项目被输入,它们就已经开始走向失效状态。例如,在Windows NT网络中,如果输入项目后不进一步使用,物理/IP地址对就会在2至10分钟内失效。因此,如果ARP高速缓存中项目很少或根本没有时,请不要奇怪,通过另一台计算机或路由器的ping命令即可添加。所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本机发送ping命令)。

常用命令选项:

arp -a或arp -g--用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARP高速缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。

arp -a IP--如果你有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项目。

arp -s IP 物理地址——你可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。

arp -d IP--使用本命令能够人工删除一个静态项目。

  看到这里,你也许已经有些累了……其实对于一般用户来说也已经足够——你可以用ipconfig和ping命令来查看自己的网络配置并判断是否正确、可以用netstat查看别人与你所建立的连接并找出ICQ使用者所隐藏的IP信息、可以用arp查看网卡的MAC地址——这些已足已让你丢掉菜鸟的头衔。如果你并不满足,那就“硬着头皮”(下面的内容可能有些枯燥)继续Follow me......

Tracert

  当数据报从你的计算机经过多个网关传送到目的地时,Tracert命令可以用来跟踪数据报使用的路由(路径)。该实用程序跟踪的路径是源计算机到目的地的一条路径,不能保证或认为数据报总遵循这个路径。如果你的配置使用DNS,那么你常常会从所产生的应答中得到城市、地址和常见通信公司的名字。Tracert是一个运行得比较慢的命令(如果你指定的目标地址比较远),每个路由器你大约需要给它15秒钟
  Tracert的使用很简单,只需要在tracert后面跟一个IP地址或URL,Tracert会进行相应的域名转换的。Tracert一般用来检测故障的位置,你可以用tracert IP在哪个环节上出了问题,虽然还是没有确定是什么问题,但它已经告诉了我们问题所在的地方,你也就可以很有把握的告诉别人——某某出了问题。

Route

  大多数主机一般都是驻留在只连接一台路由器的网段上。由于只有一台路由器,因此不存在使用哪一台路由器将数据报发表到远程计算机上去的问题,该路由器的IP地址可作为该网段上所有计算机的缺省网关来输入。

  但是,当网络上拥有两个或多个路由器时,你就不一定想只依赖缺省网关了。实际上你可能想让你的某些远程IP地址通过某个特定的路由器来传递,而其他的远程IP则通过另一个路由器来传递。

  在这种情况下,你需要相应的路由信息,这些信息储存在路由表中,每个主机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交换和动态更新路由器之间的路由表。但在有些情况下,必须人工将项目添加到路由器和主机上的路由表中。Route就是用来显示、人工添加和修改路由表项目的。

一般使用选项:

route print--本命令用于显示路由表中的当前项目,在单路由器网段上的输出结果如图12,由于用IP地址配置了网卡,因此所有的这些项目都是自动添加的。
route add--使用本命令,可以将信路由项目添加给路由表。例如,如果要设定一个到目的网络209.98.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器,器IP为202.96.123.5,子网掩码为255.255.255.224,那么你应该输入以下命令:

route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric 5

route change--你可以使用本命令来修改数据的传输路由,不过,你不能使用本命令来改变数据的目的地。下面这个例子可以将数据的路由改到另一个路由器,它采用一条包含3个网段的更直的路径:
route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric 3
route delete--使用本命令可以从路由表中删除路由。例如:route delete 209.98.32.33

NBTStat

  NBTStat(TCP/IP上的NetBIOS统计数据)实用程序用于提供关于关于NetBIOS的统计数据。运用NetBIOS,你可以查看本地计算机或远程计算机上的NetBIOS名字表格。

常用选项:

nbtstat -n--显示寄存在本地的名字和服务程序
nbtstat -c--本命令用于显示NetBIOS名字高速缓存的内容。NetBIOS名字高速缓存用于寸放与本计算机最近进行通信的其他计算机的NetBIOS名字和IP地址对。
nbtstat -r--本命令用于清除和重新加载NetBIOS名字高速缓存。
nbtstat -a IP--通过IP显示另一台计算机的物理地址和名字列表,你所显示的内容就像对方计算机自己运行nbtstat -n一样
nbtstat -s IP--显示实用其IP地址的另一台计算机的NetBIOS连接表。

Net

  Net命令有很多函数用于实用和核查计算机之间的NetBIOS连接。这里我只介绍最常用的两个:net view和net use。

net view UNC--运用此命令,你可以查看目标服务器上的共享点名字。任何局域网里的人都可以发出此命令,而且不需要提供用户ID或口令。UNC名字总是以\开头,后面跟随目标计算机的名字。例如,net view \\lx就是查看主机名为lx的计算机的共享点(见图15)。

net use 本地盘符 目标计算机共享点——本命令用于建立或取消到达特定共享点的映像驱动器的连接(如果需要,你必须提供用户ID或口令)。例如,你输入net use f: \lxmp3就是将映像驱动器F:连接到\lxmp3共享点上,今后你直接访问F:就可以访问\lxmp3共享点,这和你右击“我的电脑”选择映射网络驱动器类似。

2008/7/19

好读书

嘿嘿,最近苦日子到头了,告别项目迎来新生活!可以静下心来读好书了,哈哈

一本好书,就要把这本书当成你的恋人去对待,认真研读她的心声、倾听她的述说、理解她的内涵,然后你才能真正读懂她。

读书为了什么?这个问题曾经困扰过我,我也讨厌过读书,但是最终还是书本改变了我,让我爱上了读书。

有人认为读书为了赚钱,赚钱为了讨老婆,讨老婆为了生孩子,生孩子为了读书,转了一圈还是读书,那生活不是很没有意思了。

古人读书为了“修身齐家治国平天下”,首先读书为了提高自身修养,然后为了管理好自己的封地,上升到为了治理好国家,最后就是平定天下。我认为说得很有道理,读过书人的修养就是和没有读书的人不一样,“物以类聚人以群分”这句话是有实际意义的。

读书该怎么读?20多年来一直在探索,也有自己的看法。

我认为读书应该“好读书不求甚解”,什么意思呢?就是说读书要通其大意,不要逐字死扣,要领会全文的精髓。这样才叫会读书,才能读好书。

2008/7/12

Nehalem、X58、双固态硬盘系统展示

Intel近日在曼哈顿的一家酒店里再次展示了其Nehalem+X58系统,并搭配了自家研发的两块固态硬盘。由于Intel的限制,没有任何性能数据披露出来,只能欣赏一下现场照片。

Nehalem+X58系统被放置在一个Origen AE S21T HTPC机箱里,外部镶嵌了一块12.5寸、1280×800分辨率的触摸屏,专门用来显示Nehalem八个逻辑核心的使用情况。

Nehalem、X58、双固态硬盘系统展示

Nehalem、X58、双固态硬盘系统展示

Nehalem处理器使用的大型风扇来自Thermalright,不过即使大幅超频后也并不热,特别是在满载运行视频编码一段时间后,温度也没有超过室温,手指放在上边也不会烫着。

Nehalem、X58、双固态硬盘系统展示

由于Nehalem高端平台集成了三通道内存控制器,因此主板上插着三条DDR3内存。X58芯片组已经不再集成内存控制器,因此发热量有望得到降低。

Nehalem、X58、双固态硬盘系统展示

除了Nehalem和X58,系统里最引人注目的就是两块固态硬盘组成的RAID 0,从SATA II控制器到NAND闪存芯片都是Intel自家的产物。遗憾的是,Intel不允许透露任何性能数据,但可以确认的是性能相当惊艳,比如在按照时间和地理信息分类管理多达16GB的数码相片的时候,各种操作都能很流畅地完成。

Nehalem、X58、双固态硬盘系统展示

Nehalem、X58、双固态硬盘系统展示

Intel会在8月下旬的秋季IDF 2008上继续展示该系统。

2008/7/9

留恋。。。回忆。。。准备。。。未来。。。我来了!

把大学三年学习过的课程、成绩贴出来,回忆一下三年是怎样走过来的,学到了哪些知识,哪些课程学得好,哪些还需要努力。
大学给予了很多,不光是知识,还有朋友、人生阅历、工作经验。。。马上就要去凯捷实习了,对生活了三年的母校依依不舍。
我舍不得离开熟悉的校园,宽敞的教室、温馨的寝室、可爱的同学们,但是我还是要伸出我的双臂迎接我的未来,因为我的未来更加美好。数字跳跃的成绩单是我的过去,红线上扬的工资单将是我的将来!我准备好了,我来了!

开课学期

课程名称

总成绩 学分 学时 课程性质

课程类别

考试性质

2005-2006-1 大学英语 89 4 70 必修 通识课 正常考试
2005-2006-1 邓小平理论概论 94 2 62 必修 通识课 正常考试
2005-2006-1 法律基础 62 1.5 34 必修 通识课 正常考试
2005-2006-1 高等数学(I) 69 5 90 必修 通识课 正常考试
2005-2006-1 工程实践教学 87 1 70 必修 学科核心课 正常考试
2005-2006-1 计算机概论 85 3 48 必修 学科核心课 正常考试
2005-2006-1 军事理论 87 2 36 必修 通识课 正常考试
2005-2006-1 思想道德修养 89 1.5 36 必修 通识课 正常考试
2005-2006-1 体育 76 1 30 必修 通识课 正常考试
2005-2006-2 大学物理(Ⅱ) 83 4 64 必修 通识课 正常考试
2005-2006-2 大学英语 87 4 70 必修 通识课 正常考试
2005-2006-2 高等数学(I) 71 5 90 必修 通识课 正常考试
2005-2006-2 高级语言程序设计 82 4 80 必修 学科核心课 正常考试
2005-2006-2 工程实践教学 82 1 70 必修 学科核心课 正常考试
2005-2006-2 毛泽东思想概论 81 1.5 36 必修 通识课 正常考试
2005-2006-2 体育 78 1 30 必修 通识课 正常考试
2005-2006-2 物理实验(Ⅱ) 及格 1.5 46 必修 通识课 正常考试
2005-2006-2 线性代数 82 2 32 必修 学科核心课 正常考试
2005-2006-2 形势与政策 85 .5 10 必修 通识课 正常考试
2006-2007-1 大学英语 81 4 70 必修 通识课 正常考试
2006-2007-1 高级语言程序设计 86 3 48 必修 学科核心课 正常考试
2006-2007-1 工程实践教学 100 2 64 必修 学科核心课 正常考试
2006-2007-1 计算机体系结构 87 3 48 必修 学科核心课 正常考试
2006-2007-1 离散数学 82 3 48 必修 学科核心课 正常考试
2006-2007-1 马克思主义哲学原理 80 2 48 必修 通识课 正常考试
2006-2007-1 数据结构与算法 88 3.5 64 必修 学科核心课 正常考试
2006-2007-1 体育 60 1 30 必修 通识课 正常考试
2006-2007-2 操作系统与网络 90 6 96 必修 学科核心课 正常考试
2006-2007-2 概率论与数理统计 62 2 36 必修 学科核心课 正常考试
2006-2007-2 工程实践教学 91 2 60 必修 学科核心课 正常考试
2006-2007-2 计算机体系结构 96 3 48 必修 学科核心课 正常考试
2006-2007-2 马克思主义政治经济学原理 83 1.5 36 必修 通识课 正常考试
2006-2007-2 软件工程(一)(双语) 100 2.5 48 必修 学科核心课 正常考试
2006-2007-2 数据库原理 85 3.5 68 必修 学科核心课 正常考试
2006-2007-2 体育 83 1 30 必修 通识课 正常考试
2006-2007-2 英文写作与交流技巧 95 2 32 限选 选修课(指导性选修课) 正常考试
2006-2007-2 英语口语 80 2 32 限选 选修课(公共选修课) 正常考试
2006-2007-2 影视欣赏 82 2 32 限选 选修课(公共选修课) 正常考试
2007-2008-1 Linux 92 3 60 限选 选修课(指导性选修课) 正常考试
2007-2008-1 工程实践教学 81 2 64 必修 学科核心课 正常考试
2007-2008-1 日语 80 2 32 限选 选修课(公共选修课) 正常考试
2007-2008-1 软件工程(二) 94 6 128 必修 学科核心课 正常考试
2007-2008-1 软件工程英语 99 2 32 限选 选修课(公共选修课) 正常考试
2007-2008-1 实用软件测试 96 3 64 必修 选修课(指导性选修课) 正常考试
2007-2008-1 算法设计与分析 94 2.5 40 必修 学科核心课 正常考试
2007-2008-1 中间件技术 91 2 32 限选 选修课(指导性选修课) 正常考试
2007-2008-2 CMMI软件过程改进与评估 98 3 64 限选 选修课(公共选修课) 正常考试
2007-2008-2 Web开发技术 81 6 128 必修 学科核心课 正常考试
2007-2008-2 财务管理 80 2 32 限选 选修课(公共选修课) 正常考试
2007-2008-2 工程实践教学 86 2 64 必修 学科核心课 正常考试
2007-2008-2 软件工程(三) 98 2 32 必修 选修课(指导性选修课) 正常考试
2007-2008-2 软件配置管理 95 2 32 限选 选修课(公共选修课) 正常考试
2007-2008-2 软件体系结构 97 3 58 必修 学科核心课 正常考试
2007-2008-2 数据仓库与数据挖掘 90 2 48 限选 选修课(公共选修课) 正常考试

获得总学分:139 (必修:115 限选:24 院系任选:0 全校选修:0) 
所修总学时:2852  
课程总门数:54  
不及格门数:0

七月开发语言排行榜出炉 PowerShell有望成为年度黑马

        2008年7月份的开发语言排行榜已经出炉,前三甲的排名仍然没有变化,仍然由Java、C、C++牢牢占据,三者的流行比例分别是21.3%、15.9%和10.7%,Java和C++的流行度在缓慢上升,C的比例虽有所下降,但由于其在需要对系统以及硬件进行操作的开发上的效率和稳定性方面仍据优势,短时间内在三甲内的位置也不会被动摇。
值得注意的是,PowerShell(原开发代号Monad)排名突飞猛进,份额比去年同期上升0.44%,从20名外杀入排行榜前15名。作为微软在06年第四季度推出的一种新的命令行外壳和脚本语言,PowerShell主要用于进行系统管理和自动化,被认作是DOS下批处理语言的最佳承继者,已经逐渐显示出下一代脚本的潜力,极有可能在接下来的几年内成为Windows管理员最重要的语言。它建立在 .NET Framework 的基础上,全面支持Windows最新的服务器产品,包括SQL Server 2008、Windows Server 2008。
此外,Python作为一种面向对象的解释性程序设计语言,由于其简单、易学、免费、开源、高效率、可移植性好、可扩展性强等优良特性,也比去年同期份额上升1.95%,达到近5%的流行普及率。据说Google的核心代码部分就有很多是由Python开发的。
具体排名情况请见下图:
                                             
                                             
【关于TIOBE开发语言排行榜】
每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。流行的搜索引擎包括Google、MSN、Yahoo!和YouTube等。
该指数可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的。观察认为,该指数反应的虽并非当前最流行或应用最广的语言,但对世界范围内开发语言的走势仍具有重要参考意义。