在大庆油田的很多二级单位中,他们都已经开发了大量的软件,比如说,钻井公司、采油厂、测井公司还有矿区以及各个集团公司,都拥有一定量的软件装备,但是每个公司之间的软件又是相对封闭、互不共享的;即便同是钻井公司,他们之间的软件设备仍然不是共享的,这些互不连通的软件都是没有统一的规划的,所有的代码都没有统一的标准,显得格外凌乱,为以后的功能扩展带来很大的麻烦,其实在众多单位中,很多软件的功能都是重复的,实现的功能都是相同的。
面对这些问题,软件研发工程必须要解决软件的高内聚低耦合的情况,实现软件的高级重复利用,使未来的软件系统可以相互协作,合同办公。
0 概述
在当今的社会发展下,软件在各行各业已经成了不可替代的一种产品了,尤其是一些办公软件,为人们减轻了不少的烦恼和工作量,在石油行业更是如此,石油专业的应用软件更是起着无可替代的作用,要想使大庆油田在整个石油行业中有突出的竞争力,石油软件开发能力上的提升是不容忽视的。
现在单就国内的石油行业软件来说,我们远远不及国外的发展现状,我们的技术水平远远落后于国外的哈里伯顿等大型企业,现在我国的软件普遍存在的问题就是重复利用率差,编码规则没有统一,这在大庆油田的钻井,采油等方面表现他必然明显。另外在开发人员的质量和数量上跟国外也是不可匹敌的。
就目前的软件发展形式看,软件开发比较趋向模块化,工程化,标准化等方向,无论是国内还是国外,只要是有影响的软件,他们都可以根据用户的需求随时做出适当的调整,及时的满足用户的生产生活要求,这样的开发极大的提高了公司的软件竞争力。
1 著名软件平台架构分析
1.1 MyEclipse架构分析
Eclipse可以准确的说是一个软件的开发项目,专门对开放的源代码进行开发,同时它也是利用Java语言的一个具有扩展性强的平台,我们也可以说Eclipse是由一些简单的框架与服务构成,完全是通过一些插件进行开发的,所以Eclipse又有一种说法,叫做插件集,正是这个小小的插件集,得到了广大开发者的欢迎与热爱,随着Eclipse的慢慢发展,就逐渐有了新的更新,就是这里重点介绍的MyEclipse平台,利用这个平台,我们可以在结合Java语言的基础上,对数据库就可以进行开发了。MyEclipse这个平台具有非常强大的集成开发功能,其中包括了代码的编译、运行、测试和调试等功能,并且它完全支持本文所用到的数据库MySQL。
MyEclipse的特点可以归结为以下7条:
1)J2EE模型
2)Web技术的开发扩展工具
3)EJB开发工具
4)服务器的连接器
5)J2EE项目服务
6)数据库服务
7)帮助MyEclipse进行整合
对于上面的这7个特点功能来说,MyElipse中均含有相应的插件来进行实现,MyEclipse在结构上是可以模块化的,开发设计人员是可以在不影响其他模块的功能的情况下,对其中的任一个模块进行修改和扩展库
1.2 J2EE架构
J2EE是一种标准与规范,是由Sun公司提出来开发的,它主要在企业级别的开发上应用广泛,这个标准是可以在Java平台上实现的,这就确保了Java的诸多优势可以在J2EE的平台上得到体现。这个标准目前已经成为企业开发者的一种行为规范了,J2EE平台的发展目的是使企业在开发系统的时候尽量缩小资金,缩短软件上市的时间。J2EE体系不单为广大使用者提供了应用规范模板,还为他们塑造了一些开发上的规范,程序开发人员可以根据J2EE提供的规范标准中的中间架构,对可靠性高与扩展性强并存的软件系统进行开发了,这样就可以很容易的满足了企业的不同的需求。这样不但降低了程序开发的繁琐程度,还大大减少了开发系统的资金的投入。
2 大庆油田软件应用开发平台架构
大庆油田的软件开发平台可以采用、借鉴上面所说的平台架构,但是要注意融入石油工程的专业特点,使其能够更好的为大庆油田相关软件应用开发平台的建设服务。
2.1 分层软件设计思想
分层设计的出现,使得应用软件的发展与突破变得迅速起来。其中,3层架构应用的比较多,而且技术较为成熟,整个业务被分为3个层次:表现层、业务逻辑层以及数据访问层。在大庆油田软件开发方面,MVC(Model-View-Control模型-视图-控制)模式被广泛应用,这种架构的层次是分为:模型(业务逻辑)层、视图(表现)层、控制层。而它的实质都是在体现分层思想。
视图是用户看到并与之交互的界面。MVC的视图有很多种,能为不同的应用程序服务。不论其中的数据如何,视图并没有做出真正的处理,仅是一种输出数据并允许用户操纵的方式。模型代表企业数据和业务规则。模型在MVC中拥有最多的处理任务。模型在返回数据的时候,与数据格式无关,这一特点使模型可以为多个视图提供数据。控制器接受用户的输入并调用模型和视图去完成用户的需求,当用户页面中做出操作时,控制器自身是没有输出的,并且不做任何处理。仅按照请来决定调用哪个模型构件完成处理,然后选择相应的视图来显示返回的数据。
分层的设计可以把复杂的软件功能简单化,通过分类、抽取以及封装,把软件功能放在不同的层上面,层与层之间存在接口,接口保持不变就不会影响其他的层,这样的方法使得系统的扩展以及维护变得简单的多。
2.2 插件式软件设计思想
插件式的设计思想应用也较为广泛,Eclipse以及普元公司的EOS,都是通过插件式设计来实现软件的开发与信息集成的。一个插件就是一个最小的功能单元,可见性可以变换,甚至可以动态变化。模块之间需要标准的接口来实现连接,这样连接因为咬合度不高,是利于扩展系统功能以及进行维护。各个模块是可插拔的,是基于松耦合的设计理念建立的,单个模块的变动不会影响整个系统的变动。
插件式设计的应用程序由应用程序框架、插件接口、插件和公共函数库四部分组成。实际的设计会更比上述的四部分复杂一些,但原理都是一样的。应用程序框架负责应用程序的整体运作,它在适当的时候调用一些插件,来完成真正的功能。插件接口是一个协议,可以是IDL描述、头文件或者一段文字说明。插件是完成实际功能的实体,会按照接口协议的要求实现,而实现的方式及内容由插件自己决定。公共函数库是一组函数或者类,可以被应用程序框架和插件调用,一般是一个独立的动态库。
3 结论及建议
通过以上的分析,软件分层、插件式等技术都已经比较成熟了,这为搭建一个石油工程软件应用开发平台奠定了技术基础。目前,大庆油田软件开发常使用的软件开发工具有:Microsoft Visual Studio,Microsoft.net等。我们不断积累开发经验,进一步消化吸收技术的精髓,达到熟练使用。
设计建设一个开放的、可扩展的平台是个系统的工程。在技术方面要考虑开放性、可扩展性、安全性、稳定性等等。而规划组织方面也要注意一些原则:统一规划、统一标准、统一实施、先简后繁、分步实现。想要完成这一工程需要长期发展,先建立简单的架构体系,再不断地发展完善。大庆油田的单位部门众多,开发使用的软件也较多,要充分发挥各部分的优势,每一个专业之间协同,分析业务及需求,完成共用功能,通过把软件进行封装,形成一个个的组件。如井身结构图、综合录井图、测井成果图、GIS导航图等。
综上所述,软件复用的技术可以以较小的成本实现大庆油田软件研发的组件化、模块化、松耦合,通过这一技术使已经使用或将要开发的应用之间实现互相通讯、协同工作,研发出适合大庆油田整个企业可以应用的软件应用开发平台,使原来各个独立的应用系统相互连通,不再存在信息孤岛,完成信息资源整合以及信息共享,实现协同办公。
作者:陈红 彭婕 来源:科技视界 2015年14期