专栏首页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 条评论
登录 后参与评论

相关文章

  • 设计模式-责任链模式

    cwl_java
  • 数据库PostrageSQL-服务器配置(查询规划)

    这些配置参数提供了影响查询优化器选择查询规划的原始方法。如果优化器 为特定的查询选择的缺省规划并不是最优,那么我们就可以通过使用这些 配置参数强制优化器选择一个...

    cwl_java
  • C++经典算法题-2(2N+1) 魔方阵

    方阵的维度整体来看是偶数,但是其实是一个奇数乘以一个偶数,例如6X6,其中6=2X3,我们也称这种方阵与单偶数方阵。

    cwl_java
  • 爬虫框架scrapy之中间件

    中间件是Scrapy里面的一个核心概念。使用中间件可以在爬虫的请求发起之前或者请求返回之后对数据进行定制化修改,从而开发出适应不同情况的爬虫。

    菲宇
  • 浅谈Laravel中的三种中间件的作用

    在之前一直简单的认为中间件就是往middleware里添加中间件即可。现在才知道中间件有三种类型,分别为:middleware middlewareGroup

    砸漏
  • Laravel 三种中间件作用讲解

    昨天在开发过程中,需要使用到中间件的技术,之前都只是简单的认为要增加中间件就往middleware里添加中间件即可。本着周末的时间,就仔细研究了下 $middl...

    双面人
  • 谈谈中间件开发,给想从事中间件开发的同学

    随着国内软件行业的发展,国内互联网公司规模越来越大,业务越来越复杂,随之使用大量的中间件来提高后台服务性能。由此产生了中间件开发和维护人员。

    芋道源码
  • What?Tomcat 竟然也算中间件?

    本来今天就该讲 MyCat 了,但是我发现还有一个概念值得和大家聊一下,那就是 Java 中间件!

    江南一点雨
  • mysql分布式数据库中间件对比mysql分布式数据库中间件对比

    mysql分布式数据库中间件对比 目前数据库中间件有很多,基本这些中间件在下都有了解和使用,各种中间件优缺点及使用场景也都有些心的。所以总结一个关于中间件比较的...

    Albert陈凯
  • 详解 Scrapy 中间键的用法

    中间件的运用比较广泛,如果直接从定义的角度去理解中间件会有点乱,我以分布式系统为例子进行说明。在上篇文章,我讲到目前后台服务架构基本都是往分布式发展。其实分布式...

    猴哥yuri

扫码关注云+社区

领取腾讯云代金券