`
summeryhrb
  • 浏览: 19420 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

H2P倡议——一种新的互联网应用模式

阅读更多
From: "javaei" <javaei@163.com>
To: "webmaster" <webmaster@iteye.com>; "admin" <admin@csdn.net>; "contact" <contact@cnblogs.com>; "banq" <banq@163.com>; "jackliu.aws" <jackliu.aws@gmai.com>; "oschina.net" <oschina.net@gmail.com>; "jrwebmaster" <jrwebmaster@javaresearch.org>; "support" <support@cjsdn.net>; "chris" <chris@matrix.org.cn>; "admin2" <admin2@staff.chinaunix.net>; "admin" <admin@oracle.com.cn>; "sangernten" <sangernten@gmail.com>; "software" <software@it168.com>; "admin" <admin@chinajavaworld.com>; "service" <service@360doc.com>; "sinamedia" <sinamedia@vip.sina.com>; "thomastang" <thomastang@tencent.com>; "ir" <ir@service.netease.com>; "webmaster" <webmaster@java-cn.com>; "webmaster" <webmaster@pfan.cn>; "yaoz" <yaoz@163.com>; "Webmaster" <Webmaster@contact.sohu.com>; "java2000_net" <java2000_net@hotmail.com>; "webmaster" <webmaster@staff.ccidnet.com>; "justin" <justin@chinaitlab.com>; "david" <david@kingofcoders.com>; "yanger1997" <yanger1997@yahoo.com.cn>; "admin" <admin@javatx.cn>; "eatfishlin" <eatfishlin@hotmail.com>; "eygle" <eygle@hotmail.com>; "fondofbeyond" <fondofbeyond@163.com>
Sent: Friday, August 07, 2009 10:44 AM
Subject: H2P倡议——一种新的互联网应用模式
各网站管理员:
       我是javaei网站的管理员,近段时间,我站提出h2p概念,并推出h2p应用。h2p是html to pdf的意思,具体地说是根据批量URL生成一个有书签的pdf文档的解决方案,该方案是一个完整的解决方案。我觉得h2p是互联网应用的一种创新,值得推广,经过调查,得到不少人的认可。但是javaei网站的影响力有限,推广力度不够,为了能让h2p被大家认可并得到推广,特向各位发起倡议,一起来完善并推广这种应用,当然首先要得到各位的认可。H2p在技术上微不足道,重要意义体现在应用模式上。就像Rss一样,rss本身技术上没什么可说的,但应用模式上意义重大,rss从提出到被接受,也是经过了曲折的历程。我私下里希望,h2p也能像rss那样,被广为接受,最终成为一种大家接受的应用模式而确立下来,更重要的是,这是中国的程序员发起并推广的,这绝对是零的突破。
       下面从三个方面来展开:h2p具体介绍,为什么要推广h2p,h2p完善和推广

一、H2P具体介绍

       H2Pjavaei网站发展的结果。H2P包括两个部分:h2p-fileh2p-toolh2p-file其实是xml文件,用来描述批量的URL,主要描述两个信息,url的先后顺序和层次结构(用于处理书签)。h2p-tool是一个客户端工具,用途目前主要有三个,根据dtd校验h2p-file的合法性、编辑h2p-file和根据h2p-file生成有书签的pdf文档。

1h2p-file

在目前的方案中h2p-file包括两个xml文件,href.h2p.xmloutline.h2p.xml

href.h2p.xml示例如下

<href-info>
	<href id="KxgYaRxG">
		<value><![CDATA[http;//www.163.com]]></value>
	</href>
	<href id="53Bw5A32">
		<value><![CDATA[http://www.sohu.com]]></value>
	</href>
	<href id="eyEis6ra">
		<value><![CDATA[http;//news.163.com]]></value>
	</href>
	<href id="DMQoSN2t">
		<value><![CDATA[http;//sports.163.com]]></value>
	</href>
	<href id="5vaf3LN7">
		<value><![CDATA[http://news.sohu.com]]></value>
	</href>
</href-info>

 

这个xml很简单,之所以这样描述,是因为URL通常会有&而这个符号不能出现在xml里,而且作为属性的值,还不能用<![CDATA[]]>,所以就作为一个节点了。

h2p-tool根据这个xml生成的每个pdf文件,pdf文件的名字取id的值,后缀为pdf

 

outline.h2p.xml示例如下

<book name="我的PDF书">
	<chapter name="163" href="KxgYaRxG">
		<chapter name="163新闻" href="eyEis6ra" />
		<chapter name="163体育" href="DMQoSN2t" />
	</chapter>
	<chapter name="sohu" href="53Bw5A32">
		<chapter name="sohu新闻" href="5vaf3LN7" />
	</chapter>
</book>

 

这个xml描述了每个pdf合并的顺序,href的值和上一个xmlid值对应,chapter标签嵌套的层次就是书签的层次,name的值就是书签的名称。H2p-tool根据这个xml把每个pdf合并成一个pdf,并生成书签。

 

考虑到h2p的发展,完全有理由把这两个xml文件合并成一个xml文件,可以定义成如下格式:

<book name="我的PDF书">
	<chapter name="163">
		<href><![CDATA[http://www.163.com]]></href>
		<chapter name="163新闻">
			<href><![CDATA[http://news.163.com]]></href>
		</chapter>
		<chapter name="163体育">
			<href><![CDATA[http://sports.163.com]]></href>
		</chapter>
	</chapter>
	<chapter name="sohu">
		<href><![CDATA[http://www.sohu.com]]></href>
		<chapter name="sohu新闻">
			<href><![CDATA[http://news.sohu.com]]></href>
		</chapter>
	</chapter>
</book>

 

对应的dtd可以定义如下

<!ELEMENT book (chapter+)>
<!ATTLIST book      name   CDATA #REQUIRED>
<!ELEMENT chapter (chapter*)>
<!ATTLIST chapter      name  CDATA  #REQUIRED>
<!ATTLIST chapter      href  CDATA  #IMPLIED>

 

在这个方案当中,h2p-file具有十分重要的意义,它作为一种资源被提供下载,也可以在线使用,h2p-file的格式作为一种协议,可以被各大网站支持,

 

2h2p-tool

h2p-tool是处理h2p-file的客户端工具,目前h2p-tool的功能主要有以下三个方面

根据dtd校验h2p-file的合法性,

编辑h2p-file编辑功能包括新建、修改、保存,

根据h2p-file生成有书签的pdf文档,先根据。

目前h2p-tool一部分是用C#开发的,一部分是用Java开发的。不管h2p-tool用什么开发,通过什么方式使用(在线或离线的),只要能处理h2p-file即可。

h2p-tool的功能还可以有如下扩充:

合并h2p-file,解析h2p-file在线阅读(这一点类似于google reader),也可以不需要h2p-tool,直接用xsl展示h2p-file

下图是h2p生成pdf的一个示例。



 

二、为什么要推广H2P

其实就是要回答h2p有什么价值。自从有了h2p构想以来,我一直在思考这个问题。

从以下几个方面说明我的思考:

(1)各大网站已经积累了丰富的资料,随着pdf的风行,导出pdf是很多用户的需求,提供pdf导出功能的网站还不多,实际上技术已很成熟,原因在于没有很好的模式。导出pdf是个性需求,网站无法知道用户需要把哪些导出成pdf,而且在服务器端生成pdf,不仅会增加服务器端压力。而且会增加管理员工作量。而如果网站只是提供h2p-file下载,由用户利用第三方工具(也即h2p-tool)自行编辑h2p-file,自行生成pdf,上面的问题就解决了,服务器端压力没有了,只需生成h2p-file,用户可以根据自己的需要对h2p-file进行编辑,生成pdf既满足了个性需求,同时把生成pdf的压力转移了用户,这点小压力对单个用户是可以接受的。

2如果网站想支持pdf导出的话,那么只需提供h2p-file,就像rss一样,网站要提供订阅功能,只需提供rss就行

3)网站可以根据用户的请求动态的生成h2p-file,从而间接的实现根据请求动态生成pdf的功能,这一点意义非凡。

4)网站提供h2p-file,会导致对网站内容的整理和挖掘,从而促进站内智能搜索的应用。

5)满足了用户的便捷,就是赢利的开始。关于盈利,在网站广告投放这方面一点都不会受影响,pdf超强的表现力足可以完美的表现广告效果,在h2p-file里可以适当放一些广告链接,同时,h2p-tool上也可以投放广告,h2p-tool在生成pdf的时候也能再适当位置加入广告。把广告固化到pdf文件里,这种方式比在浏览器里显示的广告生命周期要长得多,因为pdf是只读的。

6)最后一点,是意义上的而非价值上的,那就是如果h2p推广开了,被人们接受了,那么这将是第一个由中国的程序员发起并推广的一个协议,一个互联网应用模式Bbsblogwikitwitterrss等等,耳熟能详的东西,有技术含量吗?真正有价值的是这些应用模式,正是这些应用模式推动着互联网的飞速发展。而搜索引擎却集优秀的应用模式和先进的理论思想与技术于一身。

7)有可能带来其他方面的影响,比如网站内容的提炼和聚合。

三、H2P完善和推广

H2P刚刚产生,是个雏儿,尽管核心思想已经体现出来了,但在形式上和应用上还有需要大幅度的完善。可从以下几个方面展开:

1)齐心协力共同制定和完善h2p-file的格式,使h2p应用更加便捷和丰富。h2p-file可以分成两个文件独立描述,也可以合为一个,前面已经阐述了。

2)确定了h2p-file的格式,进一步完善和重新开发h2p-toolh2p-tool可以有三个方向,一个方向就是目前的方向,开发一个客户端工具,并且使用浏览器的内核,把浏览器的功能集成进来,在java开发方面已经有了JDIC这么一个框架了;第二个方向就是类似google reader的方向,在线解析h2p-file,以树形结构显示连接,提供在线的便捷阅读;第三个方向采取最简单的方式,直接用xsl显示h2p-file

3)博克文章、论坛帖子一般至少有三分之一的内容是广告或图片,直接根据URL生成的pdf就显得很臃肿,这是这个方案的缺陷,解决这个问题最简单的思路就是网站针对h2p应用再提供一个URL,根据这个URL得到的内容主要是文字形式的内容,之所以说它简单,是因为现在的界面的输出大多采用的模板技术,在模板上稍作变动,就可以输出没有太多广告和图片的内容。但考虑到网站需要投放广告,可以允许有少量广告,从而就产生了h2p-file质量这个概念,图片越少广告越少,那么生成的pdf就越干净体积就越小,h2p-file质量就越高;反之,生成的pdf就像现在的报纸一样,实质内容淹没在广告里而且体积还很大,h2p-file质量就越低。

4)如果上面的思路得到了采纳,那么根据一条URL生成单个pdf 的技术就能很好的解决。目前的h2p-tool在这一部分的开发用的是一个C#组件(生成的pdf有水印,我估计这个组件是调用了IE浏览器的功能)。之所以采用这个组件,是因为要保证生成的pdf展现效果和浏览器里的效果完全相同,这无异于做一个浏览器,难度可想而知。如果专门为h2p应用再提供一个URL,根据这个URL得到的内容主要是文字形式的内容,没有复杂的标签和样式,这种情况下,使用iText等框架生成pdf是可行的。Javaeye网站提供的pdf下载和电字书制作得到的pdf就是这种情况,提取博克文章的主体内容生成pdf

5)各网站对h2p的支持很简单,只需发布网站内容的h2p-file即可,h2p-file从此就以协议或资源的身份出现在互联网中。

 

以上三方面的内容分别阐述了h2p应用模式、h2p的意义和价值和h2p完善和发展的方向,回答了为什么要发起这个h2p倡议。敬请各网站管理员考虑我的意见,推动这个新的h2p应用,不仅会各网站带来新的赢利,而且这将是我们这些中国程序员的集体荣耀。

 

 

 2009-8-7

Javaei网站

 

 

 

相关介绍:

投票:你认为h2p实用吗

H2P介绍

根据批量URL生成有书签的PDF文档的解方案

pdf生成的解决方案(H2p)之H2P技术细节

pdf生成的解决方案(H2p)之H2P展望

 

  • 大小: 91.2 KB
0
0
分享到:
评论
1 楼 javer 2009-10-30  

相关推荐

Global site tag (gtag.js) - Google Analytics