领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Dflying Chen 译者 陈黎夫 发布于 2007年9月30日
在最新的第十三期微软Architecture Journal杂志中,微软公司SQL Server团队的技术主管Pablo Castro详细地介绍了微软公司REST框架——Astoria的几个重要的特性。我认为Astoria是一个非常不错的REST框架。Astoria将实体/记录的概念统一用资源来描述,且这些资源可以通过URI的结构来体现出层次。 所有的资源都可以通过统一的HTTP接口获取并进行维护,且框架也允许我们沿用传统的Web开发方法对程序进行分层或缓存。随后,Pablo解释了微软公司发起Astoria项目的原因,以及Astoria在当下流行的Web 2.0概念中的重要地位。
从服务器的角度来看,提供用于界面相关的资源显得较为易于理解,例如HTML、CSS以及图像文件等。不过提供数据却是另外一回事。至今为止,一般来讲与 数据打交道的交互过程应该发生于Web服务器和数据库服务器之间——似乎没有什么必要将数据直接暴露给运行于浏览器中的Web页面或是其他什么客户端软 件。但这个需求也恰好是Astoria框架的切入点。与其他REST框架类似的是,Astoria也允许开发者使用更加富有“语意”的URL来访问以及维护互联网上的资源。为了给出直观的案例,Astoria开发团队还特意建立了一个演示服务器,将大家熟知的Northwind数据库的访问点通过HTTP协议直接暴露了出来。例如:
http://astoria.sandbox.live.com/northwind/northwind.rse/CustomersAstoria还与微软公司的.NET框架完美地结合了起来,能够充分利用框架现有的各种强大的基础设施,Pablo说到。
http://astoria.sandbox.live.com/northwind/northwind.rse/Customers[ALFKI]/Orders
对于.NET应用程序来说,Astoria框架提供了一个运行于.NET环境下的客户端类库,该类库能够自动将从Astoria服务中取得的数据封装为.NET 中的对象。这不但大大地简化了客户端应用程序开发者的工作,也能够很方便地与现有的使用.NET对象的组件结合起来使用。不但如此,Astoria还可以支持其他非数据库类型(例如由LINQ查询语句得到)的数据源,并将其通过HTTP接口暴露出来。
Astoria用来定义数据架构的语法为实体数据模型(Entity Data Model,EDM),而EDM则已经得到了ADO.NET实体框架的内建支持。ADO.NET实体框架还提供了一个强大的映射机制,让开发者能够很容易 地将EDM架构和实际的关系型数据库映射起来。
[WebGet]随后即可使用如下的URL访问上述自定义的业务逻辑,并传递相应的参数。
public static IQueryableCustomersByCity(NorthwindEntities db, string city)
{
if (city == null || city.Length < 3)
throw new Exception(“bad city”);
var q = db.Customers.Where(“it.City = @city”, new ObjectParameter(“city”, city));
// add user-based filter condition to q
return q;
}
/MyCustomersByCity?city=Seattle在安全性方面,Pablo及其团队成员把Astoria与ASP.NET内建的认证模型集成了起来,这也让我们能够很容易地在现有项目中引入该框架。
Astoria将通过调用ASP.NET的相关API来获取用户的认证信息,因此对于那些使用ASP.NET认证机制的应用程序来说,无须任何修改即可直接应用Astoria框架。若想了解更多有关Astoria框架的信息,请参考Astoria团队的Blog 以及Pablo的Blog 。
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复