74石化企业上层应用系统的设计与实现【PSE 】_企业应用高层设计

其他范文 时间:2020-02-27 03:45:46 收藏本文下载本文
【www.daodoc.com - 其他范文】

74石化企业上层应用系统的设计与实现【PSE 】由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“企业应用高层设计”。

74-石化企业上层应用系统的设计与实现【PSE 2006】.txt爱情就像脚上的鞋,只有失去的时候才知道赤脚走路是什么滋味骗人有风险,说慌要谨慎。不要爱上年纪小的男人,他会把你当成爱情学校,一旦学徒圆满,便会义无反顾地离开你。本文由百有任何贡献

pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

主题九:信息集成技术研究及应用

石化企业上层应用系统的设计与实现

荀允

(中国石化长岭分公司计算机应用研究所,岳阳 414012)摘 要: 本文详细阐述石化企业上层应用系统的设计与实现技术,针对石化企业上层应用系统的特点提出

了基于同一数据源企业不同应用模型的实现技术,并给出了 J2EE 结构框架、异构数据库等关键技术的解决 方案。关键词:上层应用 J2EE Servlet EJB 实时数据库 MVC 组件 0.引言

随着计算机技术的普及应用,石化企业自动化水平在不断提高。许多单位都先后建立了 过程控制系统、企业内部网、实时数据库系统以及一些应用系统;但由于各应用系统数据源 不统一,出现各部门得到的数据信息不一致,对生产经营决策工作产生一定影响;上层应用 系统就是建立在实时数据库的基础上,一方面通过技术手段以一定的频次将实时数据库中的 关键数据转到关系数据库中作为企业应用的统一数据源,另一方面根据企业各部门的需要以 不同的形式进行数据加工与展示,满足企业生产经营需要。2.总体设计

2.1 上层应用系统的特点 上层应用系统作为企业生产经营决策的重要依据,必须具备以下特点:(1)准确可靠性 上层应用系统作为企业生产经营结算的重要依据,系统运行必须稳定可靠,数据准确,值得信赖。这就要求包括数据转换、统计公式、异构数据库之间数 据传输在内的综合系统运行必须运行可靠,综合误差保证在规定的精度范围 内。(2)完整及时性 由于生产实时数据具有累加性和传递性的特点,在任何情况下都不允许丢 失生产原始数据。这就需要在数据传输的各个环节比如 OPC 接口、ODBC-JDBC 桥采用相应的技术手段来确保数据的完整性和及时性。(3)可扩展性 由于上层应用系统面向企业各个业务部门和生产单位,具有多角度的应用 需求。这就要求系统具有业务功能的扩展、组态和重组。(4)安全性 企业上层应用系统是建立在实时数据库基础上,企业技术参数必须严格保 密。系统安全一方面要求企业网管加强网络安全建设;另一方面上层应用系统 限制企业内部的各个部门在自己的使用权限下进行操作。对于后者,通常作为 507 主题九:信息集成技术研究及应用

面向用户、开放的操作平台,上层应用系统为不同的部门提供不同的权限,不 同操作权限的部门只能在自己的权限范围内操作。一般的软件做法是采用多级 多元多视图达到这个目的,所谓多级就是超级用户通过为用户设置不同的级别 使其具有相应的操作权限(也称软件分发技术);多元是指超级用户可以设置 更趋个性化的人机界面; 多视图是指不同操作级别的人员所操作的人机界面也 不一样,因而有不同的信息访问范围。2.2 系统总体结构

图 1 系统总体结构图

2.3 主要功能 上层应用系统粗略的讲就是要解决物流监控、基础计量、数据处理以及不同管理视图的 数据生成与显示。2.3.1 物流定义 物流就是指物料从一个地方流向另一个地方,通常物流 A->B 有两个计量点,系统对每 个计量点给定一个公式变量,方便数据统计与处理; 石化企业物流定义(面向生产)包括 装置与罐区两部分,物流定义的同时解决各物流的数据计量方式与方法,考虑装置与罐区计 量方法的差异,公式变量采用不同的命名规则。(1)以装置为参考点的物流定义 508 主题九:信息集成技术研究及应用

图2 安庆石化催化裂化装置的主要物流图

上图为安庆石化催化裂化装置的主要物流图,系统按如下存储结构进行物流定义:

表1 公式 变量 TG00 1 TG00 2 TG00 3 催化 裂化 催化 裂化 催化 裂化 油浆 付 二罐 区 CH-FQ329 虚拟 0.98 质量表 装置 物料 名称 常底 重油 柴油 付 收 动态 来源 去向 常减 压 精制 CH-FQ352 真实 1.1 体积表 物流定义 实时数据库 位号 CH-FI281 真实 位号类型 仪表修 正系数 1.0 质量表 仪表类型

生产线/ 侧线-(2)罐区物流定义 罐区物流定义与装置类似,只是在定义的同时给出计算方法和计算公式;结构如下: 表2 公式 变量 TP001 物流 中心 101 装置 罐号 物料 名称 油浆 收 动态 来源 去向 催化 裂化 结算结构 实时数据库 位号 WL-FQ325 计算 方法 公式 法 液位修 正值 1.0 22.5 1 乘系数 除系数

考虑企业数据的使用目的,对储罐罐量计算有粗略计量方法和精确计量方法,在上层应 用系统中已开发成组件 EJB,分简单公式法和查表公式法两种: 简单公式法:(液位计数据 + 液位修正值)* 乘系数 / 除系数,这是一种粗略计量方法; 查表公式法: m={(V+Vsp×D4-VS)×[1+β(t-20)]×K×ρ20×F-G}(1-Ws)这是一种精确 计量方法,式中: m——罐内纯油在空气中的重量,V——罐内液位高度下的表载体积,509 主题九:信息集成技术研究及应用

VS——罐底明水高度下的表载体积 D4——罐内油品 20℃密度和 4℃纯水密度的比值 β——油罐材质体胀系数 t ——罐内油品的温度 K——石油体积系数 ρ20——罐内油品标准密度 F——真空中质量换算到空气中重量的换算系数 G——油罐浮顶重量 Ws——罐内油品的含水率 因为第二种方法要查相关表格(如罐容表、静压力修正表、VCF 等),因此命名为查表 公式法。2.3.2 数据采集 用户可通过数据录入界面方便地进行数据录入、参数设置以及系统维护,系统自动保 持全网络数据的一致性。任何数据的修改都不会影响系统的正常运行。数据采集主要包括人 工部分和自动部分,人工部分包括系统设置、物流定义、报表定义以及由于计量手段等原因 造成不能自动采集的生产现场数据; 自动采集部分根据物流定义中的位号进行采集主要包括 储罐液位数据、储罐温度数据、装置流量计数据以及公用工程数据。2.3.3 统计指标设置与计算(1)统计指标设置 前面已经提到,同一物流收付双方都有计量,在企业统计中以哪方计量参与统计,这就 是统计指标设置要完成的工作。假设有如下业务场景:

计量点 0302 A1 A2 B1 A2 常 减 压 A1 B2 C1 C2 公式变量 TP002 TP003 TP004 TG099 TP008 TG123 催 化 C2 C1 0301 B1 B2 裂化

图4 业务场景

如上图,假设物料 W1 从储罐 0301 发到催化裂化与罐 0302 并且收到常减压发量,共有 6 个计量数据;假定 0301 属于储运部,现在统计 0301 的库存增减,那么系统就必须提供如 下表定义模板,可能的计算模式有 8 种即 C1-A1-B1、C1-A1-B2、C1-B1-A2、C1-A2-B2、510 主题九:信息集成技术研究及应用 表 3 定义模板 二级变量 TW0001 单位 储运 罐号 0301 物料 W1 指标名称 库存增减 计算公式 TP008-TP002-TG099 公式描述 略 C2-A1-B1、C2-A1-B2、C2-B1-A2、C2-A2-B2,具体应用中选哪些计量数据视具体情况由 用户设定。为了系统实现的方便性,计算公式中用物流定义中的公式变量作为因子,统一用 公式解析组件进行解析; 公式描述是为了提高公式的可读性而设计的,在物流定义中抽取重 要信息字段组合成完整语句按计算公式中的因子逐个替代。当然,根据企业应用需要可以定 义多级统计公式,通常情况是班组级、车间级和企业级。(2)公式解析与计算 在实际应用中,系统对计算公式进行解析,通过公式变量和时间(可以是时间点也可以 是区间)从数据库中获取对应的数据进行算术运算。公式解析模块已开发成组件,对任何算 术表达式解析无误。2.3.4 数据展示 上层应用系统根据统计层次进行报表定义,针对每级统计指标都有对应的报表数据项目 定义,并且指定了数据在报表中显示位置。上层应用系统提供一套仿 EXCEL 电子报表的制作 工具,它的风格和操作模式都与 EXCEL 非常相似,只要熟悉 EXCEL 的人就可以很方便的使用 系统的制表工具,完成了生产数据、报表操作与 EXCEL 无缝连接,生成摸板文件后,可以方 便地在 Web 上发布。

报表格式定义

报表数据表

建立 Websphere 与 Excel 的通讯 报表生成 Excel 模板文件

报表显示

图 5 报表制作流程 3.实现技术

3.1 基于 J2EE 模式的三层 B/S 体系结构 上层应用系统采用基于 J2EE 模式的三层 B/S 体系结构,三层结构是在两层结构的基础 上加入一个(或多个)中间件层。它将 C/S 体系结构中原本运行于客户端的应用程序移到了 中间件层,客户端只负责显示与用户交互的界面及少量的数据处理(如数据合法性检验)工 作。客户端将收集到的信息(请求)提交给中间件服务器,中间件服务器进行相应的业务处 理(包括对数据库的操作),再将处理结果返回客户机。与传统的 C/S 体系结构相比,三层 511 主题九:信息集成技术研究及应用

体系结构具有零客户短维护、可扩展性好、安全性好、资源重用性好等优点。基于 J2EE 模

EJB/Bean Servlet(控制器)EJB/Bean Web 客户机 Web 服务器 DBMS EJB/Bean JSP(视图)图 6 应用程序服务器

式的三层 B/S 结构如下。从图中可以看出,三层结构主要由如下三部分组成:(1)客户端 客户端的主要任务是显示用户界面,接收用户事件。三层体系结构中,用户界 面通过浏览器显示,Web Server 将应答最终以 HTML 为载体下载到客户端浏览器,经浏览器进行解释,得到最终的用户界面。(2)中间件服务器 中间件服务器由 Web 服务器和应用服务器两部分组成,有的中间件将这两部分 集成到了一起如 BEA Web Logic。应用服务器是中间件的核心部分,是真正实现业 务功能的服务。按照一般的 MVC 中间件设计模式,应用服务器可以划分成视图(View)、控制器(Controller)和模型(Model)三个层次。视图负责显示应答结果,控制器是应用服务器的调度中心,它接收来自客户端的请求,将处理结果返回客户 端;模型是具体实现业务处理功能的层次,供 Servlet 调用、分析和处理来自客户端 的请求。(3)数据库服务器 数据库服务器是业务对象的属性得以永久性保存的载体。基于业界面向对象的 数据库技术还不成熟,本系统还是采用比较流行的关系型数据库 Oracle 9i.3.2 实现上层应用系统的三种 J2EE 技术 3.2.1 Java Server Page Java Server Page(JSP)技术与 ASP 技术类似,是一种在服务器端进行解析,动态生成网 页传递给客户端 Web 技术:它是基于 Java 技术,将 Java 代码嵌入 HTML 页面中实现的。本质上,JSP 是一种高层的 SERVLET。它与其它网页编写脚本有很大的相似性,但是执行 时有所不同。JSP 引擎将它和它所在的 HTML 文件一起合成 Servlet 的代码,然后它的执行 就与 Servlet 的一样:先编译成.cla 文件,最后由支持 Java 虚拟机的服务器来执行,最后输出 结果。在使用 JSP 中如果结合使用 JavaBean 技术就会更加方便灵活。512 主题九:信息集成技术研究及应用 3.2.2 Servlet Servlets 提供的功能大部分与 JSP 相同,它采用的是一个有点不同的方法。JSP 中大部 分是 HTML 代码,其中只有少量的 Java 代码,而 servlets 则相反,它完全使用 Java 编 写,并且产生 HTML 代码。Servlet 是一个在服务器上运行的 Java 小程序,它可以扩展 Web 服务器的功能。Servlet 和 CGI 一样都是运行在 Web 服务器上,用来生成 Web 页面。与传统 CGI 或其它 CGI 类 似代替技术来说,Java Servlets 效率更高,使用更方便,功能更强大,更小巧也更便宜。在开发 Servlet 时,一般都要扩展 javax.servlet.http.HttpServlet 类,并且覆盖 它的一些方法。常用的方法包括: service(): 作为 command-specific 方法的一个调度程序 doGet(): 处理来自一个客户的 HTTP GET 请求 doPost(): 处理来自一个客户的 HTTP POST 请求 3.2.3 EJB EJB 是一种基于组件的结构,用于开发和使用基于组件的分布式业务应用。使用 EJB,应用程序开发者可以专注于支持应用所需的商业与业务逻辑,而不用担心周围框架的实现问 题,J2EE 服务器会提供基本系统级服务,如并发控制、事务管理、持久性管理、对象分布、命名和安全管理等。EJB 组件有三种基本类型,我们使用的有两种即:Entity bean 和 Seion Bean。实体 Bean 是为现实世界的对象建造模型,这些对象通常是数据库中的一些持久记录; 会话 Bean 是客户端应用程序的一个扩展,并负责管理整个过程和任务。下图为上层应用系 统的部分 EJB 实现模型:

Seion EJBs Entity EJBs Search facade Clients B_data_jjyb B_data_ddrb Database reports facade 图 7 上层应用系统的部分 EJB 实现模型 3.3 数据库和实时数据库 在上层应用系统中,数据库技术是不可缺少的关键技术之一,由于各个企业具体情况的 不同,特别是要兼容企业现有软件(比如提供接口)数据库的时候就要考虑异构数据库的读 写。基于数据库的中间件从某种意义上解决了这个问题。基于数据库的中间件提供了一系列应用程序接口 API,从而允许应用程序同本地或异地 的数据库进行通信。应用程序通过中间层而不考虑操作系统及网络来访问数据库,以达到访 问数据库的透明。ODBC,JDBC 都是基于数据库的中间件标准。在上层应用系统开发中主要应用 JDBC 与 JDBC-ODBC 桥。JDBC 是使用 Java 语言实现的,在 Java 语言中支持基本 SQL 功能的通 用应用程序编程接口,它实现了一个独立于特定数据库管理系统 DBMS 的通用的 SQL 数据 访问和存储结构。JDBC API 的结构如下图。值得注意的是在开发 EJB 组件时,可以根据实 513 主题九:信息集成技术研究及应用

际需求选用容器管理持久性或 Bean 管理持久性。当使用 Bean 管理持久性机制时,必须在 Bean 类中利用 JDBC API 明确地编写持久性处理代码,这样做可以使我们在管理 Bean 实例 和数据库之间的状态时具有更大的灵活性。

Java 应用程序 JDBC API Java 驱动程序管理器 JDBC Driver API JDBC-NET 驱动器 JDBC-ODBC 桥驱动器 ODBC 与 DB 驱动器 JDBC 中间件协议 图 8 JDBC API 结构图 其它驱动器 专用 DBMS 协议

由于实时数据库不支持 JDBC,因此在实际开发中使用 JDBC-ODBC 桥;JDBC-ODBC 桥 允许在 Java 程序中将许多现有的 ODBC 驱动程序与 JDBC 一起使用,桥本身就是类 sun.jdbc.odbc.JdbcOdbcDriver 定义 的 JDBC 驱动程 序,它 定 义了 JDBC 的子 协 议 odbc。简单的说,在上层应用中使用 JDBC-ODBC 桥的目的就是用 ODBC 从实时数据库读取 数据,用 JDBC 在 JAVA 中显示。4.结束语

随着企业信息化建设的深入和细化,上层应用系统渐显其优势。MVC 作为一种设计模 式在 WEB 应用中渐渐得到广泛应用。笔者先后在中石化安庆分公司、中石化仪征化纤股份 有限公司开发企业上层应用系统,取得了明显的应用效果。

参考文献

[1] IBM,Introduction to Java using IBM WebSphere Studio Application Developer V5.1.1 [2] IBM,Servlet and JSP Development With IBM WebSphere Studio V5.1.1 [3] IBM,Developing EJBs with IBM WebSphere Studio Application Developer V5.1.1 [4] IBM,IBM WebSphere Application Server V5.1 Administration [5] IBM,WebSphere Studio Application Developer Version 5 Programming Guide [6] IBM,EJB 2.0 Development with WebSphere Studio Application Developer [7] IBM,IBM WebSphere Application Server 5.0 System Management and Configuration 作者简介 荀π,1972 年 12 月生,1997 年毕业于大连理工大学,工程师、主要从事软件工程和数据库技术。514 1

下载74石化企业上层应用系统的设计与实现【PSE 】word格式文档
下载74石化企业上层应用系统的设计与实现【PSE 】.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文