montaque

小碗喝酒,小口吃肉

博客园 首页 新随笔 联系 订阅 管理
  119 Posts :: 1 Stories :: 680 Comments :: 17 Trackbacks

2009年8月19日 #


很多人的电脑可能都有两个系统,一个是XP,一个是vista或者最近升级的windows7.

如何来同步这两个系统的收藏夹呢?(这里指IE)

xp的收藏夹放在C:\Documents and Settings\【user】\Favorites

windows7的放在d:\Users\[user]\Favorites

两个文件夹如果变成一个呢。

我们可爱的windows vista/7 加入了一个在Linux或者其他系统有了N多年的一个功能MakeLink(linux中的ln)

可以把一个目录softlink到其他目录,类似 vistual studio中open as Link一样。

你把windows7的favorites删除掉
然后运行

cd d:\Users\[user]\
makelink /D Favorites "C:\Documents and Settings\【user】\Favorites"

这样两个就可以互相读同一份copy了。
当然你也可以link多个,或者link不同的类型。 比如我的文档等。

 

posted @ 2009-08-19 00:56 montaque 阅读(466) 评论(1) 编辑

2008年11月21日 #

今天去参加了两天的关于ILM V2 的培训,大概总结一下相对于ILM 2007 有哪些新的特性。

ILM 是什么?

顾名思义是一个身份管理软件。

当一个人进入一个企业之后,他会有不同的身份。比如AD帐号是他的一个身份,ERP 系统的帐号是他的一个身份, EMail帐号也是一个身份,考勤卡也是个身份,工资系统ID也是他的一个身份。所以我们经常会看到一个人使用不同的系统有不同的帐号,一个人在不同的系统之间Profile也不尽一样。比如A系统中的电话号码是旧的,B系统中的Title是过时的因为该员工已经升值了。财务系统中的工资卡仍然在发钱,尽管已经离职了。Email 也还在,没准该离职员工还可以访问Email。

 

所有这些问题,归纳下来就是要回答。

  • 如何保证用户的身份的完整性和一致性。
  • 员工入职的时候,如何及时Provion到各个系统,比如自动开Email,自动开ERP帐号
  • 员工走的时候,如何收回各个权限。
  • 员工状态变了之后,比如换Location了,Email box 有没有及时切换, 换手机了,是否及时更新到各个系统中。

 

这些问题,当公司做大之后,比如要准备上市了,那么 Auditor 就会问你以上四个问题。 因为这几个问题牵涉到公司的财务是否有完整的控制基础。这时候一般的公司都会采用所谓的ILM软件来实现这个需求。微软的 ILM,以前叫 MIIS 就是其中的一个方案。当然Oracle,Sun,CA,Novell也都有类似的方案。微软的方案Link: http://www.microsoft.com/windowsserver/ilm2/technicalresources.mspx

 

EBay 有一个典型的案例研究。http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=49509

 

ILM V2 有哪些新的特性呢。

多了一个web Portal和背后的ILM service。 以前的ILM 就是一个winform程序,系统管理员、Auditor 是唯一的用户。ILM 能够实现大多数HelpDesk琐碎的任务。有些公司使用ILM,也是为了减低HelpDesk的成本。

新的web portal的角色:

  • 最终用户的一个自助服务Portal,比如 可以更改一下自己的电话号码,自助请求就如一个Security Group 或者 Distribution List,或者自助的重设密码。在以前都要通知公司的HelpDesk,让他们更新特定的系统,然后ILM 负责Sync
  • 系统管理员通过web portal 定义工作流以及Policy,包括同步的Policy 和 Process的Policy。还有一些Permission的设置。比如可以定义所有的人都可以看其他人的基本信息。HR 的员工可以查看所有人信息。
  • 作为一个中小企业的HR系统,如果公司有成熟的HR系统,那么HR系统是员工很多属性的权威,对于公司如果没有HR系统的话,那么该Portal 可以作为一个小的HR系统。你可以输入用户信息,ILM 会拿到这个信息,自动去开AD帐号,同步身份到其他系统。
  • 声明性的定义你的同步策略或者Provision、Deprovision 策略。”=无须代码“
    • 之前的ILM,我们往往会有两类C#项目,一类是某Agent的Extension,比如Import或者Export的策略
      • CSentry["DisplayName"].Value=mvEntry["nickname"].Value + "." + mvEntry["sn"].Value,当然还有一些超级复杂的。比如如果是男,则加上male,否则加上female。如果是老大,则加上Cxo之类的
      • 另外一类是Provision Extension。 比如新建帐号到AD或者其他系统。
      • 还有一些JOin的extension
    • 之前的做法,最大的不足时。需要开发人员介入,每次更改,都要写代码。时间久了,开发人员也看不到所谓的规则了
    • 新的方式让你通过web portal 定义同步的Policy,所谓FROM TO。 可以加上一些表达式,还有流程,比如Provision AD的流程,需要谁审批,然后通过后,在Provision。provision成功之后发Email给用户
      • 背后的做法。
        • ILM Service 有一个新的数据库和模型,以及一个新的Agent。 当用户通过Portal 更新了这些策略、流程之后,写到数据库中(ILM service V2 自己的)
        • ILM 通过Agent 读到Policy,定义新的Metaverse object。然后Sync的时候,动态的执行新的MV object定义的Policy。从而实现不需C#代码就可以Sync和Provision
      • 当然仅限于简单的表达式,如果C#代码超过十行的话,很难通过一个表达式描述清楚
  • outlook 2007 有一个Group的Add-in, Group 有两种一种是无须审批的或者基于规则自动管理的。比如所有IT部门的人都在ALL IT中。 另外一种则是Owner可以决定的,比如杀人俱乐部。 新员工入职后,可以点这个Add Group Addin,申请加入。确定后,系统会发Email给owner, owner 会在Outlook中直接Approve。所有这些动态运行遵守一个Workflow的定义。

对于证书管理CLM,没有太大的加强

这些特性看上去不错,最后确认了一下需要的系统环境,呵呵,一贯的捆绑强行审计策略。

  • Windows Server 2008
  • SQL Server 2008
  • Exchange 2007
  • Office 2007
  • AD 2007

特性很好,想想这些升级代价,值吗?呵呵。最后很搞笑,有人问,为什么数据库一定要2008? 2005 不行吗

答案: 设计使然。By Design,哈哈。好经典回答。

posted @ 2008-11-21 12:16 montaque 阅读(1748) 评论(7) 编辑

2008年11月18日 #

虚拟化和云计算应该是这几年最热门的话题,今天来谈谈云计算。

Cloud Computing 基本思想就是对于企业而言,你不需要去买 Server,租/修建数据中心,不需要去装软件考虑什么黑屏的问题,你只需像订报纸一样,每个月或者每年缴纳订阅费就行。

我看过一个超级Fans假定,他说,你需要云计算吗?我说不需要。他说,你家有发电机吗?你家有变压器吗? 大多数人都回答没有。为什么呢?因为你只需要付电费就可以了。对于云计算也一样,终究而言,任何企业或者组织没有必要去维护自己的数据中心,基础架构。第三方的公司帮你搞定。

当然这只是个假定,就是有这么样的第三方公司有能力帮你提供你所需的服务,而且费用很便宜。Google或者microsoft能提供吗? 当然他们都希望提供这样的服务,又好又便宜。

很多企业有看好这个前景也都提出了他们的云计算平台。以下是一个概览:

  • IBM, Blue Cloud IBM有自己的优势,比如平台,硬件加上自己的IT管理软件。到目前还没有机会看到他的原型和API
  • Microsoft, 虚拟化有Hyper-V/MED-V 等,云计算最近在PDC上宣布了Windows Azure。微软的一贯作风是定义个大平台,内置了一些服务,允许ISV或者第三方来开发自己的服务和增值应用。windows azure 不是简单的一个无状态的网页托管,类似godaddy一样能够把你的程序发不到他的webserver上去。windows azure还提供了很多有状态的service以及一些Runtime servifce
    •  比如有.NET service, 能够让你托管在Cloud的程序、服务使用用户验证Service,能够run Workflow,不同的service 能够有一个平台 所谓ISB。比如我的WCF跟你的WCF在不同的防火墙后面,如何让他们能够通讯。所谓的STS,扩展一下Internet 版本的ILM,目前有个“Geneva”,都是微软身份服务。 这个在之前有一个Biztalk Service http://www.biztalk.net/ 不同的service之间如何处理不同的用户token。前几天收到一个mail,说这个service 现在已经合并到windows Azure的.NET Service里面了
    • 数据库服务。一个基本的应用一定需要一个Data Storage,像是简单的存储,云计算都会有一个简单的存储服务。比如可以把一个Key、Value放到store中。那如果有关系型的数据库需求,比如外键,关联,引用。那Microsoft有自己的SQL Data Service,这个service记得去年的时候,参加他们的一个架构review活动,当时在讨论CloudDB,这个 CloudDB 就是现在的SQL Data Service。 当时讨论的时候,很多企业有类似分布式缓存的需求,我们知道SQL Data Service 如果放在云上的话,数据的延迟会很厉害,很大程度上依赖你的网络。 最近PDC,微软也把这个需求放到 Velocity 项目里面,一个分布式的Caching技术。可以用于One—Promise,也可以被微软用到CLoud Service 的后台。
    • 有了这些功能性的服务,还需要一些跟用户粘性大的服务。比如很多人有Live 帐号,如何提供一些User service,以及user service 之上的服务呢。微软有他的一个大平台,Live Service。
  • Google ,google 企业本生就是一个最大的云服务提供商。我们用他的服务,顶多装一个客户端买个盒子,从来不需要建立一个“发电厂”。 google有一个App Engine, Appspot.com, 简单讲就是你可以把你用Python写好的CGI应用,加上简单的数据服务。基于这些 open 的 web framework 类似  Django,  CherryPy,Pylons等(Framework)。他的思想就是Python(无状态计算),加上简单的数据服务(data Store)。 
  • EMC, EMC 是存储领域里面的领先者。他的San Storage 硬件解决方案由他的优势。所以构造一个公用发电厂的话,EMC 具有很大的优势。EMC 只是宣布成立了Cloud Computing计算部门。目前还没有看到他的应用和方案
  • 还有一些企业是提供最终服务的,比如 Salesforce ,或者 Microsoft Dynamics Online 他们不是电厂,而是买电炉考好的蛋糕的
  • 待续

 

posted @ 2008-11-18 03:47 montaque 阅读(206) 评论(0) 编辑

2008年10月31日 #

PDC的新东西很多,今天去听了一个关于 Xaml  新特性以及未来的 Session。

Xaml目前主要用在三个场景,分别是UI,比如WPF Silverlight的展示,Workflow,比如WF,用xaml来定义workflow,以及电子文档比如XPS。

xaml只是去展现一个模型,会有多个Runtime来支持,比如.net 3.0, 3.5, SL 1, SL2

当然任何技术都需要一个工具的支持,目前有VS,Expression。这些是现状。

现在也有一些互相格式转换的工具,比如SVG 到 Xaml,SWF到Xaml等

 

对于下一个版本,也就是XAML 2009,Xaml 会让你用起来更加的方便,尤其去写一些复杂的模型。目前这个2009CTP版本可以下载了。新的特性有

  • x:Reference 的引用,比如
    • 以前的版本肯能要这么写来引用一个对象 <TextBox Target={Binding ElementName=infoTextBox} >
    • 现在可以直接写<TextBox Target=”InfoTextBox” />
  • Mscorlib里面的数据类型直接用,放到X里面,大多数CLR built类型都可以直接用
    • 以前要引用一个String,要先定义个Namespace指向Mscorlib,然后<ms:String>HelloWorld</ms:String>
    • 现在直接写<X:String>HelloWorld</X:String>,变为语法的一部分
  • 支持在Xaml中定义Generics
      • 比如 <resources><observableCollection x:Class=”ObservableCollection” X:TypeArguments=”Person”>
                                   <Person><Name>Mont</Name>…
      • 以前只能用C#去定义,或这Subcalss一个新类
  • 支持Dictionary任意类型的Key,以前只能是string,由于支持Generics,所以传入一个TypeArguments就可以定义Key类型了
  • 支持定义事件,比如某对象返回一个Delegate
  • 增加新属性更容易,比如定义个Person,给他加上两个属性。WF 4的variable就是用这个语法. X:SchemaMembers,然后定义Member的属性,类型
  • 支持对象的非默认构造函数,比如我定义个一个Person,需要传入ID作为构造函数。新的语法支持x:Arguments
    • <Person x:Class=”…”>
      • <x:Arguments>EMP1234</x:Arguments>,这样的话,ObjectDataProvider就很少用了估计
  • 支持静态工厂方法
    • 比如构造一个Guid,可以不用默认构造函数,改为<Gruid x:ObjectFactory=”Guid.NewGuid” />

 

然后演示了一下新的Content Model,有XAML到模型,然后到不同的Graph,比如对象Graph,或者DOM Graph,他们戏称为DOM Box,^_^

新的XAMLPad 支持这些特性,而且很容易让你去扩展。

 

以前的XamlReader,只能是读一个xaml文件,解析到xaml 节点,然后生成一个对象图。不允许你做任何的扩展。

这也造成如果你在xaml中定义个了事件,导致xamlpad根本就不Render这个对象

新的xamlreader,会有一个Read方法,类似xmlreader一样,每次你读一个对象,可能是个StartMember,可能是StartObject也可能是个Event

对于这个对象你可以访问其类型,和Meta Data ,比如 node.Event.IsUnknown?

 

这些新的xamlReader、Writer, 以及ObjectReader、Writer可以在System.Xaml.dll 中访问到。11月份会出一个CTP版本

有了这个扩展,可以让我们更容易去做一些Parser,和 不同文件的转换

我们知道WPF中xaml最后会编译成二进制的BAML,新的类库中也多了BAMLReader/Writer

 

最后举了一个超酷的例子。写了一个WPF程序,调用一个WCF的服务,大概就是输入一个股票代码,返回用户该买还是不该买

cool在哪里呢?

1. WPF 程序完全用xaml写,没有C#代码,这就用到新的特性。 Call WCF的过程,是调用了WF,wf 4.0可以直接调用,不需要显示的定义runtime,host。

2. 调用WCF的WF代码也是完全xaml写, WF 4 中新的Activity ,比如ClientOperation,让你调用WCF配置一下就可以了。定义调用的contract,endpoint等

3. WCF 的服务完全是用xaml写的。这个主要的思路就是新的xaml wcf runtime支持wcf常用的对象模型

<Service>

<Contract>

<Endpoints>

<service.Implementation>

<Loginc using WF>

所以WF、WPF、WCF 完全可以用xaml搞定。鼓掌。。。

 

有些人问,为什么一定搞得这么复杂,写代码很容易啊? 这个也就是最近很热的 “OSLO”的一个初衷

我们有不同的模型或者应用场景,现在我们的做法是选择了一个通用的语言,然后用一个Runtime的API来实现特定的功能。

能否用特定的语言来实现特定的功能呢?

这就是我们定义个一个自己的模型,目前可以用M语言去定义,然后定义自己的语法,MGrama,接下来有特定的Runtime负责把模型或者数据转成特定的对象图

 

而对于Runtime这一部分,如何统一呢,那就是用xaml,来定义你的对象图

 

所以对象 到 xaml,Runtime加载xaml。 对象的表达可以用M语言。

比如定义个一个service就可以这么写

 

service HelloSvc

{

Opeartion SayHello;

Endpoint={“http://localhost/hellosvc”},

Binding=”httpBasicBinding”;

Implementation=

{

// you impl

}

}

posted @ 2008-10-31 11:38 montaque 阅读(1474) 评论(7) 编辑

2008年10月30日 #

Ray 第一个KeyNote主要是讲服务端的技术,第二天则围绕个人计算,包括桌面PC,web以及Mobile设备。

对于PC, 下一版本是windows7,IE 已经是8了,Mobile还是mobile。Ray 重点提到,如何让这三个设备保持一致的体验和集成。比如数据的同步,联系人的共享。而这些主要靠 Live Mesh Service。最后还请Office 14的演示了一下,如何让Office 的客户端,跟Office 的web 版本互相集成,同步数据,协作。

对于Windows7,Scott 则主要提了一下在开发方面的支持,包括工具,runtime等。

接下来就是请一个windows 的两个vp演示了一下windows 7的特性。主要有以下:

  • Quick navigation,Jumping list
    Drag and Drop, Docking, 管理桌面的窗口,有类似visual studio的体验,你可以dock你的窗口
    search enhancement,search music over network
    device stage
    printer switch,自动切换打印机,比如到家里用家的打印机,到公司自动切换到公司的打印机
    wall paper setting, Preview Mode
    tray optimization
  • multi-Touch Demo
    gesture 手势,这个很多brower都有插件
    drag a picture to the mspaint, then create a post card
  • 远程桌面的窗口也支持多演示器,这个我朝喜欢
  • 1. BitLocker of Pen Drive
    2. Create VHD, Boot VHD
    3. Monitor management, Vertical, Multi mgmt
    4. magnifier, Win+
    5, win P, projecter switch
    6. remote desktop, multi monitor

 

当然对于开发人员,也有一些特性的支持。比如

  • ribbon user interface,平台的一部分。10年没变的计算器,画笔也变成了Ribbon的导航
  • jump list,对于开发人员,就是在你的程序中加上一个task的metadata
  • libraries
  • multi-touch,ink,speech
  • directX

接下来Scott出来演示了基于一个WPF的photo browser的程序,如何增加让其利用windows7的特性

首先让他支持 Ribbon Menu,

思路就是首先把window 对象替换为WPF:RibbonWIndow

然后加上RibbonMenu的Item列表,Done。。。 鼓掌

然后让其支持multi touch,比如可以双手zoom,等。简单的很,就是加上对几个新事件的处理程序

 

以及wpf的一些新的特性,比如Pixel shader

接着宣布 WPF toolkit可以下载。主要有

DataGrid atapicker Calendar 新的控件
Ribbon,新的menu
VSM,跟silverlight一样,支持IDE来设计控件的Style

 

然后提到了.net FX的一些新的特性

比如一个进程可以并行的加载多个不同版本的CLR,目前这个是不可能的,比如你不能让你的exe,既有CLR 1.1,又有2.0

动态语言的支持

MEF,managed Extensibility Framework,这个是以后扩展的基础, VS 2010 的扩展也是基于这个库。

 

对于VS 2010, 加入了可视化的设计silverlight的功能,之前的话我们只能用Expression来拖放设计你的界面。

接下来演示了如何扩展VS 2010

这个版本最终会基于WPF来实现,比如 代码编辑器,他可以允许你自由的扩展。

scott演示了一下

比如有个代码如下

/// Bug 123

/// Owner: Montaque

public void foo()

{

......

}

 

对于代码注释这个部分,如何来显示这个注释,默认是文本显示。

你可以写一个类,用标准的MEF,加上一个Export,特定的一个接口ITextViewEditor

比如写一个WPF 用户控件,绑定到该注释

然后把这个DLL copy到VS 的组件目录,

接下来打开代码的话,就会看到注释部分是一个新的展示,你可以加上链接Bug等

 

然后TESCO.com 的英国公司演示了一下wpf的一些应用,基于multitouch,等。让百货购买体验超cool,查了一下tesco就是乐购

 

这个是win方面的,然后scott 提了一下web方面的

AJAX/Jquery, intellisense

asp.net 4
dynamic data
mvc
AJAX
distributed caching  velocity

web.debug.config
web.releasise.config
web.staging.config 程序支持不同的Staging config

silverlight 2

NBC Olympics
AOL mail
K2, workflow designer
netflix, watching experience

charting

silverlight designer vs 10

 

然后是BBS演示了如何基于Live Mesh,做了一个IPlayer,可以运行在手机,web,桌面。你的状态保持一致,比如最近看的片子,跟联系人共享等

 

最后Office team也讲了一下,Office的下一版本如何利用Live Svc来提升用户的体验。看了一下Demo,这个Office Live做的很Rich,比google的那个office 特性强大很多。简直就是一个桌面的Office

演示了一下OneNote,Word,Excel

用户可以对同一个文件做同事修改,彼此会互相得到通知。Excel 可以把图表,表格暴露成service,这样数据改了,引用的突变会自动更新。

 

这个KeyNote是最常的,连续2.5个小时,后面还超时,结束之后,厕所门口的Queue超长,只能慢慢等吧,高峰时间。。。

posted @ 2008-10-30 00:05 montaque 阅读(1257) 评论(1) 编辑

2008年10月28日 #

摘要: 今天的会议,Anders 的 session 座无虚席,Anders 回顾了一下C#的历史,以及展望了未来,然后着重提了几个特性。C# 1.0, 大概98年11月份开始组件团队,马上就10年了。关键词:Managed Code,托管代码C# 2.0, 提出了,GenericsC# 3.0, 主要是Linq那么C# 4.0呢?Anders 提到目前语言的几个方向,或者是以后的趋势 Declarati...阅读全文
posted @ 2008-10-28 11:44 montaque 阅读(2507) 评论(20) 编辑

摘要: 今天早上6:00就起床了,6:30准时出发,因为到LA的路非常的堵车。第一个Session是KeyNote,是Ray Ozzie 大概的介绍了一些微软的下一代策略和方向,然后几个VP带头演示了一些应用。Ray Ozzie提到目前很多企业都在提虚拟化,以及云计算。大的背景就是企业要面向全球,势必要去构建更多的数据中心,比如以前只有一个,要建立多个,这时候可能就会面临高成本的维护,不过是系统还是应用都...阅读全文
posted @ 2008-10-28 10:18 montaque 阅读(1584) 评论(11) 编辑

2008年10月25日 #

摘要: 下周又是忙碌的一周,PDC . 也是第一次参加PDC,以前都是看PDC的video,这次终于有机会在家门口参加PDC了,嘿嘿.阅读全文
posted @ 2008-10-25 08:40 montaque 阅读(148) 评论(1) 编辑

2008年8月12日 #

摘要: 在 Silverlight 中,有几种获取后台数据的方式。 通过会有一个Service来暴露这些数据,对于sl2 这个service可以是最简单的ASMX或者用WCF的basichttpbinding, 您可以通过添加引用来生成代理,来适用这个service。如果只是简单的数据的话,你也可以通过访问一个远程的XML文件来获取这些数据,拿到XML之后,需要把他转换成对象。也有几种方式 用xmlRea...阅读全文
posted @ 2008-08-12 08:59 montaque 阅读(2170) 评论(2) 编辑

2008年8月6日 #

摘要: Expression blend 2.5 是目前的最新版本用来支持WPF和Silverlight Beta2 的开发。一般我们可视化的拖放和设计界面和效果。有时候如果你要人为的编辑一下Xaml的话发现没有智能提示非常不方便。有些属性很长的话,很难记住。 由于Expression本省是个WPF程序, 当然也是标准的.net程序。所以扩展其实很容易,Expressoin提供了一个IAddIn接口,你只...阅读全文
posted @ 2008-08-06 07:50 montaque 阅读(2130) 评论(7) 编辑