FLEX实现Web实时监控

这是来自Adobe开发者中心的一篇文章,原文地址是:

http://www.adobe.com/devnet/flex/articles/tourdeflex_dashboard_samples.html

注意:这篇文章第一次发表是在作者的博客上,时间是2009年6月24日。

在过去的几个周里,我们在Tour de Flex的Flex Data Access类别中增加了一些新的示例。这些示例都是由Christophe      
Coenraets
Holly Schinsky创建的。以下是这些示例的概述:

下面的很多示例都使用了BlazeDS或LiveCycle DS。如果你对这些产品还不熟悉,我推荐你看看Holly写的快速入门

 

基础信息

HTTPService – 基础示例

显而易见,它演示了如何使用HTTPService来解析XML和其它的响应(通过HTTP或HTTPS)。这是Flex中最基础的数据通信类型。

HTTPService – HTTPService 事件

这个示例是根据上一个示例创建的,它演示了如何捕获来自于HTTPService的返回结果事件和失败事件。注意HTTPService的调用是异步的,所以了解这些事件是很关键的。

HTTPService – E4X

这个示例同样使用了HTTPService但是详细阐述了E4X这种返回格式。

HTTPService –
使用代理服务(BlazeDSLCDS

之前的所有的示例中都是使用了封装好的HTTPService组件来直接连接数据源。有时候采取直接连接数据源的方式不是很实际,因为它可能来自于不同的域(并且缺乏一个crossdomain.xml入口),所以需要一个代理的服务。BlazeDS和LCDS可以提供这个代理服务,就像Tour
de Flex中的示例所述的一样做一下简单的配置就可以。

WebService – 基础示例

使用WebService标签,你可以向基于SOAP的WEB服务发起请求。一个WEB服务返回的对象会自动的转换为ActionScript可用的对象。在另一方面,ActionScript的对象也会作为传递的参数传送到WEB服务的方法,顺序则依照WSDL中的定义。

WebService –
使用代理服务(BlazeDSLCDS

同我们上述的HTTPService代理相似,有时候出于跨域的原因,不能直接访问WebService。同样的,BlazeDS/LCDS
代理提供了一个简单的解决方式。

 

快速的远程连接

RemoteObject –
基础的Java远程连接(BlazeDSLCDS

如果你在连接一个Java的后端,它可能通过使用RemoteObject直接调用Java对象的方法。除了能直接调用Java方法这个显而易见的好处,另一个更大的好处是你可以使用AMF来传递数据。AMF是压缩的,二进制的格式,所以传输速度要大大快于XML和其它文本格式。Lee
Brimelow 写了一篇非常好的关于AMF的日志在这里。这个Tour de
Flex示例简单的调用了Flex.samples.product.ProductService,这是一个简单的Java类,用于在DataGrid中显示数据。

James Ward创建了一个非常好的应用,这个应用是基于AMF的,并结合了其它的一些数据载入技术。

RemoteObject –
基础的Java远程连接2BlazeDSLCDS

这个示例跟上述的示例非常类似,但是它同样详细演示了如何捕获来自于远程呼叫的返回结果和失败事件(远程对象的调用也是异步的)。

RemoteObject – 远程对象事件 (BlazeDS LCDS)

另一个非常好的关于远程对象事件的示例。

RemoteObject – 强类型的对象 (BlazeDS LCDS)

这个远程对象的示例演示了如何把一个ActionScript的对象映射到一个远程的Java
对象。在示例的自述文件中包含了后端的Java源代码,所以你可以看见哪些数据是被映射的。

 

奇妙的数据管理

基础的数据管理(LCDS)

LiveCycle Data Service ES Data Management
Service提供了一个有效的办法来在多个视图和多个客户端之间同步数据。通过使用LCDS,你不需要跟踪对数据的更改,也不需要请求远程服务来通知后端来自客户端数据的更改(创建,更新,删除)。为了演示这个特性,这个示例建议你在两个不同的浏览器中打开链接测试(这两个浏览器甚至可以在不同的计算机上)。

每一个浏览器都会显示一个DataGrid来显示若干行的数据。当你在一个浏览器中更新了数据,你会看到这个更改会应用到其它的浏览器上,保持视图的同步。这个典型的代表性的功能需要很复杂的代码来实现,但是就如你在Tour
de Flex的示例中看到的,它是很容易通过LiveCycle Data Service来实现的。

冲突管理 (LCDS)

这个示例同上面的示例类似,也同样需要你打开两个浏览器窗口,并且两边的数据视图是同步的,但是这个示例添加了一些代码来控制来自两个用户冲突的情况。在浏览器一或浏览器二中尝试改变数据,当你在其中一个浏览器中保存数据的时候,那么另一个浏览器就会提示你发生了冲突。这是关于LCDS保存数据的另一个示例。

数据分页(LCDS)

这个示例演示了对一个大数据集的自动分页过程。与其一次性载入全部数据,不如保持载入最新更改的数据。数据分页能加速应用的响应时间最大限度减轻客户端内存的消耗。这个示例显示了一个简单的DataGrid来每次载入100行数据。当你滚动数据的时候,你会看到一个短暂的延时然后会显示下一个100行的数据。它是另一个让开发者避免写大量复杂代码的LCDS的示例。

后端持久性选项(LCDS)

在数据管理类别的最后一个部分是一个子类,演示了3个不同的方式来通过数据管理特性管理数据的持久性。其中一个示例使用了SQL,一个使用了Hibernate,最后一个则演示了如何创建一个足够复杂的自定义的装配器。

 

实时的发布/订阅信息

聊天(BlazeDSLCDS

这个示例演示了如何创建一个简单的聊天室客户端,并使用BlazeDS或LCDS提供的发布/订阅消息的机制。

协作(BlazeDSLCDS

这个示例使用发布/订阅消息的方式创建了一个简单的协作应用。这个示例提示你要在两个或更多的浏览器中打开这个链接。当你点击了按钮来切换从公司一到公司二的图形,其它的客户端都可以看到同样的内容。

实时控制台(BlazeDSLCDS

这个示例展示了如何通过Tour de Flex 服务发布一个实时的数据源。这个数据是真实的并且由Tour de
Flex服务提供。DataGrid中显示的每一行对应一个Tour de Flex中正在被查看的示例。更多的关于这个控制台的信息点击这里查看

更多的示例即将被添加到Flex数据通信类别并演示如何让Flex应用连接到ColdFusion,.Net,PHP和其它的后端代码。保持关注!

更新:.NET和PHP示例已经由MidnightCoders添加了。

 

时间: 2024-10-26 05:56:25

FLEX实现Web实时监控的相关文章

基于Flex的服刑人员监控系统的研究与实现

1 引言 在监狱中,服刑人员在监狱里的自由活动或者在组织服刑人员外出劳作的过程中,如果缺乏高效的监管措施,很容易给服刑人员以可趁之机,逃出监管范围.为了能有效地对在押服刑人员进行跟踪,提高监控效率,智能人员监控系统应运而生.通过让服刑人员佩戴特制副机,监管人员使用手持式阅读器读取副机发送的信号,从而能监测副机目前的活动状态,并直接或者通过中继站与主控机站通信,监控系统获取信息并处理数据后及时反馈给监管人员.系统有效地降低了监管人员的工作强度并提高了监管效率. 传统的BS架构的监控系统客户端处理数

AJAX + SVG 实现实时监控图表

ajax|监控|图表 AJAX 已经有很多文章介绍它的原理及其应用了.但是遗憾的是现在并没有很多结合实际项目应用.本文结合实际项目中的应用来讲述利用 AJAX 和SVG 技术如何创建各种激动人心的功能,并附带可以运行的例子和源代码. 本文需要一定的 AJAX,SVG 知识和应用经验.当然它们都可以在 ibm.com/developerworks/cn 上找到. 个人对于 AJAX 应用的建议是如果传统的 MVC 能够满足的应用,没有必要使用AJAX来代替,因为这里 AJAX 唯一能带来的好处只是

网站实时监控系统的设计与实现

监控|设计 摘 要: 本文提出了基于操作系统内核服务和多线程技术的网站实时监控系统,解决了以往监控系统不能及时恢复异常网页的问题.重点介绍了系统的传送控制部分和监控部分 关键词: 实时监控:多线程:API 引言 对网页监控比较成熟的技术是定时监控,即由用户设定时间间隔,系统按时对需监控的网页文件轮询一遍,来判断文件是否被非法删除或篡改.若发现,立即用备份盘上的备份文件进行恢复.这样的监控存在一个缺陷:被非法删除或篡改的网页不能得到及时的恢复. 本文介绍的网站实时监控系统创造性地利用操作系统内核提

Web 实时推送技术的总结

随着 Web 的发展,用户对于 Web 的实时的要求也越来越高 ,比如,工业运行监控.Web 在线通讯.即时报价系统.在线游戏等,都需要将后台发生的变化主动地.实时地传送到浏览器端,而不需要用户手动地刷新页面.本文对过去和现在流行的 Web 实时推送技术进行了全面的总结. 在标准的 HTTP 请求-响应的情况下,客户端打开一个连接,发送一个 HTTP请求(例如 HTTP GET 请求)到服务端,然后接收到 HTTP 回来的响应,一旦这个响应完全被发送或者接收,服务端就关闭连接.当客户端需要请求所

云端 实时监控-外网实时监控内网建设的IIS服务器

问题描述 外网实时监控内网建设的IIS服务器 公司现在用IIS部署了好几台web服务器,希望能够在外网实时监控这些服务器的运行情况,若出现冗机,能够用邮件或者短信通知. 之前用Cactiez等软件做过内网实时监控内网的交换机和服务器, 现在想在云服务器上部署一个软件,用来实时监控企业内部的服务器. 找了好多软件,都没有合适的,有没有更好的软介绍?

pyinotify:在Linux中实时监控文件系统更改

Pyinotify 是一个简单而有用的 Python 模块,它可用于在 Linux 中实时监控文件系统更改. 作为一名系统管理员,你可以用它来监视你感兴趣的目录的更改,如 Web 目录或程序数据存储目录及其他目录. 它依赖于 inotify(在内核 2.6.13 中纳入的 Linux 内核功能),它是一个事件驱动的通知程序,其通知通过三个系统调用从内核空间导出到用户空间. pyinotiy 的目的是绑定这三个系统调用,并在其上提供了一个通用和抽象的方法来操作这些功能. 在本文中,我们将向你展示如

如何在CentOS/RHEL中安装基于Web的监控系统 linux-dash

如何在CentOS/RHEL中安装基于Web的监控系统 linux-dash Linux-dash是一款为Linux设计的基于web的轻量级监控面板.这个程序会实时显示各种不同的系统属性,比如CPU负载.RAM使用率.磁盘使用率.网速.网络连接.RX/TX带宽.登录用户.运行的进程等等.它不会存储长期的统计.因为它没有后端数据库. 本篇文章将会向你展示如何安装和设置Linux dash,这里所使用的web服务器是Nginx. 安装 首先我们要启用EPEL 仓库. 接下来,我们需要用下面的命令安装

基于Storm的Nginx log实时监控系统

[编者按]Hadoop的缺点也和它的优点同样鲜明--延迟大,响应缓慢,运维复杂.被人广受诟病,但是 有需求就有创造,在Hadoop基本奠定了大数据霸主地位的时候,很多的开源项目都是以弥补Hadoop的实时性为目标而被创造出来,Storm正是在这个时候横空出世,Storm是一个免费开源.分布式.高容错的实时计算系统.Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求. 以下为原文: 背景UAE(UC App Engine)是一个UC内部的PaaS平台,总体架构有点类

pyinotify:在 Linux 中实时监控文件系统更改

Pyinotify 是一个简单而有用的 Python 模块,它可用于在 Linux 中实时监控文件系统更改. 作为一名系统管理员,你可以用它来监视你感兴趣的目录的更改,如 Web 目录或程序数据存储目录及其他目录. 建议阅读: fswatch - 监控 Linux 中的文件和目录更改或修改 它依赖于 inotify(在内核 2.6.13 中纳入的 Linux 内核功能),它是一个事件驱动的通知程序,其通知通过三个系统调用从内核空间导出到用户空间. pyinotiy 的目的是绑定这三个系统调用,并