RSS 2.0 Feed
2005-06 Entries
摘要:[来源:Don Box] 据News.Com: "Not to be left out of any development trends, Microsoft is working to simplify the job of building so-called AJAX applications, or Web applications with sophisticated graphics" 在ASP.NET之父Scott Guthrie的网站上题为“Atlas Project”的blog里,他宣布了ASP.NET 2.0对AJAX的支持的详细内容,其中包括 1。Atlas Client Script Framework,包括  o An extensible core framework that adds features to JavaScript such as lifetime management, inheritance, multicast event handlers, and interfaces  o A base class library for common features such as rich string manipulation, timers, and running tasks  o A UI framework for attaching dynamic behaviors to HTML in a cross-browser way  o A network stack to simplify server connectivity and access to web services  o......[阅读全文]

posted @ | Feedback (23) |

摘要:昨天在MSN上跟蝈蝈辩论WebService返回DataSet/DataTable的做法是否很好,没有取得一致观点。 其实这不完全是WebService的问题,而是涉及在总的应用架构里使用DataSet/DataTable的问题。 我同意,这个问题不能一概而论。假如你的应用inherently没什么业务逻辑或者你的应用很简单(虽然大概要怀疑一下,简单的应用使用WebService的必要性),或者你的目的就是把数据库里的数据显示出来,那就用DataSet/DataTable好了。DataSet/DataTable到底提供了不少有用的方法(过滤/排序/。。。),而且具有在修改后端数据库后,不用修改中间编码,修改显示层的绑定编码即可将变动反应出来的灵活性。 但DataSet/DataTable往往反映了你的数据库里的Schema,你的表现层跟你的数据库里的东西的耦合如此之强,是否恰当,应该是个需要考虑的问题。但一想到DataSet/DataTable如此地方便,灵活,而且因此编码过程效率很高,何乐不为呢? 而且,一般来说,你的应用并不是只用来显示数据的,往往需要编辑(添加/修改/删除)数据。但DataSet/DataTable这样的容器提供了很好的功能,能帮你记住你的数据的状态,很符合Martin Fowler的PEAA一书里的Unit of Work模式。然后到最后,你可以用DataAdapter一次性地(虽然其中操作并不是一次性)把数据更新到数据库去。 听上去很美妙,对么? 然后你就会在很多地方操作DataSet/DataTable,即使编码难以避免地会有点重复,而且你是在直接操作数据,心里会有点不安,但想到DataSet/DataTable的种种好处,哎,这么方便。。。。before you know it,类似的操作会散居各个逻辑层,哎,什么domain model,我这database-driven programming也蛮好的。。。等到要维护时,或需要改版时再看,业务逻辑象映山红般满山遍野。。。。哎,反正我的项目比较小,重头开始吧。。。。If you didn't learn anything here, we will be looking forward to another unmaintainable project。。。。(有点夸张) Scott Hanselman说,“Returning DataSets from WebServices is the Spawn of Satan and Represents All That Is Truly Evil in the World (从WebService返回DataSet,是撒旦的产物,代表了世界上一切真正邪恶的东西)”,虽然我没那么极端,但真想说,Amen! 相关连接 1. Aaron Skonnard谈到从WebService返回DataSet对Interoperability的影响 2. Scott Hanselman又说,DataSet是只碗,不是水果,强类型DataSet是只上面画了个苹果的碗而已 3. Karl Seguin在MSDN上的文章“掌握 ASP.NET 之路:自定义实体类简介”里指出了DataSet的问题 4. Barry Gervin不同意,罗列了DataSet的种种好处 5. Jelle Druyts也不同意,称DataSet不是邪恶 6. 模式和实践里的2篇关于把DataSet用作DTO的文章,总结了其中的优弱点Implementing Data Transfer Object in .NET with a DataSetImplementing Data Transfer Object in .NET with a Typed DataSet...[阅读全文]

posted @ | Feedback (28) |

摘要:在七月的MSDN杂志中,Rob Pierry介绍了.NET框架中的模式,Discover the Design Patterns You're Already Using in the .NET Framework 其中包括Observer ,Iterator,Decorator ,Adapter ,Factory,Strategy,Composite ,Template Method等等。还有ASP.NET中的模式,包括Intercepting Filter,Page Controller等等 在O'Reilly Network上有一篇介绍.NET中的Factory模式的文章The Factory Design Pattern...[阅读全文]

posted @ | Feedback (3) |

摘要:摘自微软 TechEd 2005 Bloggers站点(1,2) 星期一,微软 CEO Steve Ballmer在名为《The New World Of Work》的keynote演讲[可以在这里收看到该演讲,来源:Kevin Bird]里谈到了微软,特别是Windows 2003,在安全方面的进步,但强调,"None of this is meant to indicate the work is done"。 很多人提到了微软安全工具部的高级项目主管Jesper M. Johansson的《Anatomy of a Network Hack: How to get your network hacked in 10 easy steps》讲座,都是感触良多。Ben Winzenz 对他的讲座做了比较详细的记录。 其中提到的网络不安全的10个危险做法 1. 不打任何安全补丁. 2. 运行不经过强化过安全的应用软件 3. 在每个地方都用同一个管理员账号4. 在火墙上打开很多端口5. 允许不受限制的内网通讯6. 允许所有的外流通讯7. 不对服务器加强安全措施8. 重用你的密码9. 在很多地方使用高层服务账号10. 假定一切都正常 而你应该做的是 1.确认一切都恰当地打过补丁了 2. 使用恰当强化过安全的应用软件 3. 使用最低权限4. 在火墙里只打开必要端口5. 限制内网通讯6. 限制外流通讯7. 强化服务器的安全8. 使用不重复的密码或保全卡(Smart Card)9. 严格管理服务账号 10. 保持一种健康的安全恐惧感 Jesper M. Johansson著有《从外围到数据,保护你的Windows网络(Protect Your Windows Network: From Perimeter to Data)》一书。 另一篇blog提到了一个很有意思的产品,虽然听上去有点。。。,等有时间了,也许可以试一下。DevInspect and SecureObjects,是个Visual Studio.Net的插件,DevInspect可以检查你的应用是否犯了已知的过百个常见安全漏洞中的某些毛病,而SecureObjects则可以改变你的编码来摒除问题,同时能强化你的应用的安全措施,产生详细的安全日志等等........[阅读全文]

posted @ | Feedback (4) |

摘要:Christian Nagel著的《使用.NET框架中的企业服务开发分布式业务方案(Enterprise Services with the .NET Framework: Developing Distributed Business Solutions with .NET Enterprise Services)》一书终于出版了,从网上的初评看上去蛮好的,请同事在TechEd留心了一下,据说比Amazon和Bookpool卖得还贵,。该书的第七章《事务服务》可以在searchWin2000上下载。 该书介绍了企业服务(Enterprise Services)中的四大服务:自动事务,队列组件,松耦合事件,和基于角色的安全(译自该书出版商Addison-Wesley网站):1。怎样生成一个服务组件(serviced component),服务对象(serviced objects)是如何激活的,如何使用不同种类的对象运行环境(object contexts)2。怎样管理服务组件之并发性与同步性以实现最佳性能和数据之完整性3。怎样与 .NET 框架集成 COM 组件 4。怎样用DCOM,SOAP服务,和ASP.NET Web服务在网络上使用服务组件5。怎样使用企业服务事务实现ACID(原子性、一致性、隔离性和持久性)6。怎样构造补偿资源管理器来允许你自己的资源参加企业服务事务7。怎样在客户端应用,服务组件,共享特性或数据库中保持应用状态8。怎么在COM+中创建和使用松耦合事件9。怎么使用授权,认证,身份模拟(impersonation)和保密来确保分布式方案之安全10。如何部署和配置企业服务应用 该书目前在书店尚未发行,但想征询一下大家的意见,看是否有翻译成中文之必要。假如已经有人或出版社获得授权在翻译了,也请告知,谢谢!...[阅读全文]

posted @ | Feedback (17) |

摘要:摘自微软 TechEd 2005 Bloggers站点(1,2) 1. [来源: Eric Hammersley] Visual Studio 2005, SQL Server 2005和BizTalk Server 2006发行日子确定,将于今年11月7日那周推出。 官方网址: http://msdn.microsoft.com/launch2005/ 2. [来源: Steele Price]微软将于06年元月推出架构师认证考试,分为2种,解决方案架构师(Solution Architect)和基础设施架构师(Infrastructure Architect):  1。很贵的付费认证(几千美元的量级)  2。有导师指导和辅助你的训练  3。必须承诺获取认证后原意成为别人的导师  4。有专门的认证监督会 怎么听上去象Jedi(绝地武士)似的?    1. You need to have high midi-chlorian count  2. A Jedi master will train you (padawan learner)  3. After trial, you become Jedi master  4. There is a Jedi Committee 3. [来源: Dr. International]Globalization(全球化), Localization(本地化) 和Internationalization(国际化)的正式含义 Diagram of Internationalization Internationalization: The process of creating a product that is world-ready and customized for a given language and regional market. Globalization: Designing software for the input, display, and output of a defined set of Unicode supported language, scripts and data relating......[阅读全文]

posted @ | Feedback (5) |