2011年4月9日星期六

李渔之率性人生(6)——打抽丰

《四库提要》别集存目七《赵宦光牒草》记载:“有明中叶以后,山人墨客,标榜成风。稍能书画诗文者,下则厕食客之班,上则饰隐君之号,借士大夫为利,士大夫亦借以为名。”由此看出,明中叶以后的社会风气表现为社会上的达官显贵、士大夫等纷纷借助一些有声望的文人来抬高个人的文化品位。仗着家中丰厚的钱财,把文人招于府内,不仅可以为他们装点门面,又能得到“礼贤下士”的美名。然而“混迹公卿之间”的文人,靠着士大夫的施舍度日,经济窘迫之时还要四处求告, 遭到很多世人的不耻,将他们的行为称作“打抽丰”。

李渔对于诗文、戏曲、小说等无不精通,渐渐名声大振,许多江南名士都以结交李渔为荣,替他的书作序写评。黄鹤山农在《玉搔头·序》中指出:
笠翁何以得此哉?盖笠翁髫岁即著神颖之称,于诗赋古文词罔不优赡,每一振笔,漓漇风雨,倏忽千言。当途贵游与四方名硕,咸以得交笠翁为快。家素饶,其园亭罗绮甲邑内。久之中落,始挟策走吴越间,卖赋以糊其口,吮毫挥洒怡如也。嗟乎!笠翁有才若此,岂自知瓠落至今日哉。余因序次其所为传奇而并及之,且令天下知笠翁不仅以传奇著也。

但是为了一家几十口人的衣食来源,保障自己奢侈享乐的生活方式,他的行为有着很多的痛苦与无奈,并非所愿:“二十年来担簦负笈,周历四方,所至辄随士大夫游。”“混迹公卿大夫之间,日食五侯之鳍,夜宴三公之府。”在《复柯岸初掌科》中也提到:“矧又贱性,耻于干竭,浪游天下几二十年,未尝敢尽一人之欢”。这种为众人所不耻的行为使李渔落下了个“惯打抽丰”、“帮闲文人”的骂名。

从1666年开始,李渔开始四处“打抽丰”的活动:

李渔从江宁(南京)出发,开始第一次的打抽丰。远游燕、秦等地,游京师,拜访龚鼎孳等人。往返路线为:正定(真定)——山西平定州——山西平阳(平阳知府程质夫出钱购买一个13岁女子赠予李渔,即乔姬)——蒲州——冬抵陕西西安(陕西巡抚贾复汉)——咸宁(郭传芳)——赴甘肃兰州(纳王姬,甘肃巡抚刘斗)——五月再往甘肃甘泉(甘肃提督张勇)——过陕西泾阳(当时王际有任泾阳知县,并结识梁冶湄)——游西岳华山——出潼关——过砥柱——入河南——经汝宁(汝南)——岁末抵徐州(纪子湘)等地——春来花发时节抵家。

康熙七年(1668),继以游粤。往返路线为:江宁——安徽芜湖——江西鄱阳湖——临江(清江)作诗和江西参议守湖西道施闰章——十八滩——虔州(赣县)——大庾岭——广东南雄——英德——广州——秋后,过广西苍梧——游桂林,迂道湖南东安访潘愚溪——湘江——江西十八滩——鄱阳湖——彭泽——安徽鸠兹——1669年四月初抵家江宁。

康熙九年(1670)李渔再次从南京出发以游闽,特地经过其老家金华兰溪夏李村,过仙霞岭,仲秋初吉,当时包璿也在闽地,为之《一家言》作序。至福州,受福建总督刘耀薇等款待。

1671年初春,李渔在扬州,应蒲松龄邀请赴江苏宝应演戏给宝应知县孙蕙祝寿。初夏,由江宁出发,游苏州。在苏州,与尤侗、余怀、宋澹仙诸友观摩戏剧。过九江,知府江念鞠接待。二月,抵汉阳。三月,游荆南、荆门。拟自楚之晋,自晋入京。因乔姬病故而汉阳返棹。过黄、蕲二州,游吴王庙。重过九江而返。

1673年春,夜游燕子矶——过扬州——过高邮——过清江闸——渡黄河——入山东——再入都门,拜会了陈学山,龚鼎孳,柯耸,索额图等人,为贾胶侯设计半亩园。

1674年初春,离京南归——过徐州——过扬州,访老友程邃——夏游芜湖——秋再游杭州,喜遇丁药园,访钱塘知县梁冶湄,并结识其幕客徐电发,遇老友孙宇台——杭城返棹——过桐乡,知县孙雪崖接待——中秋,在鹤浦——抵江宁。

1675年,在江宁,游浙:春,过苏州——五月,游绍兴——送长子将舒、次子将开赴严陵应童子试——回杭,过严陵钓台——杭城返棹。

“打抽丰”一方面为李渔一家几十口人提供了生活经济来源,另一方面,在四处打抽丰的过程中,越来越多的人知道了李渔,提高了个人在社会上的知名度,在一定程度上促进了他的作品在社会上的传播。

文章配图

李渔之率性人生(5)——搬家记

李渔祖籍为浙江金华兰溪,出生于江苏如皋。在其一生中,有着几次举家搬迁的经历:

  1. 明朝天启六年甲寅(1626)左右,跟随母亲返回金华兰溪的夏李村,与徐氏完婚

  2. 在母亲去世以后的崇祯十六年癸末(1643),移居金华

  3. 顺治三年丙戌(1646),清军攻占金华并屠城,死者无数,李渔重归夏李村,建伊川别业

  4. 顺治九年壬辰(1652),李渔举家迁往杭州

  5. 康熙元年壬寅(1662),移家江宁(即南京),在南京孝候台侧建芥子园

  6. 康熙十六年丁已(1677),迁居杭州,建层园。


只可惜,由于战乱等原因,李渔的多处家业都没有保留下来。

李渔是不甘清净之人,除了年少时期与战乱避难之外,几次举家搬迁都选择在经济发达的大都市。明末清初时,这些地方不仅交通发达、生活便利,人口众多;更为重要的是,市民阶层作为李渔作品传播的主要接受群体,选择都市而居,足见李渔的商业头脑与洞察力。

前些年,在兰溪市兰荫山山麓,为纪念李渔,有关部门根据其南京故居芥子园的格局进行重建。一直都挺想去看看的,至今还未如愿。

芥子园

我的WordPress插件列表

WordPress是一款优秀的博客系统(当然现在远不止这些),它能够实现傻瓜式的建站。然而WordPress越来越注重内核的提升,早就抛弃了额外功能的实现,现在连分页也必须使用插件来实现了。所以插件是必不可少的,但也不是多多益善的,下面来罗列一些本人所使用的插件。

AdSense Manager

广告管理,可以在网站中方便地添加广告单元。

广告直接用代码实现。

AJAX Comment Pager

评论分页功能增加 AJAX 处理,不依赖任何 JavaScript 框架。

Akismet

垃圾留言屏蔽器。

All in One SEO Pack

SEO优化包。

Disable Revisions and Autosave

禁用版本修订和自动保存功能。

WP-Flickr

在撰写文章的下方展示50张Flickr账户的图片,能够更方便地插入图片到文章中。

FV Gravatar Cache

Gravatar头像的缓存,使得网页中的留言头像缓存到本体,不必向Gravatar服务器请求,节省时间。

Google XML Sitemaps

谷歌站点地图,使得网站文章快速提交到谷歌,及时被收录。

jQuery lazy load plugin

网站图片延迟加载。

此插件总容易失效,目前采用代码的实现方式,参考延迟加载图片的实现。

Mail To Commenter

留言发送到邮箱。当有新的留言或者留言被回复时,信息会及时的发送到所记录的邮件地址中。

Popularity Contest

文章列表,文章按年、月、日或者自定义的周期排列。

此插件确实功能强大,但频繁地操作数据库,替换为WP-PostViews.

WP-PostViews主要实现记录和展示文章浏览量的功能,同时可实现文章按着热度及周期排列的文章列表。

cos-html-cache

页面静态化,降低数据库查询次数,以减少流量。

Quick Comments

不刷新当前页实现留言的功能。

Widget Logic

侧边栏的Widget自定义显示。

侧边栏的Widget直接用代码实现。

WordPress Database Backup

数据库定时备份。

WordPress Related Posts

相关日志。

相关日志功能替换为Yet Another Related Posts Plugin

WP-EasyArchives

文章按月和作者归档。

WP-PageNavi

分页导航。

WP-PostRatings

文章评分,实现读者推荐的文章列表。

个人感觉是个很鸡肋的功能。

WP-RecentComments

文章的最新评论。

WP-Syntax

代码高亮。

wp-utf8-excerpt

首页文章内容的截取输出。

WordPress Gzip Compression

网页启用Gzip压缩,降低主机空间宝贵的流量

WPtouch

博客的移动版,通过优化网站便于在移动设备上查看。

我的Chrome扩展列表

不可否认谷歌浏览器是当今最好的浏览器之一,本人选用Chrome作为日常的浏览器,主要考虑的是它的安全和速度。我们都知道Chrome是采用沙箱的机制来确保安全,而且每个网页使用唯一的进程来表示,这样使得即使某个网页坏掉不会造成整个浏览器崩溃。

浏览器的插件(或者叫做扩展)可以满足了用户的不同需求,也是浏览器发展的趋势之一。下面来介绍一下本人使用的谷歌浏览器扩展。

AdBlock

大名鼎鼎的去广告插件,极大的提升浏览的体验。这个应该是插件的必备。

Proxy Switchy!

代理插件,方便高效地实现出墙。这个也是国内用户必备的插件。

Google Quick Scroll

在谷歌搜索到的页面中快速定位到搜索关键词的位置,也就是快速定位的插件,这个应该是搜索达人必备的插件。

Google Mail Checker

谷歌出品的Gmail插件,每当邮件到达时会提醒用户,而且可以对收到的邮件实行简单的操作。

AutoPagerize

自动分页。真的很烦点击“下一页”的操作,此插件可以解决无缝的翻页,再也不用点击“下一页”了。

+S

此插件可以把http变成https的加密形式,本人主要使用它来查看谷歌的网页快照,差不多相当于半个翻墙。另外自从Chrome取消了地址栏中的http://的显示以后,此插件用处更大了。

Smooth Gestures

鼠标手势,可方便的实现关闭标签页、前进、后退等。

Google Dictionary

谷歌字典,它与谷歌账户相连,可以记录查询翻译的结果。

Super Google Reader

谷歌阅读器扩展,把摘要输出的RSS变成全文输出,不用再麻烦地转到原始页查看内容了。

Google Talk Gadget

Gtalk扩展,本人主要使用它来收发微博及Twitter.

Clip to Evernote

Evernote的网页笔记扩展,能够很方便地把网页的内容保存到Evernote中。

当然,使用浏览器插件的目的应该是按需索取,而且过多的插件会拖慢浏览器的速度。合适的选取插件不仅能够方便地提高浏览体验,而且可以快速高效地实现所需要的功能。

2011年4月8日星期五

Web服务知识整理

朱海萍,李增智,杨怀洲. 基于面向服务体系结构 SOA的业务管理研究. 北京邮电大学学报. 2004, 27.

在过去的40年里,软件体系结构试图处理日益增长的软件复杂性。但是,复杂性仍在继续增加,传统的体系结构好像已经达到了它们处理此类问题的极限.在很多情况下,问题在于缺乏一个一致的体系结构框架,它能够装配组件和服务, 以便快速甚至动态地交付应用程序. 面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务) 通过这些服务之间定义良好的接口和契约联系起来.基于面向服务的体系结构SOA构建业务管理能够适应不断变化的业务环境, 比如经常改变的服务策略、业务级别、业务重点、合作伙伴关系、服务质量参数以及其他与业务有关的因素。

Web服务是一系列标准和正在发展中的标准,它们是由W3C设计和指定的,用来促进跨平台程序对程序通信。Web服务作为实现SOA的一种方式,能够提供高层的业务描述、注册和发现机制,并进一步实现业务环境中的事务机制、安全机制和业务流程.从更高的概念层面讲,可以将Web服务视为一些工作单元,每个单元处理特定的功能任务,进而可以将这些任务组合成面向业务的任务,以处理特定的业务操作任务.

李景霞, 侯紫峰. Web 服务组合综述. 计算机应用研究.2005.第12期:4-8.(文章主要介绍了Web服务体系结构,Web服务的描述语言WSDL、OWL-S,以及Web服务的组合技术。)

近年来Web服务技术得到快速发展和应用,Web服务是基于网络的、分布式的、自描述的、模块化的组件,它执行特定的任务,遵循一定的技术规范,提供了面向Internet应用的统一服务注册、发现、绑定和集成机制,成为广域环境下实现互操作的一种主要机制,得到产业界和学术界的广泛认可。

Web服务体系结构:

Web 服务体系结构由三种角色和三种基本操作构成。三种角色包括:

(1)服务使用者。它是一个应用程序,一个软件模块或需要服务的另一种服务。它发起对注册中心中服务的查询,通过传输绑定服务,并执行服务功能, 服务使用者根据接口契约来执行服务。

(2) 服务提供者。它是一个可通过网络寻址的实体,接收和执行来自使用者的请求。将自己的服务和接口契约发布到服务注册中心,以便服务使用者发现和访问该服务。

(3) 服务注册中心。它是服务发现的支持者,包含一个可用服务的存储库,并允许感兴趣的服务使用者查找服务提供者接口。

Web服务体系结构中的每个实体都扮演着服务提供者、使用者和注册中心这三种角色中的某一种(或多种)。Web服务体系结构中的三种操作包括:

(1)发布。为了使服务可访问,需要发布服务描述以使服务使用者发现和调用它。

(2)发现。服务请求者定位服务,查询服务注册中心来找到满足其需求的服务。

(3)绑定和调用。检索完服务描述之后,服务使用者根据服务描述信息来调用服务。

Web服务体系使用一系列标准和协议来实现相关的功能。使用WSDL(Web Services Descript ion Language)来描述服务,使用UDDI( Universal Descript ion, Discovery and Integration)来发布、查找服务,使用SOAP( Simple Object Access Protocol)来调用服务。

随着Web服务技术的日益成熟,越来越多的稳定易用Web服务共享在网络上。但单个的Web 服务能够提供的功能有限,为了更加充分地利用共享的Web服务,有必要将共享的Web服务组合起来,提供更为强大的服务功能,加快系统开发的速度,快速满足用户需求。

Web 服务作为一种崭新的分布式计算模型已经在电子商务、企业应用集成等领域扮演着越来越重要的角色。随着Web服务相关标准的持续完善和支持Web服务的企业级软件平台的不断成熟,越来越多的企业将其业务功能和流程包装成标准的Web服务发布出去,实现便捷快速的寻求合作伙伴、挖掘潜在客户和达到业务增值的目的。如何有效地组合分布于Internet中的各类服务,实现服务之间的无缝集成,形成功能丰富的企业级服务流程以达到企业的商业目标,已经越来越成为Web服务发展过程中的一个重要步骤。Web服务组合的研究正是在这种背景下被提出来,并吸引了工业界和学术界的广泛关注。国内外学者围绕 Web 服务组合建模语言、服务组合方法、服务组合执行、服务组合验证等方面进行研究,启动了诸多研究项目,如METEOR-S、SEFL-SERV、e-Flow等。Web服务组合问题已经成为分布式计算、流程管理以及软件工程领域的一个研究热点,研究成果也层出不穷,本文重点就当前主要的服务组合方法进行综述。

Web 服务组合是指当单个Web服务无法满足用户需求时,将若干Web服务进行有机合成,以形成大粒度的具有内部流程逻辑的组合服务的过程。

吴家菊 ,刘 刚 ,席传裕。基于Web服务的面向服务(SOA)架构研究。现代电子技术。2005.28(14).

随着互联网的发展,网上交易、电子商务的逐渐繁荣,企业内部、企业之间的信息交流越来越依赖于Internet/Intranet。随之而发展的Web服务为分布式计算提供了支持。Web服务的平台和语言中立性使得跨平台的互操作、系统的整合更加容易。同时Web服务技术的成熟化使得SOA架构思想得到很好的应用。

早在十年前,Gartner Group就提出了面向服务软件体系架构概念。但是传统SOA的实现采用的都是一种紧耦合、非通用的接口设计,无法满足跨企业的分布式系统的信息共享,无法使软件得到最大限度的重用,不能实现实时系统,因而一直没有得到很好的应用。随着W3C对Web服务的协议的规范化以及IBM、Microsoft、SUN等国际顶级IT大公司联合制定规范和服务支持,Web服务技术日趋成熟化。Web服务采用了一种面向服务的开放的、松耦合的架构,所有协议都是基于XML具有通用性,并且实现简单。因此,Web服务给SOA软件体系架构带来了新的契机。本文深入剖析了传统SOA架构技术和Web服务的原理、实现机制,并且分析了基于Web服务的SOA的实现,描述了基于We b服务的SOA的通信结构和实现层次结构。

SOA观念不是新的,CORBA和DCOM就很类似,但是,这些过去的面向服务架构都受到一些难题的困扰:首先,他们是紧密耦合的,这就意味着分布计算连接的两端都必须遵循同样API的约束。例如,如果一个COM对象的代码有了更改,那么访问该对象的代码也必须做相应更改。其二,这些面向服务架构受到厂商的约束。Microsoft控制DCOM自不必说,CORBA也只是一个伪装的标准化努力,事实上,实现一个CORBA架构,经常都是在某个厂商对规范的实现上进行工作。今天的SOA与过去不同的是基于已广泛接受的Web服务标准,从而提供了在每个不同的厂商解决方案间的相互性。

Web服务将软件模块看成一种Internet/Intranet上的服务单元,借助XML和广泛应用的Web协议,实现分布式的计算和异构平台的信息集成。

Web服务协议与技 术

Web服务的核心技术为XML。他的具体协议为SOAP、WSDL和UDDI。XML在Web服务中不是一个单独的协议,但他却是Web服务的核心技术。XML为Web服务提供了统一的数据格式,包括消息、服务描述以及工作流的描述等不同层次的协议,都采用XML作为定义语言。XML的数据描述机制奠定了Web服务革命的技术基础。

SOAP是用于交换XML编码信息的轻量级协议。他使用基于TCP/IP的应用层协议HTTP、SMTP、FTP等,可以与现有的通信大量兼容。

WSDL是借助XML来描述一个网络服务或端点,用于定义Web服务以及调用方式。

UDDI提供了在Web上描述并发现商业服务的框架,是面向Web服务的信息注册中心的实现标准和规范。

SOA是一种以服务流程为中心的体系结构。流程可以分解成一系列的步骤,每一个步骤表示一个业务服务。实际上,每个过程服务或组件功能都相当于一个子应用程序。将这些子应用程序链接在一起可以创建能够满足业务需求的服务流程流。流程流中的任何元素都是独立的服务,可以方便地修改。因此,SOA允许实时使用和重用整个组织中的子应用程序。SOA的实现方法是一种自顶而下的设计方法。SOA软件体系架构思想中最重要的一条就是:“服务就是一切”。系统架构设计师在设计软件系统结构时,一切都是从服务的角度出发,首先考虑服务需求,进行系统服务装配。

冯 名 正。We b服务组合研究综述。计算机应用与软件。2007. 24(2):23~26.(文章主要介绍了Web服务、语义Web服务、服务组合的相关技术。)

W3C组织2004年初在Web服务体系结构(Web Services Architecture,WSA)中对Web服务的定义如下:Web服务是一个软件系统,被设计来支持网络上机器之间的可互操作的交互,它有一个清晰的、机器可读的、通用的标准描述(WSDL),其他系统以该描述中说明的方式与它交互,具体使用SOAP消息以及其他Web相关标准,具有完全开放、松散耦合、标准协议规范和高度可集成能力等特征。Web服务体系结构关注于全球Web服务网络中Web服务之间的互操作,主要目标集中在互操作性、可扩展性、安全性、Web集成、实现和管理几个方面。

综合已有的各种定义,我们对Web服务组合提出一个更为通用和完整的定义:利用Internet上分布的现有Web服务,根据用户的应用需求,自动地选择合乎需要的服务,在服务组合支撑平台的支持下,按照一定的规则协同完成服务请求。Web服务组合可以利用较小的、较简单的、且易于执行的轻量级服务来创建功能更为丰富、更易于用户定制的复杂服务,从而能够将松散耦合的、分散在Internet上的各类相关Web服务有机地组织成一个更为可用的系统,支持企业内、外部的企业应用集成EAI和电子商务等网络应用。

随着计算机应用的进一步发展,网络的研究重点从网络层系统互联向应用层服务集成的迁移已成为必然。而在应用领域,全球经济的竞争不断加剧,企业要在这种激烈的市场竞争中生存下去并要取得不断进步,必须能够对客户需求、市场机遇以及外部竞争的变化做出快速而灵活的响应。另一方面,如何更好地保护企业先前投资,利用已有资源,整合出符合要求的、有效的新服务,这已经成为一个迫切需要得到解决的问题。围绕这一问题,不少技术应运而生。当前正在迅速发展的是基于Web标准的服务组合,该方法被广泛用来改进企业软件系统的敏捷性、灵活性和可用性。

Web Services Architecture.2009.http://www.w3.org/TR/ws-arch/#whatis

Berners-Lee提出的语义Web的目标是使得Web上的信息具有计算机可以理解的语义,满足智能软件代理对WWW上异构和分布信息的有效访问和搜索。在语义Web中,Ontology具有非常重要的地位,是解决语义层次上信息共享和交换的基础。Gruber认为,本体是概念化的明确的规范说明。为了便于使用,需要有一个通用的标准语言来表示本体。在语言开发方面,主要集中在OWL-S它是一种具有显式语义的无歧义的机器可理解的标记语言。

QoS的最初定义由CCITT(ITU—T)给出:“QoS是一个综合指标,用于衡量使用一个服务的满意程度”。在OSI参考模型中,互联系统被构造为分层结构,各层协议的质量可定义为对于该层来说可见的性能参数,从而每一层都有一组提供给该层用户的QoS参数。在更高层次的应用层,Web服务已经发展成为企业应用集成的主要方式,Web服务能够提供的服务质量在商务关系中占有极其重要的地位。

20世纪90年代末,随着分布式对象技术和XML技术的发展,出现了Web服务(Web services)技术,基于Web服务的分布式计算模式正在成为技术发展的趋势。

We 服务是指那些由URI 来标识的应用组件,其接口和绑定信息可以通过XML定义、描述和查找;同时,Web服务通过基于Internet协议的XML消息,可与其他软件、应用直接交互。换言之,Web服务就是可以通过标准的Internet协议访问的应用组件,它不依赖于特定的硬件、操作系统和编程环境。

Web服务是一个软件系统,它被用来设计和支持网络上机器之间的可互操作的交互,它有一个清晰的、机器可读的、通用的标准描述(WSDL),其他系统以该描述中说明的方式与它交互,具体使用SOAP消息以及其他Web相关标准,具有完全开放、松散耦合、标准协议规范和高度可集成能力等特征。

党伟超, 白尚旺. 一种基于OWL-S的Web服务体系结构. 计算机技术与发展. 2007. 17 (5): 195-197.(这篇文章主要介绍了Web服务的关键技术,SOAP, WSDL, UDDI。指出了WSDL描述Web服务的不足,需要添加本体,之后介绍了OWL-S技术。)

Web服务技术是一种新型的面向服务体系结构实现形式,在Internet环境中,软件系统功能的实现借助于相互协作的各个服务交换信息来完成,这需要解决诸如Web服务描述、服务发现、服务的调用和组合等问题。

Web服务,是一个新的分布式计算模型,是web上数据和信息集成的有效机制。Web服务主要利用WSDL进行服务接描述,采用SOAP进行服务调用,UDDI规范进行服务的发布和查找。所有这些标准都基于XML,由于XML具有跨平台和松散耦合的特点,从而使web服务成为解决企业应用集成(EAI)、B2B等的最佳解决方案。

要实现服务的动态组合和协调还要解决诸如服务的重用与合成、安全、QoS及基于长事务的服务管理与调度等更为复杂的应用问题。

SOAP定义了在Web服务间传递消息的格式,并且还描述了使用http来传递消息。WSDL文档将Web服务定义为服务访问点或端口(port)的集合。UDDI的核心组件是UDDI商业注册,它使用一个XML文档来描述企业及其提供的web服务。白页,企业的基本信息,名称,地址,经营范围。黄页,依据标准分类法区分不同的行业类别,使企业能够在更大范围内查找已经在注册中心注册的企业或web服务;而绿页包括企业所提供的web服务的技术信息。

对于Web服务,需要从形式和内容两方面进行描述。在形式方面,XML保证了信息交互的标准化,而WSDL集中描述与服务调用相关的具体细节,如网络协议、消息格式、参数的类型等,也就是集中在Web服务的语法描述上,而没有对服务的语义和性能信息进行描述。对于基于Web服务的动态应用集成来说,它需要服务组件能够协同,并要求根据业务流程的变化能够动态地绑定和调整服务组件,仅仅依靠WSDL描述的物理信息,还不能完全达到目标这就要求在WSDL之外提供服务的语义描述信息和性能信息,使Web服务成为计算机可理解的实体,从而实现服务的动态发现、调用、组合、验证以及执行监控。要实现Web 服务发现、调用和组装的自动化,有两个关键问题。首先,对于服务发现,不能仅仅依赖关键词搜索,而需要按照服务所提供的功能搜索,这样才能找到确实需要的服务。其次对于服务调用和服务组装的自动化,需要基于语义的互操作,也就是说,服务之间必须能够理解互相交换的信息。

服务使用WSDL来描述还是不够,需要采用本体来描述服务,增加服务的语义信息。基于本体进行服务的描述与理解,通过构造企业特定领域本体,建立企业之间的关联。领域本体提供了该领域的概念定义和概念之间的关系,提供该领域发生的活动以及该领域的主要理论和基本原理等, 在该特定领域中可重用。

吴善明 ,沈建京,韩强. 基于领域本体和 OWL-S的Web服务组合方法. 计算机工程. 2009, 35(21).

本体即概念的明确规范说明。Web服务的语义描述主要依赖2类本体:领域本体和Web服务本体。Web服务本体定义了用于描述Web服务的主要方面,这些方面独立于Web服务作用的具体领域。领域本体是领域术语集和领域知识集的总体,是领域的概念化详细说明,可用本体语言将其详细说明。Web服务本体为Web服务提供了统一的本体框架模型,从而便于后续Web服务语义描述。领域本体为Web服务的语义描述提供公共的基本领域概念和术语。

OWL-S即网络本体服务语言,由DAML-S发展而来,是OWL的应用。OWL-S主要包括4个任务:自动Web服务发现,触发,组合和互操作,执行监控。为达到此类目标,OWL-S通过一组规范的知识本体来描述服务,并将该本体划分为3个组成部分:服务轮廓,即服务能提供什么;服务模型,即服务如何工作;服务基点,即服务如何被访问。

在OWL-S的服务模型中,定义一个过程模型,包括2个部分:(1)过程,从服务的组成过程(如输入、输出、前提和效果等)来描述服务,使服务能够进行规划、动态组合以及交互操作;(2)过程控制模型,实现智能主体对一个服务请求的执行控制。通常把这2个部分称为过程本体和控制本体,通过过程本体可以定制广泛服务,通过控制本体可以监控服务执行。在控制本体结构中,原子过程是能够直接被调用的Web服务,不可分割且可以单步执行。与之相比,简单过程也是单步执行,但它既不能被调用,也不需要与服务基点相结合。组合过程是由原子过程或组合过程通过控制结构连接起来的。

Web的创始人Tim Berners-Lee于2001年首次提出语义网的概念,并把它看成是网络的发展方向。

在计算机科学与信息科学领域,理论上,本体是指一种“形式化的,对于共享概念体系的明确而又详细的说明”。本体在特定领域内提供统一的词汇表,使各个系统之间表达的含义一致,也可以说本体就是一个术语集。广泛地应用于各个领域,例如物流领域本体、基于本体的知识管理、基于本体的知识检索等等。本体的实现目标是获取相关领域的知识,提供对该领域的共同理解.

本体原本是哲学上的术语,后来被用在计算机领域。指的是描述一组概念和关系构成的世界。本体最重要的目标就是尽量与现实世界中的事物一致。本体在哲学和计算机领域的共同点在于它们都是依赖某种类别体系来表达概念和现实之间的关系的。人们已经完成了大量的工作来解决本体相对性的问题。本体能够将有关概念关系通过框架结构显示地表示出来.

从历史上看,本体是哲学上形而上学的分支。二十世纪下半叶,哲学家们普遍开始研究构建本体的方法,但并没有成功地构建出本体。但计算机领域却构建出比较大型的本体,但没有从理论上对本体进行研究。二十世纪70年代,科研人员认识到构建本体的重要性,普遍认为把本体构建成计算机模型将促进人工智能和自动推理的实现。二十世纪80年代,科研人员普遍开始使用“本体”这个词语,由于其来自于哲学,科技界把本体视为应用哲第2章语义网相关技术概述学[27]。二十世纪90年代,汤姆?格鲁伯发表了一篇著名的论文《Toward Principles for the Design of Ontologies Used for Knowledge Sharing》。这篇论文为本体下了严谨的定义。本体大多是由类、定义、归类关系构成的分类层次机构,但也不全是这种形式的,它引入的仅仅是术语,而不是任何现实世界的知识。

李景霞, 侯紫峰. Web 服务组合综述. 计算机应用研究.2005.第12期:4~8.

语义网( Semantic Web)的发展要求可以通过Web资源的内容等语义信息来访问Web资源,而不仅仅是通过数据类型匹配、关键词匹配来查找信息。Web服务作为Web上的一类越来越重要的资源,同样要求Semantic Web对其提供广泛的语义支持,从而实现Semantic Web Services。OWL-S就是Semantic Web 中一种用来描述Web服务的属性和功能的本体规范,它使用一系列基本的类和属性来描述Web服务,提供了一个可共享的框架。它的目标是使得 Web 服务成为计算机可理解的实体,从而便于实现服务的发现、调用、互操作、组合、验证和执行监控等。

冯 名 正。We b服务组合研究综述。计算机应用与软件。2007. 24(2):23~26.

Berners-Lee提出的语义Web的目标是使得Web上的信息具有计算机可以理解的语义,满足智能软件代理对WWW上异构和分布信息的有效访问和搜索。在语义Web中,Ontology具有非常重要的地位,是解决语义层次上信息共享和交换的基础。Gruber认为,本体是概念化的明确的规范说明。

语义Web的概念被用来定义智能的Web服务,以便支持服务的动态发现、组合、调用和互操作等工作的自动化。语义Web概念和Web服务的研究相结合,形成了当前的语义Web服务。语义We b服务基于Web服务建模框架(Web Services Modeling Framework,WSMF)的理念,将语义加入到工作流程领域(BPEL、BPML或WSCI)的建模机制中去,并集成这些语义到服务本体中。

为了便于使用,需要有一个通用的标准语言来表示本体。在语言开发方面,主要集中在OWL-S,它是一种具有显式语义的无歧义的机器可理解的标记语言。在OWL-S中,一个Service由三部分来描述:Service Profile、Service Mode和Service Grounding。 Service Profil描述服务是做什么的,Service Mode描述服务是怎么做的, 而Service Grounding则描述应该怎么访问服务。

王刚,Ontology、Agent及Qos在服务选择中的应用研究,安康学院学报,2010,22(1):8-15

由于服务质量要素的多维以及缺少语义和有效的协商,用户难以获取满意的服务。因而提出利用Ontology和Agent,并结合Qos (Quality ofService)要素来进行服务选择的办法。该方法利用本体及Qos要素来表示语义,重点研究和改进了本体相似度计算方法,研究了Qos要素参与的语义相似性计算方法,并由Agent根据语义相似度的大小和服务成本,进行协商,设计了具体的协商算法,通过协商达成一致,选出用户满意的服务方案。

利用Ontology和Agent,并考虑Qos要素来进行服务选择,避免单纯考虑Qos的要素·本文把相似性研究的成果引入到概念相似性度量,利用ontology来表示语义和知识

李迎秋, 温涛, 陈明华,QoS感知的Web服务选择,东北大学学报(自然科学版),2010,31(5):634-638

针对以往研究多基于未简化的过程模型,在服务选择算法执行过程中需要考虑不同类型的流程结构,影响了算法的执行效率.本文将复杂的过程模型进行预处理,将其简化为基于轻量级扩展分层图的模型,并在此基础上设计了基于自适应遗传算法的Web服务选择算法利用分层图技术对复杂的服务组合过程模型进行化简,将服务选择问题简化为有向图中的选路问题,这样在服务选择时就无需考虑不同的流程结构(例如,顺序、选择、并发和循环结构等),从而降低了服务选择算法的复杂性。

看《虎口脱险》

今天看了电影《虎口脱险》(La grande vadrouille),一部精彩的战争喜剧片。讲述的是英国伞兵降落到 德国控制的法国,一群法国人帮助他们成功脱逃的故事。看过电影后对这几个伞 兵并没有太深的印象,倒是有两个法国人颇有喜感,一个是指挥家,一个是粉刷 匠。还有就是那个胖胖的傻傻的德国军官和眼珠歪斜的德国士兵看到他们就让人 乐不可支。

残酷的战争用喜剧的形式展现出来,让人看过后更是对美好事物的向往。和这部 电影很相似的有《美丽人生》,同样的战争喜剧,同样地用极具喜剧味道的台词 烘托出了战争的可怕死亡的代价人性的美丽。

突然一想,中国可是饱经战争的国家,从古至今不知有过多少次的战争流血,无 数次的外族侵虐,就是到近代同样擦边过一战经历过二战,为什么中国的电影总 是拍出些乏味的效果?哦,有些人会说中国的电影太年轻了,才一百多年的历史 ,永远比人家慢上几十年。

其实十多年前已经看过这部电影了,时间确实太长了,好多情节早就忘记,今天 又拿出来好好看了一遍。当时正值举国上下抗击非典的时期,我还在上高三,学 校实行了封校。学校为了安抚学生离家思乡之苦,特地在每周末的晚上放些外国 电影。第一次听到这个消息可把我们乐透了,早早地占位子等待开演。我记得第 一次放的电影是《茜茜公主》(Sissi),纯英文的,没有字幕,中文的也没有,从前到后 没有见到过一点中国的元素。一屋子人都是根据剧情猜想电影的对话,电影结束 后好像也没有几个人看懂什么。这时我们大家才体会到学校的良苦用心——为了 学生好好学习洋文,哪怕在异常艰苦的抗击非典的时刻。

之后学校就放了《虎口脱险》,当然也不是中文的(包括字幕),不过大家都看 出来了这是一部喜剧,笑声是此起彼伏,我也总是跟着大家附和着笑了。

不知道问什么总是在看洋片时期望咱们伟大的国家也能拍出这么好的电影,扬我 国威。且看明朝吧。

2011年3月23日星期三

VLC的使用小结

VLC(VLC Media Player)是一款强悍的媒体播放器,具有超凡的跨平台能力,支持的操作系统有:Windows、WinCE、Linux、MacOSX、BEOS、BSD,可以播放绝大部分的音视频文件格式。不仅可以自定义界面,而且可以添加插件。VLC的优点是一箩筐,但是在众多的播放器中,本人看中VLC的原因是:

  1. 可以播放不完整的文件(没有下载完全或者是有损的文件)。对于超清晰的体积巨大的影片,比如avi,当文件下载一部分时就可以先睹为快,可以确定是否有继续下载的必要,免得浪费时间和带宽。

  2. 可以播放绝大多数视频文件。

  3. 无广告、无插件、绿色环保。


但是在使用过程中发现了VLC存在下面的一些现象:

  1. 中文字幕出现麻将状的小白框,形如“囗囗囗囗囗囗囗”。

  2. 软件标题处出现乱码。

  3. 拖动播放时出现花屏状的或马赛克状的不流畅现象。


现象1,一般出现在自己下载的字幕文件(.srt格式)中。解决的方法是:在设置选项中的“字幕和OSD”中的字体设置选择任意中文字体,比如“宋体”,代替默认的Arial字体。

现象2, 标题栏显示的是文件的ID3信息,而不是像有的播放器显示的是文件名。对于中文视频文件的ID3信息一般都是GBK编码的,由于VLC首选的是UTF8编码,因此会出现乱码的问题。

现象3 ,尽量不要拖动播放。

VLC是一个开源的项目,开发进度快,BUG能及时得到修复,版本更新也很快,相信VLC会能够越来越好。

2011年3月20日星期日

世界没有忘记你

美英终于向利比亚行动了,利比亚人民可算有救了。目前为止非洲这一波民主浪潮中,利比亚的动荡持续时间最长,人民伤亡也最惨重。这一切都要归功于其丧心病狂的统治者卡扎菲,先是雇佣外籍兵对自己的人民屠杀,后是派出空军对自己国家的城市空袭。一边是拥有大量飞机坦克等杀伤性武器的恶魔,一边是手无寸铁的平民。面对强权老百姓该怎么办,等待着被奴役被屠杀?

可是国际社会没有忘记利比亚人民,3月17日联合国安理会批准在利比亚设立禁飞区,这给绝望中的利比亚人民带来了巨大的希望。这个决议案是由黎巴嫩、法国和英国提出的,请记住这些国家,他们没有忘记遭受磨难的利比亚人民,利比亚人民也不会忘记你们的。

2011年3月17日星期四

囤盐保平安

今天给我妈打电话,我妈提到家里现在盐可贵了,以前一块多的盐现在都卖到十块钱了,她还是前几天五块钱买了八袋呢。我说,你怎么知道要买盐的。她说,大家都在买不就知道了吗,听说日本核辐射什么的,你最近可别随便出去了。我说,买盐有用吗,为什么要买盐啊。她说,有用啊,没用大家为啥买呢。我说,买这么多盐怎么用啊,涂在身上?她说,不是啊,吃啊。我说,吃这么多盐不怕把人吃傻了啊。

这几天到处都是人们疯抢囤积盐的话题,这让我想起了2003年那次举国上下抗击非典的事情。也不知道有谁说,吃板蓝根可以防止非典病毒。一下子大家都去买板蓝根,恨不得家里买上几卡车囤在那里等着救命用。之后又有人说,食醋可以消毒,杀灭非典病毒。又一次商场里的醋脱销了。

这一次轮到盐了,因为咱们的盐都是加碘的,听说这碘可以防辐射。大家为了爱护身体又都去买了。

中午和Jasmine说,这都是为什么啊。网上不是有人辟谣说加碘盐对核辐射没有什么效果吗?她说,可能是百姓都无知吧。我说,和无知比起来贪生怕死会更多点。她说,谁不贪生怕死啊。我说,还有比这更重要的是,从众。从众说到底还是爱占便宜怕吃亏。

这又让我想起了林正英的僵尸片,片中总是会提醒说僵尸怕糯米,对于做亏心事被僵尸纠缠的人家,要在屋子周围、床的周围多铺些糯米,以防止僵尸靠近来保平安。那么,心里的平安又用什么来保呢?

不管怎么说,这又一次刺激了消费,扩大了内需,带动了GDP的增长。

2011年3月16日星期三

在网站中嵌入谷歌地图

不知道为什么突发奇想,想在博客中显示地图,再在地图上标注所去过的地方,以此来记录自己的足迹。我内心深处有两点要求:一、尽量用使用人数比较多的服务,这样的话不至于服务突然挂掉了,我的所有的足迹记录丢失。二、能方便地放在网站或者博客上,而且以后不需要做代码或者其他地方的修改,还可以很方便地添加地图上的足迹记录。

下面就是来寻找这样的服务了。开始想找Wordpress的插件,看有没有现成的插件,未果。然后找Google maps相关的服务,可大多是介绍怎么把谷歌地图用代码放到网站上的,未果。几经周折,找到一个差不多可以实现的该功能的服务了wolpy,它是基于Google maps的。首先注册账户,然后添加城市名,所添加的信息就会显现在谷歌地图上了,之后导出所提供的HTML代码,再把这些代码加到自己网站合适的地方。

又一想谷歌让别人使用自己的服务,为人作嫁,难道自己这么傻不知道也提供相似的服务吗。于是乎,打开谷歌地图,发挥主观能动性,努力来寻找。功夫不负有心人还真让我找到了,原来谷歌地图原生态支持自定义地图,我们可以使用这个自定义的地图来作为“走过的足迹”。下面就来介绍,如何在自己的博客网站中添加谷歌地图来记录自己的足迹。步骤如下:

1、登录谷歌地图页面。以这个地址为例http://ditu.google.cn/maps?hl=zh-cn&tab=wl

2、点击左上角“我的地图”链接。

1

3、点击“开始”按钮。

2

4、登录谷歌地图的账户。

5、点击“我的地图”下的“创建新地图”链接。

4

6、填入所创建的用于记录足迹的地图标题和说明。

5

7、点击“完成”按钮。

8、接下来就可以在这个新创建的自定义地图上标注你所走过的足迹,到过的城市或者其他的什么地方了。

9、标注完成,点击“分享链接”链接,把HTML代码嵌入到网站中就行了。当然你也可以点击“自定义并预览内嵌地图”来修改嵌入地图的大小。

6

7

10、也许你希望所创建的地图让别人来共同编辑,一起记录走过的足迹的话。可以通过点击左上角的“协作”链接,邀请其他人或者任何人来对地图进行编辑,添加城市足迹。

8

9

这样谷歌地图就嵌入到您的网站了,之后您不需要再对代码做任何的修改,只需要登录谷歌地图账户对您所创建的地图做修改、编辑、添加足迹就行了。

下面就是我所创建的地图嵌入到网页的效果。



在较大的地图中查看我们走过的地方


如果有兴趣也要在网站或者博客上分享自己的足迹哦。