后来这些天写TOB的资料和教程, 本来是打算写个简单的蓝图应用, 也做教程的示例, 不过架构下来发现又有很多可以突破传统, 值得好好做做的东西.
这个蓝图应用名字基本定为 WebOfWeb (WoW), 大体上是用类似MindMapping(参考:
http://freemind.sf.net, Web发布示例(需要JRE1.4以后):
http://www.ableverse.org/cop.html http://freemind.sourceforge.net/PublicMaps.html) 的形式通过Web来表现 树状(网状作为一种扩展) 信息. 与FreeMind的静态只读Web发布所不同的是, WoW是完全互动的, 力求整合所有WEB典型应用模式的特征, 成为WEB2.0应用模式的集大成者. 例如, 每个人可以被授予权限在一个特定的节点下创建和编辑信息节点, 就成为树型结构的Blog; 也可以放开一些节点, 公共可以编辑, 那么就成为树型结构的Wiki; 如果是由专门的斑竹来管理特定节点, 各人只能创建子节点或者编辑自己创建的节点,那么就成为树型组织的Forum;对于任何一个节点, 都可以看到当前浏览者列表,随时发起在线讨论, 那么它就是一个IRC的Channel, 如果这个节点是某人私有的话, 那么发送/接收的消息就可以认为是IM. 特别是对在线讨论的GUI表现, 可以用动态的渲染方式, 比如燃烧的火焰作水印, 火越大, 说明参与讨论的人越多, 燃烧越剧烈, 说明讨论越激烈. 最激动人心的是, 所有这些互动的节点, 都是树状组织的, 结构化的, 任意丰富的信息.
为实现这些目标, WoW的分布架构有一些新的要求, 基于 request/response 的C/S结构缺乏客户端之间的互动以及C与S之间的对等性; 简化过的B/S结构却缺乏Server Push能力, 难以支持实时互动. 比较接近理想的是 在线即时游戏 的分布架构, 实时性强, 服务器中控仲裁, 维护数据完整. 但是在线游戏需要在参与互动之前先下载好全部场景资源数据, 而这些场景数据却不能实时,动态的由服务器主导进行更新, 所以虽然它的交互实时性强, 但交互范围有无法打破的限制.
综合分析现有分布软件架构和WoW的需求, 我现在正在开发一种新的分布架构, 名字暂定为Traverser/Scener Architecture. 主体特征是: Scener(构景器?也许) 负责维护一个运行时的动态世界, 包括所有树状信息和所有登录用户, 以及每个用户当前游览资源的MRU列表, 并负责处理Traverser应使用者行为而发出的操作请求, 改变相关资源的状态, 然后安需将状态变化通知给相关登录用户的Traverser,刷新其本地数据. Traverser(游览器, 也许 ;-)运行在最终用户的计算设备上, 本地维护使用者正在游览的实时树状信息副本, 然后通过GUI将这些信息表现给使用者, 同时响应使用者的操作动作, 转换为操作请求向Scener发出. Traverser与Scener的通讯拟采用基于事件队列的异步机制, 可以通过GUI向使用者标示出当前同步状态. 异步方式进行数据同步, 有利于在以块儿方式传输数据时, 把先到达的数据即时显示到GUI以改善用户体验. Traverser在收到使用者展开一个树节点的指令时, 可以在一次读取操作里从Scener预取一定层数深度的子节点, 从而增加通信效率. 从Scener到Traverser的通知消息, 可以随附于操作的response之后发送给Traverser, 在一次请求中承载更多数据. Traverser维护一个已收刷新通知队列, 异步的刷新GUI. T/S之间的通信, 拟透过HTTP POST/RESPONSE, 传输GZIP压缩的XML数据流完成, 协议采用XML格式制定.
WoW开发完成后计划开源发布, 它将不仅仅是一个综合的互动WEB2.0应用, 而且对于树状信息检索, 有特别的意义: 目录检索(如:
http://dir.google.com)目前基本还只能以全文检索的方式, 按照关键字来匹配符合条件的条目, 但是后台基于TOB, WoW将有可能提供基于更精确的模板匹配方式提供检索服务, 比如按照正则表达式匹配. 这对基于树状组织的信息数据统计将有一个里程碑的意义.
分享到:
相关推荐
- **Lua简介**:Lua是一种轻量级的脚本语言,易于集成到其他应用程序中,被广泛应用于游戏开发中,尤其是WOW插件开发。它支持多种编程范式,如过程式编程、面向对象编程等。 - **Lua官方资源**:作者推荐访问Lua官方...
此函数允许玩家接受另一玩家的复活魔法,迅速回到战斗状态。 - **AcceptXPLoss()**:在原地复活时,玩家可以选择接受经验值损失,以更快地重返战场。 ##### 角色操作 - **ActionButtonDown(buttonID) & ...
运行原理NextActions是一个标准的wow lua插件,她调用wow API分析当前游戏角色及目标状态数据,计算当前最佳施放法术, 然后在屏幕左上角的一个固定显示区域中显示法术对应的颜色块. 同时, 一个autuIt3编写的脚本程序...
其中,`<Scripts>`内的`<OnUpdate>`事件处理程序用于在每次游戏更新时调用`SetValue`方法,以更新状态栏的当前值。 ##### LUA脚本的应用 为了使状态栏显示有意义的数据,如玩家的生命值,我们需要在LUA脚本中引用...
《魔兽世界》(World of Warcraft,简称WOW)是一款由暴雪娱乐开发的大型多人在线角色扮演游戏。在游戏过程中,玩家需要安装客户端并使用光盘启动游戏,但随着时间的推移,"WOW免CD加转换器"这样的工具应运而生,它...
- **应用场景**:该函数主要用于获取当前账号所拥有的扩展内容级别,这对于开发插件时判断用户是否拥有特定资料片至关重要。 - **注意事项**:此函数只在亚洲服务器上提供有意义的值,对于其他地区的服务器可能不...
接着是事件溯源(Event Sourcing),这是一种持久化数据的方法,它不直接存储当前状态,而是记录导致当前状态的所有事件。每当我们对系统进行操作时,都会生成一个事件,这些事件按时间顺序保存,可以随时回溯以重建...
Lua是一种轻量级的脚本语言,常用于游戏开发,尤其是WoW的插件制作。通过这款应用,玩家可以查看和理解存储在lua文件中的插件代码,这不仅有助于调试和优化个人使用的插件,也为那些想要学习lua编程或插件开发的新手...
`NetworkInformation.GetInternetConnectionProfile()`方法会返回当前的互联网连接概况,从中我们可以获取网络的名称、连接状态、网络类型等。 3. **连接到Wi-Fi网络** 连接到Wi-Fi网络则需要使用`WiFiAdapter`类...
<div>Wow, look at all this content that can be shown or hidden with a simple click! <li><a href="#">Header2</a><div>Lorem ipsum dolor sit amet, ⋯</div></li> <li><a href="#">Header3</a><div>Donec...
通过调用WOW API获取当前地图数据,利用C#的图形绘制功能在游戏界面上绘制出地图,同时添加标记显示玩家位置和其他重要信息。 总结,暴雪WOW经典API的C#实现是一项结合了游戏开发、网络编程以及C#特性的综合技术...
它使用WoW的 Lua 脚本语言编写,与WoW的接口进行交互,遵循WoW的插件开发规范。插件的智能在于其逻辑判断,能够识别何时是合适的时机进行自动操作,同时避免在不合适的时候干扰玩家的正常游戏。 三、安装与配置...
2.2.2 返回状态 19 2.2.3 字符串 20 2.3 重要的数据结构 21 2.3.1 驱动对象 21 2.3.2 设备对象 22 2.3.3 请求 24 2.4 函数调用 25 2.4.1 查阅帮助 25 2.4.2 帮助中有的几类函数 26 2.4.3 帮助中没有的函数 ...
可选参数stickyFlag用于控制是否保持当前状态。 - **ChangeActionBarPage()**:切换当前使用的快捷栏页面到系统默认的CURRENT_ACTIONBAR_PAGE页面。 - **GetActionBarToggles()**:获取快捷栏的显示状态。 - **...
它会定期捕捉游戏屏幕图像,然后通过算法分析图像中的特定像素模式,以此来判断当前的游戏状态。例如,它可以识别出角色、怪物、目标框体、地图位置等关键元素。一旦识别成功,机器人就会根据预设的规则和脚本模拟...
暴雪会定期更新这些XML文件,包含了各个服务器的当前状态,如在线、维护、满载等。 RealmTray通过抓取和解析这些XML数据,将服务器状态实时显示给用户。这一功能的实现涉及到网络请求、XML解析以及数据可视化的编程...
Lua是一种轻量级的嵌入式脚本语言,因其简洁的语法和高效的执行性能,被广泛应用于游戏开发,尤其是WoW插件的编写。在Ara_Broker_XP中,Lua负责处理数据的读取、计算和显示,包括从游戏API获取经验数据,解析并更新...
1. 声望显示:插件会在游戏界面中提供一个直观的面板,显示所有相关阵营的声望状态,包括当前等级、所需声望到达下一级、以及解锁的奖励等信息。 2. 实时更新:无论玩家是在完成任务、击败敌人还是参与活动,Ara_...
10. tips界面相关:提示信息界面应清晰地显示坐骑相关信息,如当前坐骑的状态、升级进度、能力值等,帮助玩家做出决策。 四、系统资源需求部分 坐骑系统开发需要考虑图形资源(坐骑模型、纹理、动画)、音频资源...