关于实际工作中多网站整合的思考
收藏
打印
发给朋友
发布者:李俊彪 李远芳 张莉 陈钜龙
热度0票 浏览55次
时间:2022年7月28日 11:05
(510300 国家海洋局南海预报中心 广州)
【摘 要】信息化在海洋预报行业内深入发展,很多业务都需要网站、数据库等信息系统支撑,但随着业务扩大,信息系统数量大幅增长,管理面临很大挑战。大量功能重复建设,浪费资源,且系统间各自为政,无法实现资源共享。作者从实际工作出发,自主开发一套规则,方便管理众多信息系统,也让系统之间实现最大程度的资源共享。
【关键词】信息系统;重复建设;资源共享;程序接口;便于迁移随着信息化在海洋预报行业内深入发展,信息系统数量大幅增长,给后期开发和管理带来繁重压力。在实际工作中,要管理众多网站,情况复杂。维护它们正常运行实属不易,修改代码、自行开发难度更大,迫切需要找到一种简单方便的维护管理方法。
1碰到的问题
1.1相同功能或模块重复开发
几个大网站通常会包含很多功能相同的模块,如登录、互联网地图显示、图表等,也有很多相同的基础功能,如数据库访问、FTP 访问等。
重复开发除了浪费资源和开发经费外,一旦需求或基础环境发生改变,要修改很多相关模块的程序。若其中一个修改不到位,都会导致错误。
1.2网站或模块迁移不方便
当网站架构出现变化,或服务器损坏、挪作他用时,网站或模块需要迁移到新路径或新服务器。需要修改网站程序文件中的各种路径(引用文件路径、图片路径、数据库连接信息等)。若有其他程序引用该程序,还要将这些程序都改一遍,工程量很大。
1.3无法跨平台跨语言共享
各网站是不同部门委托不同公司开发,运行平台、开发语言、网站架构也各不相同,很难实现资源共享。
2探索解决方案
我们尝试过几种解决方案,但各有各的问题。
2.1软件框架
软件框架是为了解决若干重复出现的开放性问题而设计的具有一定约束性的支撑结构,只需按照其规定的方式编写少量程序,即可解决特定问题。
但框架仅解决通用问题,难以满足个性化需求。
且框架升级难以保证。框架最重要的是维护升级,来满足日益更新的需求,但市面上能做到持续更新的太少,一旦碰上难以解决的bug,使用难度更高。
技术升级太快,加上平时工作繁重,要及时学习并掌握最新技术十分困难。
2.2 WebService
由于微软的经营策略,WebService应用基本被限制在微软的产品体系中,难以实现真正的跨平台、跨技术应用,且使用时格式繁琐,无法快速开发。
3自行开发
基于上述情况,决定自行开发一套简单易行的规则。这套规则的主要特点在于,一切都建立在api(程序接口)之上。
3.1总体情况
以全局唯一的名称命名总文件夹,一般为项目名+模块名。
总文件夹下设三个子文件夹,分别命名为api、web、environment_variable。api文件夹存放具体功能的接口程序,web存放该模块的网页程序,environment_variable存放环境变量。
3.2 api
一切都建立在api之上!该模块所有能单独出来的功能都单独分出来,做成接口。例如,登陆、检测某用户是否已登陆等功能都分别写成一个接口。且一个接口写成一个文件,方便查找和引用。不仅是服务器内其他程序,整个局域网内都可以访问,减少重复建设。
3.2.1 api编写规范
3.2.1.1 参数
参数由外部引用程序通过post方式提交,比get方式更安全。所有参数均过滤特殊字符,避免注入攻击。post为互联网提交数据的通用方式,适用于所有平台、所有开发语言,真正实现跨平台、跨语言交互。
3.2.1.2 安全
所有参数均过滤特殊字符,避免注入攻击。
在外部引用api时,还需加访问限制。最安全的是设置访问来源ip的白名单,若本机其他程序访问,则仅允许127.0.0.1,若局域网内访问,可允许192.168.xxx.xxx,即可禁止陌生链接,减少被攻击或非法访问的可能。
还可以通过post提交某用户专用的用户名、密码,就可知道什么用户访问,断绝非法访问。如需要可记录日志,方便审查,若发现异常直接注释该用户名、禁止登录即可。
3.2.1.3 返回值
api返回值丰富多样。json、状态码、字符串、xml均可,按需选择。推荐使用json。
3.2.1.4 说明文档
所有接口需配备说明文档,放在项目内,方便查阅。文档需规定接口路径、用途、参数、返回结构等。
3.3 web
存放网站程序的文件夹,如html、javascript、php等。具体功能尽可能通过api调用,减少重复建设。若该api仅实现某基本功能(如FTP访问等),则不需要web文件夹。
3.4 environment_variable
主要为了方便迁移。将总文件夹所处的ip、路径、数据库信息等都汇总到这里,方便统一修改,实现迁移时只改一次。
综上所述,经过这套规则的改造,各信息系统可方便实现资源共享、迁移复用。以上均为作者在工作中的一些总结与见解,仅为抛砖引玉。
作者简介:
李俊彪,(1985.12-)男,汉,籍贯广东开平,本科,助理工程师,研究方向:计算机管理。