用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

皖能集团Internet/Intranet应用系统

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:51:36
【本文由PB创新网为您整理】摘要:通过皖能集团的Internet/Intranet系统的实际案例,介绍了在基于Lotus Notes/Domino系统中最为关键的几项技术:全流程定义技术、关系数据库的接口、Microsoft Word接口和电子刊物的完美显示。
关键词:群件平台 流程定义 接口技术

随着“政府上网”工程的全面启动、工业信息化的进一步发展和电子商务的需求增强,建立一整套计算机综合应用网络系统对企业集团是一种迫切需求。根据当前计算机技术发展趋势,我们采用Internet/Intranet体系模式构造皖能集团的计算机综合应用网络系统,实现对外信息发布和内部的全面办公和业务管理功能,这对实施有效监控、加强信息沟通、提高运行效率和优化产业、资本结构,发挥公司整体效益起到十分重要的作用。

一、网络系统结构
根据皖能集团Internet/Intranet系统的应用需求,从网络系统应用和安全的角度出发,内网至少布置2台Windows NT服务器,作为应用服务器、邮件服务器和备份服务器,提供内部办公自动化和业务数据处理的应用。外网布置2台Windows NT服务器,其中一台

图1 皖能集团Internet/Intranet网络体系结构
配置Domino R5 服务器,作为外部Web服务器,建立皖能(集团)公司的站点,并借助内置的POP3服务器以实现Notes邮件系统和Internet邮件系统的无缝连接,提供信息发布、信息交换和电子邮件等服务;另外一台作为代理服务器,提供内部用户访问Internet服务和防火墙的安全措施。
如图1所示,内部Web服务器接入到主干交换机上,外部服务器应放在代理服务器之外,在代理服务器上插入两块网卡,一块网卡和内部局域网相连,一块网卡和省经济信息网相连,它们之间通过代理服务器进行隔离。同时由路由器实现广域网与局域网的互联,实现通过互联网数据传输的路径选择及网络地址解析,并在路由器上构造外防火墙(IP包过滤)。

二、系统功能

皖能集团Internet/Intranet系统构架于业界领先的群件系统Lotus Notes/Domino R5之上,充分利用了Notes/Domino的强大功能,集电子邮件、工作流处理、多媒体文档应用和Web信息发布为一体,开通了电子邮件、电子日历、个人资料、公文处理、档案管理、资料管理、领导活动、人事管理、项目管理、公司动态、组织机构、皖能视窗、政策法规、综合信息、工作探讨、电子公告板等二十多项应用模块。
皖能集团Internet/Intranet系统功能分为两大部分:
1. Internet Web站点(www.wenergy.com.cn) 和邮件系统(mail.wenergy.com. cn),由于篇幅关系,在此不做详细介绍。
2. 皖能集团办公自动化系统


三、关键技术创新和实现

1. 全流程定义技术
公文运转是工作流程最直接、最充分的体现,它贯穿收文处理、发文处理和签报处理的每个环节。虽然在发文处理过程中,一般都有拟稿、核稿、审核、会签、签发、登记、分发、归档等基本环节,实际上对每个部门、或每一类文件的流程都是不同的。所以在应用系统,应使其每个模块的流程是完全可以由用户根据实际情况灵活定义,流程的定义、跟踪是公文运转系统的关键技术,该系统实现了开放的全流程定义技术,可以适应实际应用过程中的各种需求。
全流程定义技术包括标准流程的定义、引入、修改和控制等,在此主要介绍三个问题:
1) 如何自动引入标准流程,通过Postopen事件调用引入标准流程的函数:
Sub SetDefault(doc As NotesDocument)
… …
Set db = session.CurrentDatabase
Set view = db.GetView( "FlowByNo" )
Set Stepdoc = view.GetFirstDocument
If Not Stepdoc Is Nothing Then
Call Stepdoc.CopyAllItems(doc,True)
Call doc.RemoveItem("ReadLists")
Call doc.RemoveItem("ExplainV")
Call doc.RemoveItem("FlowNo")
Call doc.RemoveItem("flowName")
doc.StepNumC=Stepdoc.StepNumC(0)
doc.StepNum=Stepdoc.StepNum(0)

doc.StepName_1=Stepdoc.StepName_1(0)
doc.StepMan_1=Stepdoc.StepMan_1(0)
doc.StepReturn_1=Stepdoc.StepReturn_1(0)
doc.StepDay_1=Stepdoc.StepDay_1(0)
… …
End If
End Sub

2) 标准流程的修改,将分解为插入步骤、删除步骤。如果理解了插入步骤,就容易实现删除步骤。插入步骤的函数是:
Sub Click(Source As Button)
… …
Set uidoc = workspace.CurrentDocument
Set doc=uidoc.Document
LastNo=uidoc.document.StepNum(0) + 1
doc.StepNum=LastNo
doc.StepNumC= Cstr(LastNo)
Call uidoc.Refreshhideformulas()
If nFieldNo=0 Then Exit Sub
For %i=LastNo To nFieldNo+1 Step -1
Call ReplaceItemsValue(doc, %i, %i-1)
Next
Call uidoc.FieldClear( "StepName_"+Cstr(nFieldNo))
Call uidoc.FieldClear( "StepMan_"+Cstr(nFieldNo))
Call uidoc.FieldClear( "StepDay_"+Cstr(nFieldNo))
nFieldNo=nFieldNo+1
End Sub

3) 流程的控制是最复杂的,通过一系列函数实现,在这里介绍其主函数,让读者可以了解其实现的思路。
Sub Click(Source As Button)
… …
Set uidoc = workspace.CurrentDocument
Set doc=uidoc.Document
'取流程信息
Call InitializeStepInfo(doc )
If gbIsFinished=False Then '如果当前不是最后一步
I

[1] [2] [3]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:3,875.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号