专栏首页cwl_Java系统架构师论文-论中间件在SIM卡应用开发中的作用

系统架构师论文-论中间件在SIM卡应用开发中的作用

论中间件在SIM卡应用开发中的作用

【摘要】

我曾于近期参与过一个基于SIM卡应用的开发项目,并在项目中担任系统分析的工作。在分析过程中,我们依据面向対象方法対系统进行了划分,其中许多的模块已有成熟的中间件产品可供使用。我们选择中间件产品的标准是:功能、性能、封闭性、独立性、可扩充性、是否标准化等(或是否是主流产品)、跨平台性、话语害性,以及中间件的大小和价位,并且面向対象的优于面向功能的。 由于复用了大批的中间件,使得项目工作重大大减少,开发周期明显缩短,并且在项目的编码部分,我们也尽量制作自己的中间件,以便在以后复用,或以恰当的形式销售,増加公司的利润。 自己设计中间件,菖先要做领域分析,以确定其价值,并依据上述原则开发。产品形成后,要由管理系统负责中间件产品的存储、描述、資询、发布以及动态雄护、版本控制等。

【正文】

中间件技术是近几年随着软件工程技术的发展,网络应用的普及而迅速发展起来的,其在软件开发中最突出的贡献在于资源复用。随着分散的、作坊式的、独立的软件开发方式向集中地、大型的、协作式的软件开发方式的转换,软件的划分向着高内聚、低耦合的方向前进。类似的,重复性的、独立的软件部分被抽取出来,被做成模块、対象以及中间件。我们利用中间件拼装产品,共享着人力资源和时间资源,减少了重复劳动,减少浪费,増加了价 值。由于中间件的出现,软件开发可以变得十分专业化。例如通值中间件、数据库中间件,……,他们屏蔽了许多繁琐的细节,使得应用程序开发人员质量与优化业务逻辑。各种不同的劳动量得以在自己熟悉的领域得到发展,不用分散精力,这就是分工带来的优势,专业化带来的好处。如今,在计算机软件科学中,这就是中间件带来的好处。 我曾经参与过的某个项目在这方面带给我深深地感触。这是一个关于SIM卡的应用,其功能要求是:在SIM卡上存储值息并与计算机内的值息同歩;利用SIM卡的值息实现网络安全控制。 我作为系统分析人员,采用面向対象方法进行分析,这里只作简要概述。 在该项目中,我抽象出的一个核心対象是“值息対象"。通过读取SIM卡/计算机内信息,可构造出该対象实例,通过将该対象实例更新入计算机/SIM卡完成值息同歩的功能。而实现网络安全控制的功能则通过验证対象属性来完成。 其中读出SIM卡、写’入SIM卡的这部分,已经存在大量的中间件产品,我们选择了微软公司的系列产品,带给我们极大的便利。因为我们不再花费精力去夸虑如何编写代码以及与SIM卡读写设备驱动程序进行通讯,如何将值与转换为二进制数,或转化为字符。它使我们摆脱了対设备物理细节的夸虑。 此外,在读写’计箕机内数据时,利用了数据库中间件,此处选择的是微软的ODBC、ADO系列。在进行用户界面设计时,也应用了许许多多各具体特色的图形控件。而在实现SIM卡网络安全控制时,选择了SUM公司的基于JAVA的SI画用套件、SSL网络安全协议的辅助构造我们的项目。 在这样的选择之后,遗留给我们的仅是一些信息管理以及在各中间件进行协调、调度的工作,整个项目因此而显得异常轻松。 如果在没有中间件可供使用,一切需要从零开始的境遇中,这样一个小项目将会变得多么可怕!除了劳动力资源的严重消耗,还带来了许多隐患,例如与别人的产品的协作性问题。因为如果対硬件设备的处理不同,网络传输的各自构件的协议不同,根本不存在互通性。 因此中间件在软件模块标准化、软件复用性、跨异构系统协作方面也功不可没! 在我们选择中间件产品的时候,最先考虑的是功能性。因为只有项目缺少的功能,才有被使用的价值。而且中间件产品性能也是可以影响项目的因素。此外中间件是否采用标准和通用的接口形式,其封闭性、独立性、扩充性、跨平台跨语言的能力,也是影响我们项目的稳定性、可扩充性的关键因素。另外产品的大小、运行环境以及价位也是我们考虑的因素,这影响到项目的成本和效益。 如今的主流开发技术都支持面向対象和中间件(组件、控件、服务)-大家都意识到了复用的重要性。如果由我来决策,我会选择在开发项目同时开发中间件产品。虽然这样的开发模式在整个项目中所耗资源较大,因为要考虑中间件的各种特性,如独立性、通用性等。但就长远目光来看其复用带来的成本节约以及项目周期短、开发模式标准化、通用化等利益,将极大地提升企业利润。 为了能够开发出有价值的中间件并同时进行高效地利用,我们注意以下方面: 一、在决策开发中间件时,一定要做好领域分析。在相关领域内通用的中间件才有可复用性,才有价值。 二、対于中间件的策划,要注意其独立性,封闭性(接口清晰、标准),最好是以対象的形式开发,提供继承功能,可以提高中间件的可扩充性。 三、最好做到跨平台、跨语言,以増强通用性。 除了这些原则,対于中间件产品有也应有相应的管理工具,应建立系统対中间件产品进行存储以及描述、咨询、定位该产品,対于产品的升级也应用CUS等版本控制工具来管理。此外,发布产品也应遵循业界的标准。 当前的Web Service其实也是一种厂义的中间件,公司应尽早投入到该领域,现有产品有微软的的.NET, IBM的WebSphere等。 这些方案的益处是能够提高产品的可复用性,应用Web Service技术则提供了更远大的网络应用发展空间。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从概率统计到深度学习,四大技术路线图谱,都在这里!

    自然语言处理很多时候都是一门综合性的学问,它远远不止机器学习算法。相比图像或语音,文本的变化更加复杂,例如从预处理来看,NLP 就要求我们根据对数据的理解定制一...

    double
  • Django学习-第十一讲(下):视图高级(一)网页请求限制、HttpRequest、HttpResponse、JsonResponse对象

    Django内置的视图装饰器可以给视图提供一些限制。比如这个视图只能通过GET的method访问等。以下将介绍一些常用的内置视图装饰器

    小海怪的互联网
  • 宋宝华:递归的出口在哪里? (除夕创作年度最后一篇文章)

    迭代的是人,递归的是神。递归的出口,在于停止递归。当递归函数在某条件成立后不再调用自身,即意味着递归会终止。

    Linux阅码场
  • 黄东升: inotify学习笔记

    inotify是Linux中用于监控文件系统变化的一个框架,不同于前一个框架dnotify, inotify可以实现基于inode的文件监控。也就是说监...

    Linux阅码场
  • R语言从入门到精通:Day12

    从许多方面来看,回归分析都是统计学的核心。它其实是一个广义的概念,通指那些用一个或多个预测变量(也称自变量)来预测响应变量(也称因变量) 的方法。通常,回归分析...

    用户6317549
  • Linux内核之旅/张凯捷——系统调用分析(2)

    在《系统调用分析(1)》Linux内核之旅/张凯捷——系统调用分析(1)中,首先介绍了系统调用的概念,并对早期通过软中断(int 80)来进行系统调用的...

    Linux阅码场
  • 用 Python 对成绩分类汇总

    这学期我们每个人需要填写三张学年鉴定表,每一张表中都有学业总平均分和考试课平均分两项内容,如果想用手工的方式算出这两项内容不知道要花多久,所以我建议编写一个算法...

    不可言诉的深渊
  • 【Python】利用Scapy进行二层主机探测

    二层主机探测主要是发送arp报文,根据arp应答来发现与探测主机在同一网段的存活主机。

    一名白帽的成长史
  • 30段Python代码,都是精华!

    Python 是机器学习最广泛采用的编程语言,它最重要的优势在于编程的易用性。如果读者对基本的 Python 语法已经有一些了解,那么这篇文章可能会给你一些启发...

    double
  • Django学习-第十二讲:视图高级(二)类视图、模板视图、列表视图、和分页

    在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图。使用类视图可以使用类的一些特性,比如继承等。

    小海怪的互联网

扫码关注云+社区

领取腾讯云代金券