SQL Server 2005之绝地任务

在浏览台湾微软主页时,不经意发现下面这个非常有意思的东东,共享一下,点击此处查看: 查看。另外,最新消息是:Windows Workflow Foundation已经发布面向Visual Studio 2005 RTM的测试版了,对工作感兴趣的朋友可以赶快去下载: http://www.windowsworkflow.net

可能大家已经听说了微软中国将在2005年12月2日发布Visual Studio 2005,SQL Server 2005以及BizTalk Server 2006,这次发布大会采用全球统一品牌,即Ready To Rock,所有参会人员均会感觉到摇滚的振撼,或者你可以在现场见到一些国内的摇滚明星。想提前体验吗?看看美国的现场吧: http://www.microsoft.com/windowsserversystem/applicationplatform/launch2005/keynote.mspx

ASP.NET 2.0 Tips(1):跨页提交

在ASP.NET 1.x的时候,很多朋友可能需要进行跨页提交的处理,也就是从页面A能够提交到页面B,甚至不同的Control其目标处理页面也各不相同。尤其是从ASP/JSP/PHP转过来的开发人员,可能更有这种需求。但很不幸,在ASP.NET 1.x的时候,处理这种跨页请求是十分丑陋的,需要非常多的“技巧化”处理。

在ASP.NET 2.0的时候,对于跨页提交已经有了非常合理的解决方案,以下就是一个示例。

SourcePage.aspx: 请注意Button1的PostBackUrl属性设置

<%...@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">... public string YourName ...{ get ...{ return this.TextBox1.Text; } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="请输入您的姓名" Width="183px"></asp:Label> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="提交" PostBackUrl="~/TargetPage.aspx" /></div> </form> </body> </html> TargetPage.aspx:请注意PreviousPageType的属性设置
<%...@ Page Language="C#" %>
<%...@ PreviousPageType VirtualPath="~/SourcePage.aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">... protected void Page_Load(object sender, EventArgs e) ...{ this.Label1.Text = PreviousPage.YourName; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" ></asp:Label> </div> </form> </body> </html>

OK,就通过这么简单的两个属性设置,就可以非常方便的得到跨页提交的特性。当然,您也可以根据您自己的需求,比如每个Control需要提交到不同的页面来进行更加复杂的设置。


 

Visual Studio Express Edition Beta 2 中文版正式发布

今天,微软正式发布了Visual Studio Express Edition Beta 2中文版。目前发布的版本如下:

1. Visual Basic Express Edtion Beta 2 中文版

安装文件http://download.microsoft.com/download/b/e/6/be660b65-3cdd-40fb-81cb-55144964e7cb/vbsetup.exe
镜像文件http://download.microsoft.com/download/9/b/2/9b2dffcd-0c60-45e7-8a4f-bcb9aa5e7a28/VB.img

2. Visual C# Express Edtion Beta 2 中文版

安装文件http://download.microsoft.com/download/e/5/e/e5e10cef-f7ae-4dc1-b1c9-2aca1accb36c/vcssetup.exe

镜像文件http://download.microsoft.com/download/a/a/2/aa2f6fe2-b8fd-4d22-ac25-6128620b8e33/VCS.img

3. Visual Web Developer Express Edtion Beta 2 中文版

安装文件http://download.microsoft.com/download/9/c/d/9cdbd3a4-81f7-4ff1-ad4c-b48f9ea99b83/vwdsetup.exe

镜像文件http://download.microsoft.com/download/7/c/3/7c3a85f1-349c-4078-8041-8b22c7baf8f7/VWD.img

另外,开心现在是Visual C# Express Edition Beta 2中文版的Owner,如果大家在使用Visual C# Express Edition Beta 2时遇到任何问题,可以在Welcome Letter中的联系信息与开心进行联系。

在注册后,您还会得到:

我们将授予您在线使用一本电子书籍(英文)的权利,以表示对您注册Visual C# 2005 Express Beta 2测试版的感谢:

·         书写安全的代码, 第二版 作者Michael Howard David LeBlanc

这些在线书籍可以在Microsoft My Learning找到。只需要拷贝访问代码 XXXX-NXXX-XXXX 并粘贴到访问代码文本框中,登录到Passport账户您将即刻享有对这些在线书籍的访问权。

注意:只需要输入一次访问代码。当您输入一次代码后,只需要直接访问My Learning page并登录到Passport账户,在线书籍将再次可供访问和使用。

MSF Agile Beta 汉化教程(二)

概览

那么什么是MSF Agile呢?MSF Agile就是一套为团队项目提供的流程指南,主要包括角色定义、行为定义、工作流程以及交付产品等概念。

每种软件过程方法理论都会包含角色定义,其实无论贵公司是否已经采用了特殊的方法理论,都会或多或少的有了一些角色定义。比如开发人员、项目经理以及测试人员。当然,在国内很多小型开发公司里面,这些人员的职责非常不清晰,划分也不明确,比如很多测试人员并没有特定的人员,而是谁有空由谁来担任,甚至有时候,开发人员来测试自己开发的代码,或者老板亲自上阵。在这种情况下,谁也无法保障交付产品的质量。所以我们需要比较严格的角色定义,并且规范其职责范围。

每种角色都有自己的职责范围,这些职责是由一个个行为所组成的。行为就是单个角色为完成项目的某个任务所需要执行步骤的指南。行为被组合起来就成为了工作流程

交付产品最明显的例子就是我们所要开发出来的软件产品,包含二进制文件以及源代码。但交付产品远远不止这些,还包括文档(如帮助文档以及需求文档等等),一般来说,在某种行为完成后,肯定都有相应的交付产品出现。所以说,交付产品是某种行为的产出物,同时,也有可能成为某种行为的必要条件。也就是说,必须有某些交付产品,才能够去进行这一行为

Team System提供了一套集成的工具,用以在项目开发当中贯彻以上所提到的这些指导方针。它可以完成的功能主要有:

  • 用户和组

所有的开发成员都会获得用户身份,这些用户身份属于一些用户组。这些我们可以为特定的组赋予特定的权限,从而实现角色的定义。注意:这些用户与组是建立在活动目录(Active Directory)的基础上的。

  • 工作项库

为项目所计划或者需要跟踪的所有事项都被存放在一个工作项数据库的地方。这个数据库当中的每个记录都称之为一个工作项工作项可以有不同的类型,如任务缺陷风险等。工作项可以用来确定每个工作、交付产品等的状态。这样每天每个人的工作量就可以很轻易得到确认。

  • 版本控制系统以及项目站点

原来的Visual Source Safe 6.0一直以来受到各种各样的质疑,比如对分支、合并的支持(其实VSS支持这些工作,只不过默认关闭),并且不支持TCP/IP,无法供异地合作的人使用,在新版的VSS 2005当中这些都已经得到了增强。但VSTS还提供了一个更加强大的版本控制系统,称之为Team Foundation source control 。该系统不仅可以管理源代码,还可以管理测试(代码、配置、结果等)以及模块等。另外,依托Windows SharePoint Service的强大功能,VSTS还提供了项目站点的功能,可以查阅各种项目目标文档、日程表以及各种与该项目开发相关的资源文档。当然,也提供了讨论组等功能。

在接下来的教程当中,我们将分别介绍MSF Agile当中的角色定义以及工作项的具体定义。

注:文中的粗体字均是英文中的术语的直译,为了提高本教程的写作进度,暂时不提供索引,感兴趣的朋友,可以阅读原英文文档。

 

 

 

MSF Agile Beta 汉化教程(一)

注:为了方便大家尽快了解如何利用Visual Studio Team System在自己的团队当中展开开发工作,本人现在开始进行MSF Agile Beta版文档的汉化工作,原始文档可以在http://lab.msdn.microsoft.com/teamsystem/workshop/msfagile/default.aspx中下载得到。限于本人水平,有些汉化可能并不达意,欢迎大家批评斧正。同时,如果您有意参与汉化,也请与我来信说明。

版权:本汉化文档欢迎转载,但请在转载的时候,请注意保证本文的完整性,注明英文文档地址,及汉化作者名称,及原始出处(以超链接方式给出,而不是仅仅提供站点名称)

特别注明:本文档并非单纯的汉化原英文文档,部分内容是开心的个人开发过程中的随想,欢迎斧正。

前言

在中国的法律建设当中,有一个十六字方针,相信上过高中政治课程的同志们都已经非常熟悉了,这就是“有法可依,有法必依,执法必严,违法必究”。其实,在团队开发当中,为了保障开发的正常进行,这十六字方针仍然适用。下面就一一进行解释:

  • 有法可依

  在团队开发当中,为了能够更加快速的交付客户所需要的质量稳定的软件产品,需要有一定的开发理论作为支撑,这就是软件开发过程当中的“法”。在业界,这种方法论并不缺少,比如著名的有:MSF(微软解决方案框架)、RUP(Rational统一过程理论)、XP(极限编程)等。

  • 有法必依

   有了这些软件过程的方法论,那么如何真正有效的贯彻实施?这就需要有工具来配合,使这些方法论真正能够贯彻在软件开发的各个环节中。其实,在大家的开发团队当中,这种工具已经或多或少的在使用了,比如开发环境:Visual Studio.NET,Borland C# Builder;版本管理工具:Visual SourceSafe,CVS; Bug管理工具;项目管理工具;测试工具等。

  • 执法必严

   但目前的工具在软件开发团队当中,并不是特别顺手,因为各个工具都独立存在,在功能上互相交叉,但又无法相互共享其结果。最终的结果是在开发当中造成严重脱节,软件团队成员之中怨声载道,项目也一再延期。可见,光是有工具是不行的,而且必须要有一个集成的工具,能够把各个环节能够统一出来,每个环节都可以量化管理,推动项目能够良性开发。

  • 违法必穷

       有了良好的工具及方法论,那么在公司里面也应该有相应的公司章程,开发团队绩效考核办法等绑定,从而确立整个团队开发的奖惩措施,更有效的发挥软件开发团队的潜力。

      大家知道,微软的MSF至今已经发展到3.0,是微软及微软合作伙伴在软件开发过程当中,根据自己的实践总结的一套方法理论。但MSF并不一定适合所有的ISV(独立软件开发商),所以在4.0推出时,我们将MSF分成两个版本,一个是软量级的:MSF Agile,适合绝大部分开发团队使用;另外一个是MSF Complete,适合已经通过或者相当于CMM 3级的软件企业使用。

       目前,MSF Agile还处于Beta阶级,本教程将介绍MSF Agile的基本内容,以便让大家对此有所了解,并且在本教程当中,将会结合VSTS来介绍该方法论,不是单纯的“纸上谈兵”。

Visual Studio Team System 1204 CTP Extensibility Kit & MSF Agile 文档

目前开心的主要兴趣是在Visual Studio Team System当中,因为在一个软件开发团队当中,最重要的已经不只是开发工具本身了,而是包括需求管理、Bug管理、测试、建模等等,以前微软及其合作伙伴提供了一系列的独立工具帮助大家完成这些功能,但现在,所有这一切都可以在Visual Studio Team System的统一的IDE当中完成。

昨天参加了MSDN全球网站的一次聊天活动,在该活动当中,来自Product Team的专家们就用户关心的问题一一进行了回答,受益匪浅。

通过这次聊天活动,也可以看出,用户的需求是非常多的,但微软不可能在短时间内完全满足所有客户的需求,比如希望找到一个CVS迁移到VSTS工具,微软在V1的时候不会提供(仅提供了VSS以及ClearCase的迁移工具),一位专家说,这正是我们的ISV的大好机会。

另外,还有好多团队可能并不满足于VSTS自带的MSF以及XP方法论模板,希望可以对这些流程以及角色进行自定义,创建符合自己公司需要的模板,那么如何做呢?

还好,我们现在有了Visual Studio Team System 1204 CTP Extensibility Kit,使用它可以很方便的在VSTS的DEC CTP版本中进行以下功能的定制,并且提供了部分示例代码:

1)创建自己的Work Item Type:如果你选择了MSF Agile方法论模板,那么Work Item Types将会有:Bug,Requirement、Task等等,如果你想创建自己的Type,比如Risk,可以使用这个工具来完成;

2)创建自己的测试类型:在VSTS当中,内建了压力测试、网络测试、单元测试,但现在的测试方法层出不穷,我们可以依靠这个扩展工具来扩展自己的测试类型;

3)创建自己的签入/签出规则:在VSTS当中,根据选择的不同的方法论模板,可以有不同的签入/签出规则,那么可不可以创建自己的签入/签出规则呢?答案也是可以的。

4)创建自己的方法论模板:每个公司都有自己的方法论,VSTS提供了XP、MSF(Agile以及相当于CMM3层次的Completed MSF),如果开发团队希望自定义,或者把类似于RUP的软件过程理论创建到VSTS当中,我们也提供了自定义方式;

5)创建自己的事件通知机制:在VSTS当中,如果有人签入代码或者其它Item,可以有邮件通知给其它团队成员,但如果我们希望实现,使用Windows Messenger来通知团队成员,别担心,我们也有扩展机制;

6)创建自己的工具藕合服务:VSTS提供了对象模型及服务,以便让ISV把自己的工具集成到VSTS当中,或者自定义一些视图以及UI或者行为。

7)大量有用的Slides:在该扩展包当中,也包含了十多个Slides,用以讲解如何进行上述的各种扩展。

感兴趣吗?那么现在就开始下载吧。

VSTS 扩展工具包:http://www.microsoft.com/downloads/details.aspx?FamilyID=e42ecbda-de64-4acc-9197-c16734b4bf60&displaylang=en

MSF Agile文档:http://www.gotdotnet.com/workspaces/workspace.aspx?id=b6973c97-2af8-4681-a585-9ec387ee0688

 

 

关于Team System的进一步消息

Team System已经发布了DEC CTP版本,相信很多人已经下载并且在自己的团队当中做了简单应用。由于该CTP版本的VSTS当中仍然是使用了基于不同Framework构建的SQL Server 2005以及Visual Studio 2005专业版,所以需要装在两台机器上,而且Data Server那台机器对内存要求相当高。

下面,就由开心电视台发布关于Team System的进一步消息:

1. SourceGear宣布一个新的项目开发计划,该项目的Code name是“Allerton”,主要内容是为VSTS的Team Foundation提供非Windows平台的客户端,如Linux,Mac等平台,它将拥有一个富客户端,也将拥有命令行工具,甚至直接与IBM的Eclipse整合在一起,从而让采用其它平台进行开发的人员也可以得到Visual Studio Team System所带来的好处。更多信息,请参阅:http://software.ericsink.com/entries/allerton.html

2. 很多客户可能已经采用了IBM Rational的ClearCase来做软件配置管理(如版本控制、工作空间管理以及Build管理、流程管理),那么在VSTS发布以后,是否可以从ClearCase迁移到VSTS上来呢?答案是可以的,因为在VSTS当中会提供一个工具,来帮助我们完成这种迁移。

3.Visual Studio Team System在服务器端集成了Active Directory、Windows SharePoint Service、SQL Server 2005(含Reporting Service等),在客户端集成了Project 2003、Visual Studio 2005、Excel 2003,但没有集成Project Server 2003。不过在未来版本,也就是VSTS v2的时候,我们将集成Project Server。

好了,本次播报结束,欲知更加详细的信息,敬请期待开心频道。

今天下午,我将在微软MSDN中文网站的Web cast上为大家讲解如何在ASP.NET 2.0当中,使用Web part构建门户站点,欢迎到时参加。http://www.microsoft.com/china/msdn

 

Smart Document开发

介绍智能文档

Office XP当中引入了一个新的概念,即智能标签,如果大家经常使用Word的话,可以发现,从Word XP开始,如果你输入一个日期或者人名的话,会发现下面多了一些红色的虚线,而当你在上面点击时,会自动出现一个下拉菜单,这就是Smart Tag,也就是智能标签。在Office 2003当中,智能标签得到了增强。另外,在Office 2003当中,对于XML的支持得到了极高的增强,例如,我们可以为一个文档增加XML架构,从而对其进行更好的数据管理。在此基础上,我们提出了一个智能文档的概念,让我们的WordExcel在友好界面的基础上,增加了一些聪明特性,直接在文档当中与后台的业务处理系统打交道。

 智能文档的优点

在很多时候,我们需要使用Word或者Excel作为宿主程序,比如我们的业务使用人员更加熟悉Word或者Excel,或者我们的业务类型主要以Word或者Excel文档作为载体,此时,我们可以让WordExcel变得更加聪明,能够直接与业务系统打交道,而不是另外编写一套应用,让它具备排版、打印、数据表计算等的功能。

Word/Excel 2003以前的版本当中,我们所做的业务逻辑必须是在文档当中,比如在文档当中添加各种控件,从而影响该文档最终展现在用户面前的样式,不适合进行排版,影响了最终的用户体验,而在智能文档当中,我们引入了一个“任务窗格”,所有的智能操作均在此处完成,从而将业务逻辑与文档版式互不影响,只是在业务层建立起联系。

这种联系通过XML Schema,即给文档增加一个XML架构,根据鼠标所在不同的XML Element,使任务窗格产生相应的操作及显示,而且这种改变是联动的。

在安全性方面,依托于.NET内建的安全性策略,智能文档也得到了很大的增强,所有的智能文档在执行操作前,均会通过.NET策略进行设置,从而杜绝了安全隐患。

在部署和更新方面,智能文档是基于文档来进行部署的,在内网中部署,我们可以把智能文档的架构及处理程序放置在一个网络共享位置、Web Server或者其它内网成员均可以访问的地方。如果是外网,我们可以制作成MSI安装包,让客户直接下载安装。

应用场景

任何一种技术,都不可能成为万能的。在智能文档推出后,也不能想当然的,把自己手头上的所有项目,不分需求的使用智能文档来搭建。如果您的项目符合以下特点,可以考虑使用智能文档,或者智能文档来搭建某一部分需求:

  1. 该应用的使用人员计算机操作水平不是特别高,但对于Word以及Excel文件操作经验特别丰富;
  2. 该应用是以Word/Excel文档为中心的,大部分的应用视图均可以以Word/Excel作为展示;
  3. 该应用对于一些Word/Excel本身的特性非常依赖,比如排版、打印、复杂的Excel的公式计算等。

举例来说,我们的OA工作流非常适合于使用智能文档来进行搭建,办公系统本身处理的文档大部分都是WordExcel文档,而且其操作人员对于其它系统都有一种本性上的抵触情绪。再者,这种应用一般对文档格式要求特别高,比如,甚至会增加一些模拟的公章,或者手写签名,这些在WordExcel当中很好实现,但自己编程非常困难。

再者,进销存管理以及HR(人事)系统也可以部分采用智能文档来搭建,本年度的架构师峰会上,我们演示了用友U9平台上的一个医药进销存管理系统,其中就使用了智能文档来处理订单。

2004-12-28日下午15:00,开心将在http://www.microsoft.com/china/msdn的网络讲座中讲解Smart Document开发体验点击此处可以下载本次讲座的示例代码。

CLR is everywhere

.NET在全世界的影响程序越来越高,InfoWorld所作的一个统计,编程时优先选择的API框架,Microsoft .NET占53%,而J2EE目前占47%(这是一个多选题)。仔细想一下,.NET概念提出来不超过四年,真正有实际产品也就是两年多一些,而现在就稳居业界第一的地位。

相信博客堂的朋友们都了解SQL Server的一些优越特性,其中最重要的一点就是SQL Server 2005对.NET Framework 2.0的良好支持,譬如使用C#来编写存储过程之类的。可是有没有人曾经想过有一天Oracle以及IBM也会支持这些特性???

OK,至少我没有想到,我相信大部分开发人员看到这儿,可能也不会相信是真的,那么,就来看看他们网站上的新闻吧:

IBM: A look at the new functions in DB2 Universal Database (消息来源:IBM DeveloperWorks)

与Visual Studio.NET的集成

使用CLR来创建存储过程

Oracle: Oracle Introduces Oracle(R) Database 10g Release 2 (消息来源:MSN Money)

似乎DBA们也应该开始学习一下.NET了…

BTW: 昨天在济南酒店中吃午饭时,偶遇原来傲姿时代公司的老同事,目前就职于Oracle,偶有所感,以此为记…

 

贴子以现状提供且没有任何担保也没有授予任何权利

Visual Studio Team System课程资料下载

由于昨天神州网讯的网络出现故障,VSTS课程准备在下周一上午十时进行重讲。为了避免届时网络出现问题,特提供以下资料(PPT+Video)供大家下载。

由于微软只在今年TechED上提供过两门Team System的课程,很多人对该系统并不太了解。在这儿做一个简单的简介:简单来说,Team System扩展了Visual Stduio的开发功能,提供软件生命周期的全程管理,包括需求分析、架构设计、开发、测试等等。

同时,配合Team System,微软解决方案框架(Microsoft Solution Framework,MSF)也已经升级到4.0。在Team System里面,内建了极限编程(XP)、MSF-Agile、MSF-Common等标准软件过程,同时,大家也可以自己定义自己的开发流程,比如团队角色,各角色任务等。如果大家感觉以下的开发流程不适合自己的团队,可以进行自定义,使其更加符合公司需要。

在Team System当中,对于测试方法的功能,得到了极大的增强,压力测试、测试覆盖率、单元测试、测试案例管理都在Team System Test Version实现。

其开发上面的改进,可以参考介绍Whidbey(VS.NET 2005)。

另外,集成了Reporting Service,Team System可以提供了报表展现,以各种图表来分析软件过程中的各种输出,如Bug数量等。

Windows SharePoint Service也被集成到Team System当中,这样,在Team System当中,可以方便的创建团队门户站点,为大家提供文档共享、问题讨论的地方。

在客户端工具中,除了Visual Studio继续充当开发工具外,还将Project,Excel引入,成为项目管理工具。

Team System目前尚在开发当中,在Visual Studio 2005 Beta 1 Refresh当中是可以下载的(仅面对MSDN宇宙版订户及特定测试人员),由于其使用的Yukon及VS.NET的.NET Framework Build号不同,所以服务器端必须使用两台机器(有人已经将其安装在一台机器上)安装,而为了体验各种角色的功能,还应该有三个客户端,分别是测试人员版、开发人员版以及架构师版。并且由于功能特多,很难在一个课程中讲解清楚,只能做Overview。我以后会通过博客堂为大家提供更多Team System的信息。

下载PPT及Video: http://blog.joycode.com/teamsystem.zip