`
hanjiangit
  • 浏览: 187856 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

为什么选择SICS 3/6

    博客分类:
  • SICS
阅读更多

5)AOP:支持基本的AOP

这里只好谦虚一点:因为SICS没有使用任何第三方工具(例如GCLIB之类),所以所有能提供的功能都受JAVA本身所提供的能力的限制。但是,对于一 般的应用而言,在SICS的编程模式下,其AOP支持足以解决常见的AOP应用的需求,包括:权限,日志,事务。当然,比较高的要求可能也是存在的,但是 我没遇到过--如果哪一天我接到一个项目提出了更高的要求以至于SICS目前提供的AOP能力无法实现并且切实属于AOP应用范畴,那么这样的能力肯定会 在这个项目期间被加入到SICS中。

6)AOP:原生会话支持,支持资源桌面

少不了也得扯虎皮做大旗:)

在SICS的编程体系中,其中心是资源和交换.所谓资源,就是由组件(系统成员)所提供的调用接口.组件间互相协作都是通过这个资源接口进行的.一个成员实现某些功能(接口),并将其作为资源统一向系统的资源交换机注册,然后其它的成员或者外部应用使用这个资源.

对于一个业务系统,其安全性和可靠性常常是一个重点.

(注: 安全性可以划分为很多层面,我们在这里仅讨论基本的权限认证方面的安全性,因为实际上这个才是业务逻辑真正关心的问题,也是程序员门的难题).

举一个企业级中心应用的例子,我所编写的企业应用服务交换平台为例.

在这个系统中,用户的登陆类型有以下几种:

1)基于浏览器登陆,直接登陆到交换平台的中心服务器,例如执行系统管理,查询共享服务目录树,直接调用其中的服务;

2)基于客户端的远程登陆,包括服务提供者端和服务调用者端,他们提供服务或者调用服务.

显然,这个时候权限控制非常重要(费话!),于是我们不得不建立类似这样的鉴权机制:

if(user.isAdmin()) then { 允许; } else { 不允许; }

大家可能立刻会想到:用会话可以解决这个问题!

但是,如何才能让会话贯彻这个系统?全部使用HTTP会话不可能,因为离开HTTP环境之后(例如客户端远程登陆),基本的HTTP会话就没用了!此外,在业务逻辑处理过程中,有时候会话可能也是没用的,例如在系统启动过程中的一些操作,因为会话根本就没建立!

这个不算复杂,因为实际上这个问题可以解决.所以,再来一个例子(可能需要一点专门性的知识才能明白),监控系统的,监控主机(DVR模式的):

监控主机通常要求操作员在本地登陆,操作界面根据登陆用户确定界面的表现类型,例如按钮是否可用等等;

同时,监控主体常常提供一个功能,即允许用户通过INTERNET在远程登陆,并且也允许获得一定的权限。在这样的本地/远程同时登陆的模式下,基本的会话机制完全失效!

“SICS源于工程实践”,这样的实践SICS肯定会经历到,于是SICS开始从系统的框架层着手,解决这个问题。(当然,肯定是解决了,否则我也不会在这里啰嗦了!)

其手法非常简单:

1)首先,SICS建立了这样的一个规则:所有的外部访问(线程)必须关联到一个会话,绝对不允许空会话(线程)进入应用内部;

2)其次,实际上,因为在系统启动时会话无法建立,所以SICS建立了第二个规则:仅允许元系统(即启动线程)不带会话,(当然,如果你愿意,也可用带会话。)换句话说:如果一个线程不带会话,那么就被认为是系统线程。

在这两个规则下,SICS使用AOP机制,建立了完整的分组会话和资源桌面,也就是解决了我们所讨论的问题!

分享到:
评论

相关推荐

    H3C MSR 50系列路由器 安装手册

    其模块化设计允许用户根据具体需求选择不同的接口卡和模块,如FICs(Flexible Interface Cards)、SICs(Smart Interface Cards)、MSCA(Multi-Service Card A)、ESMs(Enhanced Service Modules)、VPM(Voice ...

    MC55 TCP 使用方法

    1. 设置连接平台SICS,选择GPRS或CSD。 2. 设置应用平台SISS,选择SOCKET、FTP、HTTP、POP或SMTP。 3. 建立TCP连接SISO。 4. 发送或接收数据SISW或SISR。 5. 关闭连接SISC。 例如,以下是一段MC55模块TCP测试的示例...

    华为路由器产品介绍

    华为ARG3系列企业级路由器是专为企业客户设计的下一代路由器,它将多种服务集于一身,包括路由、交换、3G、WLAN、语音和安全功能。华为凭借其在电信、数据通信、有线和无线网络领域累积的知识和经验,为满足企业级...

    MC55 TCP/IP使用方法

    6. **AT^SICS**:关闭Internet服务,断开与远程服务器的连接。 这些指令构成了MC55网络功能的核心,熟练掌握它们是实现高效数据传输的关键。 #### 六、总结 综上所述,MC55 TCP/IP协议栈为工业客户提供了强大的...

    服务器测试软件SocketTool[借鉴].pdf

    3. **发送新行**: 在设置指令时,勾选“发送新行”选项通常意味着在发送数据时会添加一个换行符,这是许多网络协议(如TCP)中默认的分隔符。 4. **扩展AT命令**: 文档中提到了一系列的AT命令,这些是GSM模块或...

    mc55拨号上网步骤

    首先,通过AT指令`AT^SICS=0,conType,GPRS0`来设定连接类型为GPRS模式。这一步是告诉模块我们将使用GPRS网络进行数据传输。 2. **设置用户信息** 在中国移动的网络下,用户名称和密码通常是不必要的,因此可以...

    mc55 at命令调试笔记

    `AT+CMGF=<模式>`,其中`<模式>`为1表示文本模式。这是大多数情况下的选择。 - 接着,设置短信服务中心号码,使用`AT+CSCA="<服务中心号码>"`。 - 在文本模式下,发送短信的命令是`AT+CMGS="<接收方号码>"`,当...

    基于MC55和STC89C58的远程数据采集系统的设计.pdf

    通过设置TLC2543的输入控制字,可以选择通道、调整输出数据长度和顺序,并能对极性进行选择,从而获取高精度的模拟量值。 - MC55模块接口:MC55模块(GPRS模块)通过STC89C58RD+微控制器的标准串口与其主异步收发器...

    LwIP移植说明文档

    LwIP是一个轻量级的TCP/IP协议栈,最初由瑞典SICS计算机网络实验室的Adam Dunkels开发。其核心设计目标在于减少运行时所需的RAM空间,同时提供完整的TCP功能,这使其非常适合于资源受限的嵌入式系统。LwIP支持多种...

    梅特勒托利多电子秤完整版说明IND131-331技术手册20090706.pdf

    梅特勒托利多电子秤是一款专为工业称重需求设计的高精度电子秤,型号为IND131/331,它通过模块化设计和多样化的结构尺寸,能够适应各种不同的工业环境,并提供精确的称重解决方案。该设备支持多种传感器灵敏度,具备...

    AT Command(中文精简版)

    若选择ASC1串口,在系统启动时会收到`^SYSSTART`指令,指示模块已启动;而ASC0则需通过VDD供电状态判断模块启动情况,随后发送`AT`指令协商波特率,等待3-5秒确认后,模块会回复`OK`,此时可通过`AT+IPR`设置波特率...

    Oracle RAC集群在Windows2003环境下的实现.pdf

    1. 硬件设备与网络准备:确保两台服务器通过SICS卡连接到SICS硬盘,并配置两块网卡,分别用于私有网络(Interconnect)和公共网络(Public Network)通信。 2. Windows 2003环境准备:修改服务器的计算机名、管理员...

    Contiki Manual Reference

    - **开发者**:该系统由瑞典计算机科学研究所(SICS)网络嵌入式系统组的 Adam Dunkels 开发。 - **目标平台**:Contiki 主要面向内存非常有限的嵌入式系统,例如只有 2KB RAM 和 40KB ROM 的设备。 - **架构特点**...

    sicstus prolog

    SICStus Prolog是一种功能强大的逻辑编程语言和环境,由瑞典计算机科学研究院(SICS)开发和维护。它基于Prolog语言,旨在为研究人员、教育工作者以及工业领域的专业人士提供一个高效且灵活的平台。SICStus Prolog...

    台湾雅芳公司管理策略报告.pptx

    3. 良好的存货管制策略:通过WIMS(Warehouse Inventory Management System)等系统,实现库存即时管理,减少盘点时间和成本,确保先进先出原则。 4. 多元化的订货管道:提供24小时电脑化、自动化的订货系统,方便...

Global site tag (gtag.js) - Google Analytics