程兆全
摘 要 录井解释成图图制图平台研制主要在业务数据管理的基础上实现录井成果图的绘制,录井成果图的计算机制图大大提高的工作效率和制图的精度。基于界面层、业务逻辑层、数据层三层架构,搭建制图平台,实现了业务逻辑与数据逻辑的分离,并且可以支持数据一体多面的表达形式。
关键词 录井解释 三层架构 业务层
中图分类号:TP311文献标识码:A
1概述
“数字油田”是油田信息化建设的重要目标,录井技术的发展趋势是资料采集向数字化、一体化、标准化、信息化方向发展。在录井资料数字化的基础上,实现录井图计算机处理是勘探数据地质图件信息化技术的重要内容。录井解释成图图制图平台的设计与开发包括UI层、BLL层、DAL层,各层次有明确的功能和任务,区分层次的目的即为了满足面向对象开发设计过程中“高内聚低耦合”的需求。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。
2平台设计
松散耦合的好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发 而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上也是优势明显。每个功能模块一旦定义好统一的接口,就 可以被各个模块所调用,而不用为相同的功能进行重复地开发。
进行好的分层式结构设计,标准也是必不可少的。只有在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准化。
三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。
三层体系结构是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即把这三个层放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。
3表示层设计
表示层(UI)位于最外层(最上层),最接近用户。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
4业务逻辑层
业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将应用逻辑与领域逻辑的解决方案分离。
业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架構,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。
5数据访问层
数据访问层有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务。
简单的说主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同一时候将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)。
6结语
在三层架构的录井解释成图图制图平台的开发设计中,引入分层的设计思想,可以更加明确开发任务的分工。一旦定义好各层次之间的接口,负责不同逻辑设计的开发者就可以分散关注,并行工作。例如 UI开发者只需考虑用户界面的体验与操作,领域的设计者可以仅关注业务逻辑的设计,而数据库设计者也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。
参考文献
[1] 刘莹.钻录井数据整合平台技术研究[J].录井工程,2019,30(01):88-92+101+140.
[2] 徐敬淇.浅析地化录井技术的发展及应用现状[J].信息系统工程,2019(03):41.