目标:开发基于web的NMS界面,显示网络拓扑(例如,交换机、路由器、链路、终端主机)。每个节点都应该是“可移动的”(可以手动拖动到合适的位置,或者通过算法计算出它们的最佳位置)。我应该能够放大网络图(例如,如果有许多节点集群,并且我希望专注于特定的节点集群)。我应该能够右键单击任何节点或链接并获得上下文菜单(例如,“显示路由表”、“显示接口”、“显示带宽利用率图”等)。
此网络拓扑的数据将通过调用基于apache的web服务器来获取,其中python中的后端脚本将获取适当的数据,并通过JSON将其发送到web客户端。
问:我假设某种javascript库/框架最适合这个-- jQuery,Dojo,Moo等等。我以前从未用过这些东西。对于这类事情,哪一种是最推荐的。这将是最容易学习的(比方说几个月的时间)。
发布于 2010-04-25 03:57:06
jQuery可以帮助您进行拖放操作。使用jQuery,快速创建应用程序也非常容易。但您必须对大量节点(交换机、路由器、链路、终端主机)进行测试,以查看浏览器应用程序是否能够根据复杂性管理您的目标。
这里有一个简单图形表单的拖放示例:http://helpdesk.toitl.com/?w=drag_drop
现在,在您的应用程序中,您只需将每个表单与其他表单相链接。并在移动节点时保留链接。
发布于 2010-04-25 04:58:05
thejit的工作人员使用javascript和HTML canvas在多种数据表示中做了一些非常棒的工作。他们有基于在网络中连接的节点的交互式界面,您可以放大和缩小,并获得更多信息。
我相信你可以调整它来得到你想要的结果。
静态JSON树结构用作动画的输入,这也是您想要的。
发布于 2010-04-25 03:16:54
考虑到你所问问题的复杂性,我会推荐Silverlight或Flash。
如果你了解C#,那么Silverlight是最简单的选择。
jQuery很棒,但在C# / Silverlight中操作2D图形和执行复杂的布局算法会容易得多。
https://stackoverflow.com/questions/2705795
复制相似问题