域名新生意:ICANN新规引发互联网疆域战争

6月14日,互联网名称与数字地址分配机构、非营利国际组织ICANN称,其在新通用顶级域名的全球申请名单中,共收到1930个新顶级的申请。ICANN由此大赚特赚,仅此一役,就将约3.6亿美元吸入囊中。但吸金的不止只有ICANN,还有像黄道这样的公司。

据黄道公司副总裁李祥建透露,借ICANN即将公布新通用顶级域名的机会,其公司成功融资2000万美元。“在1930个通用顶级域名中,我们共获得18个通用顶级域名,这是获得融资的核心资产。”李祥建说。

黄道公司执行董事庄振宇则将他们的生意又提升了一个层次:“ICANN公布新规,是中国互联网产业‘40年一遇的机会’。过去,互联网核心资源的分配及规则制定均由美国主导,而这一次,中国首次有机会参与其中。”

庄振宇所谓的互联网核心资源,即包括根服务器,也包括IP地址及顶级通用域名。换句话说,ICANN公布新规,也同时引发了一场重划互联网疆域的战争。

 

域名争夺大户

按每个域名18.5万美元计算,如果1930个申请域名全部注册成功,ICANN将收到3.5亿美元的资金。其中,谷歌花费1887万美元申请102个顶级域名,印度巨头Directi集团斥资超过600万美元申请31个顶级域名。

但李祥建补充:ICANN收到的远不止3.5亿美元,18.5万美元是在没有竞争者时的价格,如果同一通用顶级域名有两个或两个以上机构竞争,注册价格则采取竞价方式,价高者得。

比如“.weibo”的顶级通用域名。对此,中国的腾讯与新浪展开了激烈竞价,李祥建预计,这一通用域名最桥头价格为数百万美元。此外,腾讯和新浪还竞争中文通用顶级域名“.微博”。此次ICANN组织首次开放通用顶级中文域名注册,此前全为英文。

记者了解到,在1930个域名中,有751个存在竞争,超过申请总量的三分之一。其中,竞争最为激烈的域名后缀分别 是:.app、.home、.inc、.art、.blog等。而注册成功的企业或机构,除缴纳18.5万美元注册费用外,每年还要为每个域名缴纳2.5 万美元的管理费。这对ICANN来说,又是一笔不菲的收入。

中国区域此次共申请域名88个。李祥建统计,88个域名由约15家企业分得,而黄道公司独得18个通用顶级域名,算是此次顶级域名争夺中的大户。

根据ICANN公布的名单,中国机构申请的新顶级域名分为三类:一是提供公开注册服务的通用商务域名,如CNNIC申请了“.公司”和“.网络”两个中文域名;二是企业品牌域名,如中信申请的“.中信”、搜狐申请的“.sohu”;还有一类是地理名称域名。另外,也有企业申请“.我爱你”之类的时尚个性化域名提供公开注册。

域名新商业模式

“随着互联网的发展,域名数量不够是ICANN开放的动力。”Frost &Sullivan中国区总裁、资深电信市场营销和战略咨询专家王煜全告诉记者:“就如同IP地址,IPV4地址不够用,升级为IPV6。”

李祥建认为,新顶级域名扩展后,意味着以往的“.com”、“.cn”之类的域名,今后可以用“.shop”、“.sohu”“.中信”的形式出现。这必然会改变其所在行业用户的域名需求格局,创造新的商业模式。

而拥有18个域名、2000万美元融资后,黄道公司的业务也将充满想象力。“首先,可以做域名注册局的生意,就像现在的CNNIC,我们会成为域名产品提供商。”李祥建说,“其次,可以做万网这样的‘域名渠道商’的生意,面向最终用户销售域名。”

此前,李祥建曾在CNNIC工作多年。据他统计,中国域名渠道商约有30家。过去,CNNIC主要提供“.cn”域名产品,不做渠道商生意,未来黄道的角色可能是“域名产品提供商+域名渠道商”相统一。

除打域名提供商与域名渠道商的主意外,抢注顶级通用域名,还可以保护公司在某一领域的产品品牌及公司品牌。如除了腾讯、新浪为了“.weibo”、“.微博”大打出手外,奇虎360申请了“.shouji”、“.yun”和“.anquan”等四个顶级域名。在CNNIC曾与周鸿祎“打过仗”的李祥建认为,“域名显示了周鸿祎未来的业务版图”。

李祥建同时指出,此次新顶级域名面向全球开放申请,对中国公司无疑是一次与世界同行站在同一起跑线上、保护自有品牌的好机会。此前,中国没有一个全球通 用顶级域名注册机构,“.cn”仅是中国区域顶级域名,而即使是CNNIC,也没有机会参与全球顶级通用域名分配及政策制定。

《21世纪经济报道》

比较 NHibernate 和实体框架

葡萄牙的一位开发者 Ricardo Peres 最近发布了一篇文章,以看起来无偏见的形式对领先的两种 .NET ORM:NHibernate 和实体框架进行了比较。 我们建议考虑使用这两种框架的人都应该读下他的文章,NHibernate 和实体框架之间的区别,另外还将指出一些关键的区别。

从架构上看,NHibernate 基于 Java 的 Hibernate ORM。 Ricardo 写道:

在 NHibernate 中,工作单元和配置项以及模型实例都相互独立。 你首先会创建 Configuration 对象,在其中你会指定所有 NHibernate 设置,像要使用的数据库和语言、批处理的大小、映射关系等等,然后你会依此构建 ISessionFactory。 ISessionFactory 会持有与特定数据库绑定的模型和元数据,以及来自于 Configuration 对象的设定,并且,一般每个进程中只有一个实例。 最终,你会基于 ISessionFactory 创建 ISession 的示例,它是工作单元(Unit of Work)以及标识符地图(Identity Map)的 NHibernate 表现形式。 这是一种轻量级的对象,它本质上会根据需要打开和关闭数据库连接,并跟踪与之相关的实体。 ISession 对象很容易创建和销毁,因为所有的模型复杂性都存储在 ISessionFactory 和 Configuration 对象中。

评论者 Morten Mertner 说:“我永远都不会使用 NHibernate。 尽管它拥有很棒的特性列表,但它并非一种能够轻松使用的产品,而且 API 和设计中始终带有遗传自 Java 的味道(同样,很多 Java API 都太企业化,并且架构过于庞大;结果会与你想要的大相径庭)。”

实体框架遵循的是更加传统的 .NET 设计,其中所有一切都封装在单独的 ObjectContext 或者 DbContext 中。 这让使用对象更加简单,但是缺点在于“类并没有因此是轻量级的,因为它有与 NHibernate 类似的内容,并且一般不会看到这样的例子:实例可以缓存在字段中。”

对于映射,NHibernate 和实体框架之间的关键区别在于,前者支持基于 XML 的映射文件,该文件可以独立部署。 在理论上,这让你可以针对不同的数据库 schema 使用相同的对象模型,而不需要重新编译应用程序。 但在实践中很少这么使用。

在很多方面古老一些的 NHibernate 要优于实体框架。 Ricardo 提供了更多细节,并简要地总结如下:

  • 关联: 都支持一对一、一对多、多对多,但是 NHibernate 还支持各种排序、未排序和索引的选项。 它甚至还有不变的(immutable)、索引的(indexed)列表。
  • 缓存: NHibernate 提供了带有大量实现的二级缓存。 实体框架没有任何对此内建的支持,但是有些增加二级缓存的例子
  • ID 生成: NHibernate 提供了大概十二种策略,这取决于你如何计算。 实体框架只为 SQL Server 提供了主要的三种: 标识符列、GUID、和手动赋值。
  • 事件: 实体框架只有两种基于事件的扩展点: ObjectMaterializedSavingChanges。 “NHibernate 拥有非常丰富的事件模型,暴露了超过 20 种事件,有些针对同步前执行(synchronous pre-execution),有些针对异步后执行(asynchronous post-execution)”。
  • 级联: “两种框架都支持集合和关联的级联: 当实体被删除的时候,相关的子实体也会被删除。 NHibernate 还提供了一种特性,可以把子实体上的外键设置为 NULL,而不删除它们。”
  • 清理变更: NHibernate 提供了一种自动模式,其中在必要的时候会保存变更,像“如果有一种实体类型的脏实例,而查询是针对这种实体类型执行”。 FlushMode.Auto 实际上是默认值,但偶尔会看到由于自动清除而导致性能问题

也有一些领域中,实体框架会比 NHibernate 好,比方说:

  • 跟踪变更: 尽管两种框架在工作单元级别默认都能够跟踪变化,而实体框架还提供了自我跟踪实体(self-tracking entities)
  • 整合: 实体框架当然会与 Visual Studio 和各种 ASP.NET 以及 WCF 类库有很好的绑定。
  • 文档: “这是另一种实体框架表现非常好的地方: NHibernate 缺少针对初学者的文档,并且也没有与其最新版本同步的最新 API 参考。”
  • 查询: Craig 写到:“NHibernate 有更丰富的特性,但有一个领域除外,那就是对 Linq 的支持。 因为对于很多用户来说,Linq 或者其它查询语言都是 ORM 中最可见的部分,它会让人对功能产生错误印象。”

还有某些领域,两种框架都可以做出改进,像批处理功能。 当需要真正支持 SQL 的高级特性——像通用表表达式——的时候,两种 ORM 框架都无法支持 SQL Alchemy

我们应该发现两个项目都很活跃,经常会有定期的改进。 所以,如果二者都能够满足你的最小需求,那么考虑就更多集中在程序库的设计模式和哲学上,而不是在特性列表上。

微软下周公布重大消息 网友盼发布Win8

据国外媒体报道,微软最近广发媒体邀请函,宣称在本月6月18日(下周一),将在美国洛杉矶对外公布一项重大消息,外传很有可能发布新操作系统Windows 8,但微软对此却不肯透露半点消息,仅称这个重大消息是你绝不想错过的消息,连举行地点也是当天早上才会公布。

这项消息引起许多网友的关注,根据国外媒体指称,这个消息很有可能是跟微软的Windows on ARM计划有所关连,但更多网友希望到时公布的消息内容为新操作系统Windows 8,因根据先前的报导指称,该系统将会是其是一项跨笔电、平板电脑甚至电视的跨平台操作系统,也是其用来对付主要对手苹果的最佳武器。

软件开发如同越狱

如果说这世界上有一种东西太多了,那它就是广告。如果说这世界上还有另外一种东西太多了,那就是对软件开发的类比。尽管如此,今天我还是要编造一个。你知道软件开发像什么吗?它像越狱。

回想一下你最喜欢的越狱类型的电影,不论是《大逃亡》、《肖申克的救赎》,还是享誉海内外的电视剧《越狱》或者是《勇闯夺命岛(the Rock)》(不好意思,这不是越狱,而是关于潜入监狱的)。但这跟我们有什么关系?

“我们都是来自五湖四海,为了一个共同的革命目标走到一起来了。”

在一个越狱团队里,有一伙人是专门负责挖地道的,另一伙人是负责清除挖地道的痕迹的,还有一伙人是负责弄假身份证和假发的——一旦越狱成功就需要用 到这些。在影片的前半部分,你毫无例外的能找到一幕场景来证实他们起初是多么的相互讨厌。但一旦达成了越狱的共识,他们立即变成了能为对方两肋插刀的兄 弟。

在一个典型的开发软件的组织里,程序员,市场销售,业务经理,管理人员,以及投资者,这是一群不会有第二种理由能把他们聚到一起的人。它不次于任何 世界上最奇异的家族组成。然而,这最终的目标——成为市场霸主,百万美元的收入,或者仅仅是为了取悦用户——这以足够让这群奇异组合的人在最高强压力的环 境形势中共同度过一年半载。周末取消了,节假日忘了,你的孩子在众人面前指着你说“这个臭臭的家伙偶尔会到我家来换内衣,而且冲着我们大呼小叫”,这些全 是为了软件。

一伙敌对势力百般阻挠越狱

在越狱电影里,总有一批狱警在防范犯人越狱。我们通常会看到的一幕是另外一伙人企图越狱结果失败了。我们多少会发现,这些狱警多少有些愚蠢。

相似的,你的对手也在坚持不断的试图阻止你从将要发布的伟大的软件中获取丰厚的回报。这对手可能是市场上的一家竞争公司,或是公司内的某一个部门。不管怎样,你的相当大的一部分精力被消耗在担忧防范这些敌对势力上。

不巧的是,敌对势力都不怎么聪明。

是否还记得,在所有的这些电影里,犯人是如何一次次的成功把挖隧道的泥土转移的监狱院子里,所以没有人知道他们在挖洞。还有他们如何晚上把用袜子做 的假人放到床上,这样狱警就没发现他们的缺寝。如果这些狱警稍微聪明一点,尽职一点,他们就会发现这些猫腻。但这种情况永远都不会发生。

你的软件开发团队的敌对势力也跟此差不多。你很可能无时无刻的不在担心他们已经搞清楚了你们在开发什么——根据你网站上的一些描述,或广告宣传中泄 漏出来的一些信息。哦,天哪,也许他们在我们的测试环境中已经注册了帐户!你会担心,他们一旦知道了你的产品,他们会在市场上打败你,偷走你的钱、声誉, 以及伴随它们而来的锦绣前程。但你担心的这些事情可能永远都不会出现。

成年累月的苦干。

毫不奇怪的事实:从监狱下面挖一条隧道,穿过围墙,你需要做很多的工作。尤其是当你只有一把勺子的情况下。

同样的境遇,开发软件也是一个苦力活。无论你有多少开发经验、理论指导、开发工具,你最终难免少不了昏天黑地的敲打键盘。完全不是一种让人兴奋的运 动;也许你宁愿用一把勺子去挖穿一堵墙,也不愿重新整理你代码里密码重设的逻辑。尽管如此,为了目标必须做这些,所以我们编呀编啊编。

紧接着是惊心动魄的一刻。

当犯人最终逃出监狱时会发生什么?最不想看到的事情全都出现:有人意识到他们的假身份证永远等不到了,有一个警察模样的人正站在他们集合点的前面,警察和警犬的声音从几百米外的地方传来。

软件的发布与此很相似。本以为是一个欢欣鼓舞的时刻,结果情况急转直下,生产环境宕机,谷歌不知什么原因拒绝收录你的网站,系统中的一个bug导致多收了用户10倍多的钱。

万岁,我们成功的越狱了,一切顺利!除非事情没按这样发生。

让人惊奇的是,在所有的老调重弹的越狱模式电影中,在影片的末尾,故事开始出现分歧。有些结局是高兴的,所有人都获得了自由。而另一些电影中,没有 一个人逃脱。剩下的一些电影中两种情况混合到一起,一些人逃出去了,余下的人要么被抓住,要么被打死,要么被警犬咬住不放。故事的结局通常不会是过度沮丧 的,因为还要留一些拍续集的情节线索。

软件开发也是这个套路。结局有高兴的,不高兴的,或喜忧参半的。世界就是这样,尽管我们做出了很大的努力,付出了很多牺牲,但不必一定能换来成功, 所以,我们应该把重点放到软件开发自身的过程上。我们在其中获得了乐趣,我们相互关怀,相互学习。我们应该明白,虽然最终的成败与否带有一些靠天的成分, 但我们在做优秀的工作、开发杰出的软件过程中获得的满足不会因此而减少。

如果世界正向我们预期的方向运转,那是再好不过。如果不是,至少我们的续集有了一个很好的基础。

[本文英文原文链接:Building Software Is like Escaping from Prison ]