Flier's Sky

天空,蓝色的天空,眼睛看不到的东西,眼睛看得到的东西
posts - 115, comments - 322, trackbacks - 42, articles - 0

2005年8月21日

http://spaces.msn.com/members/flierlu/Blog/cns!1pQ1oe7hJhEc4MgjNgGwRvvA!131.entry

    《Enterprise Services with the .NET Framework》一书实际上漏掉了一个非常重要的议题,那就是对企业级服务自身的可管理性支持。JSE 5 中一个非常重要的改进,就是直接集成了对 JMX 标准的支持,这一特性的运用能大大增强服务的可用性。JBoss 的设计人员就曾评价说,JBoss 4 之所以能够成功,很大程度上依赖于基于 JMX 的微内核结构的设计,而 JMX 在 JBoss 实现上也起到了事实上的服务容器与管理机制的作用。虽然普通的企业级应用,没有必要灵活到全部通过 JMX 类似的机制管理,但基于 JMX 机制提供服务自身的监控和管理支持确实非常必要的选择。而 Java 阵营的绝大多数引擎和服务,都陆续提供了 JMX 支持和集成;MS 自身的几乎所有服务器端产品,也都内嵌了 WMI 和性能监视器的支持。
    Windows 平台下与 JMX 对应的是 WMI 架构,它在底层通过类似 SNMP MIB 表的机制定义自己的 Metadata 模型,在上层则通过类似 LDAP 的机制提供访问和查询。并且也提供了非常灵活的事件通知机制,以及各种辅助开发工具。
    WMI 的概念和应用可以参考:
 
 
    .NET 在这方面提供了非常易于使用的封装和支持
 
 
    不过 WMI 在针对分布式系统的监控上,相对于 JMX 缺乏良好的支持。不知是不是因为 MS 将这块的特性,准备放到单独的 MOM ( Microsoft Operations Manager ) 产品中销售,因此故意不去增加支持 :S
 
 
    不过总体上 MS 给人的感觉是,在企业级应用层面想的不太明白,往往看到 JEE 阵营有什么好东东,就抄过来实现之。但却始终没有想明白一个问题,有功能和能将功能用起来,对于企业级应用来说是完全两码事。毕竟指望每个 MS 架构下的设计师都通晓其所有的技术,这本身就不太现实。而通过种种看似方便,实际上分散且繁琐的封装和工具,虽然可以缓解这一问题,但长期来说只会导致大家都偷懒用缺省配置,虽然效率低但好歹能工作,知其然而不知其所以然。Windows 下的企业级应用,从 DNA 开始扯到现在,仍是个半死不活的状况(起码就国内来说如此),MS 应该好好检讨一下自己的相关策略了。

posted @ 2005-08-21 11:29 Flier Lu 阅读(1330) 评论(3) 编辑

http://spaces.msn.com/members/flierlu/Blog/cns!1pQ1oe7hJhEc4MgjNgGwRvvA!128.entry

    等明天看完 Queue Component 和 Loosely Coupled Events 两章,这本《Enterprise Services with the .NET Framework: Developing Distributed Business Solutions with .NET Enterprise Services》就基本上快结束了。虽然是工具书类型的,但也算让我重新系统的了解了一把 .NET 时代的 COM+ 开发。
    虽然本质上还是换汤不换药,但 CLR 对COM+功能的封装能力,绝对能让经历过用 ATL 编写 COM+ 组件的人,流下一大滩口水,呵呵。COM+组件的集成调试和 DCOM 的发布配置,是为数不多曾让我能感受到抓狂感觉的技术,以至于当年有一段时间给别人出的方案,都是能关的安全设置就关,所有应用服务器和web服务都用相同密码的admin帐号,呵呵,这大概就是绝望下的垂死挣扎吧。
    而与 Delphi 支持思路一脉相承的 CLR 在这方面,则将 RTTI/Metadata 的威力发挥的淋漓尽致,大量的底层薄记工作丢到 CCW/RCW 以及相关辅助工具中。但要全面了解这些强大的attributes和一堆辅助工具,缺了这样一本书还真是不行。虽说以前有些COM+的底子,也看过并实际用过System.EnterpriseServices,居然还能在此书中找到20%强的新知识,感觉实在是非常不错。结合前段刚刚看的 Trans COM+ 一书,偶的 COM+ 了解在三个代表的指引下又 level up 了。
    不过此书的不足之处也是很明显的,就是非常明确的工具书定位,基本上很少涉及原理性和实践性的知识。稍好一点的是在一些可互相替代技术或选项之间,提供了一个纯技术层面的对比。不过相对于以前那几本号称 .NET 下企业级编程的书来说,已经强过太多了。
    但就算如此,感觉 .NET 下的企业级开发的改进余地仍然很大,MS 在技术连贯性、互通性和合作能力方面,距离 java 阵营还是挺远的。就连出的半官方企业开发支持库,都取一个不怎么合时宜的 Enterprise Library 做名字,跟 Java 阵营满天非的 Framework, Architecture, Infrastructure 相比太厚道了一点,呵呵。希望 MS 不要在这方面落得太远,毕竟只有 Library 层面支持的开发环境,是无法被称之为企业级开发环境的。而寄希望于使用者能自行了解并整合分散技术点,在一段相当长时间内也是不现实的。

posted @ 2005-08-21 11:28 Flier Lu 阅读(4140) 评论(3) 编辑

http://spaces.msn.com/members/flierlu/Blog/cns!1pQ1oe7hJhEc4MgjNgGwRvvA!117.entry

    陆陆续续花了一个多月时间,总算把事务性COM+编程——创建可伸缩应用系统看完一遍。虽说其间仍是七八本书并行在看,中间还得刨去休假的一周多时间,但以我啃中文书的速度来说可以算比较慢了。归根结底原因可以总结为两条:书写的实在是太好;翻译的人可以直接拖出去砍了。:S
    虽说书是2001年才出版2003年才翻译过来的,但即使到现在仍是我看过的关于COM+的十余本著作中唯一能将问题说清楚的,其重要性不亚于 COM 领域的 <Inside COM> 一书。而从其名字中的 Transactional 一词就可以看出,作者决不是那种拿着 MSDN 边琢磨边攒稿件的人,因为此书的书名一语道破了 COM+ 的真谛,那就是 Transactional。
    如果说 COM 演变七八年来还在底层的二进制互通性上穷折腾的话,从 MTS 发展而来的 COM+ 则一开始就站在企业级开发的高度上,名字虽只差一个 "+",但所面向的领域和目标相差千里。就算 .NET 如日中天,但在企业级应用领域还是得建构在 COM+ 的基础之上, 只不过提供了一个更为友好和强大的集成开发环境罢了。
    此书正是站在这样一个高度,针对企业级开发中的事务性编程所需要面对和解决的问题,结合 COM+ 的思想和实现娓娓道来。从 Context 到 Apartment,从 Causatiy 到 Activity,从 Object Pool 到 JITA,作者将 COM/COM+ 的底层机制分析得透彻淋漓,更能跳出技术谈技术,从 how 到 what 到 why 逐步提升层次。而其后的事务和隔离性两章更是难得的能就事论事讨论事务处理利弊,而不像很多书籍里面只是不疼不痒的描述一番如何如何使用,却大言不惭的猛吹一番美好前景。美中不足的是最后关于设计层面的介绍稍显薄弱,仅仅针对几个特定场景做了局部分析,如果能有一个全局性的蓝图就更完美了。
    在文笔上 Tim 虽然没有非常出众的才华,但在整体结构的把握上还是不错的,而且还算图文并茂,也不吝于示例。可惜有些关键技术点的描述,不知是原文如此还是翻译太烂,过于拖沓冗长而且说不清楚。不过说起翻译水平,绝对可以直接拖出去砍了,居然还有多处明显的机器翻译痕迹 :S 搞得偶每次只能先猜测英文是怎么说,再翻译回来尝试理解。

posted @ 2005-08-21 11:27 Flier Lu 阅读(1147) 评论(1) 编辑