欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    优紫光华宇知识库管理系统623修改2.doc

    • 资源ID:3815242       资源大小:1.77MB        全文页数:69页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    优紫光华宇知识库管理系统623修改2.doc

    目录第一章 绪论11.1 课题背景11.2 课题的研究现状及发展趋势11.3 课题的目的和意义41.4 课题的内容5第二章 关键技术介绍62.1 JAVA语言62.1.1 历史62.1.2 特点72.1.3 Java框架结构82.1.4 Java技术82.2 J2EE框架92.2.1 MVC模型和Struts102.2.2 Spring102.2.3 Hibernate112.2.4 summer2.0122.3 oracle9i数据库122.3.1 概述122.3.2 特点12第三章 需求分析143.1 知识浏览143.1.1 浏览知识143.1.2 全文检索143.1.3 搜索时关键词提示143.1.4 多套皮肤机制153.2 知识维护153.2.1 知识维护153.2.2 回复评论、评分163.2.3 知识审批、发布流程163.2.4 知识打印功能163.3 知识模板163.4 知识类别173.4.1 知识类别维护173.4.2 知识自动整理173.5 软件接口和Web服务183.5.1 提供给应用系统接口183.5.2 知识导入导出18第四章 系统的架构设计194.1 系统架构194.2 包结构说明194.3 表现层214.3.1 JSTL214.3.2 EL表达式214.3.3 业务逻辑层和表现层的数据交互224.4 控制层234.5 Web服务和底层234.5.1 审批发布流程244.5.2 异常处理244.5.3 组件支持254.6 系统中的数据流28第五章 数据库设计295.1 数据库连接配置295.2 Hibernate映射295.3 数据操作30第六章 模块的设计与实现316.1 知识浏览316.1.1 知识列表显示316.1.2 知识显示326.1.3 知识详情显示356.2 知识维护366.2.1 添加知识366.2.2 编辑知识386.2.3 删除知识426.3 知识类别维护436.3.1 添加类别436.3.2 编辑类别446.3.3 删除类别466.4 .权限控制466.4.1 验证466.4.2 访问控制48第七章 总结53致谢54参考资料55附录 A56中文翻译56英文原文61第一章 绪论1.1 课题背景在上世纪90年代,面对着企业核心竞争力从以资本和自然资源为核心的模式转变到以知识资本为核心的模式,Karl-Erik Sveiby 博士提出了知识管理的管理概念。所谓的知识管理是指基于企业知识生命周期管理,整合企业内部知识资产,同具体业务流程相结合,以提高企业核心竞争力的管理模式。在知识经济时代,对企业内部知识资本进行管理业已成为企业提高核心竞争力的必要之选。知识库管理系统,是以互联网和信息技术为基础,帮助企业对异构环境下的知识资源进行明晰化、系统化的管理,定位拥有专门技能的员工,建立协作专家网络,使得所有员工能够快速方便地访问到所需要的知识资源。无论数据库、文档、政策、业务流程还是员工的个人技能都能够得到高效的贡献利润。从而提高整体的应变和创新能力。一般而言,广义的知识管理体系应该包括人员、场所和知识流三个元素。随着知识管理概念的深入人心,进行知识管理实践的行业、组织将越来越多,除了传统的企业组织进行知识管理外,将会有越来越多的政府机构,行业协会、项目组织、虚拟社团等进行知识管理。例如大型运动会的知识管理、环境保护的知识管理、大江大河治理的知识管理、各类基金会社会慈善机构的知识管理、行业的知识管理等。在企业组织实施知识管理的实践中,传统行业的知识管理实践将明显增多。知识管理将成为企业管理中的一项基础管理,通过战略管理、营销管理、项目管理、人力资源管理等组织各方面的管理职能展现出来。更多的管理者认识到知识作为战略性资源的价值,在各项日常的管理实践中有意识的去做知识管理的工作。1.2 课题的研究现状及发展趋势在“2005知识管理&创新高峰论坛”上,蓝凌管理咨询支持系统有限公司通过历时半年的面向国内数千家大型企业调查和研究,共回收调查问卷2072份,同时还对20多家企业进行了个案调查。最终形成了这份第一次全面、系统地呈现中国企业知识管理应用水平的现状和发展趋势的深度报告. 经过中国企业几年的知识管理实践,2005年,知识管理在中国取得了更加快速的的发展。本报告重点调查研究了中国企业知识管理的成熟度现状分析以及中国知识管理调查趋势的分析。现将其中的一些重要结论总结如下:1. 知识管理整体成熟度中国KM(知识管理knowledge manger)成熟度总分为48.1,大均值为3.21,KM成熟度等级处于第3级别的初始阶段。考虑到参与调查机构对知识管理大都有一定认识和实践,因此整体来看,中国企业知识管理水平并不乐观。图 1.1 KM成熟度2. 知识管理认知标准图 1.2 知识管理的理解目前对知识管理认知还还缺乏统一的标准,对知识管理的理解形形色色。其中,将知识管理理解为“知识型的企业文化”、“学习型组织”、“创新管理”和“分享出色的实践经验“的比例比较高;这说明越来越多的企业希望知识管理能够塑造知识型企业文化、培养学习型的组织、增强企业创新能力和强化企业共享能力。有36.98将知识管理理解为”一种IT工具“。3. 知识管理的关注和投入图 1.3对知识管理的关注和投入在知识管理的关注和投入方面,有53的机构表示“关注和投入”在增加;有25%的机构表示“关注和投入没有变化”;有8%的机构表示“关注和投入在减少“。就知识管理的关注度来说,11%的机构表示知识管理“在业务中被自如应用”,24%的机构表示知识管理“是热点,得到战略关注”;32%的机构表示知识管理“是热点,但没有处于战略高度”;28%的机构表示知识管理“没有得到太多关注;而“从来没有开展知识管理活动”的比例只为5%。“在业务中被自如应用”的公司有:埃森哲、Dell中国、神州数码等。而“是热点,得到战略关注的公司”则有:中兴通讯、摩托罗拉中国技术公司、西门子、Pegasus Telecom 等。4. 知识管理建设阶段在知识管理建设方面,处于“萌芽和启动状态”的占36%,有12%的机构已经着手“战略制订和规划”,有14%的机构正在“设计并开始知识管理活动、建设知识管理系统”,进入“知识管理推广和支持”和“知识管理制度化”的机构共占10%。尚有28%的机构在知识管理方面“暂时没有计划”。图 1.4知识管理的状态5. 知识管理实践收益从知识管理实践所取得的价值来看,主要体现在“提高员工技能和知识”、“提高员工工作效率和生产率”、“改善知识沉淀和储存”、“帮助避免作重复工作”以及“协作机制和流程改进”等方面。表示取得明显的财务收益的有17.71%;但是,也有14.24%的机构表示其知识管理实践没有取得明显的收益。从该调查分析统计来看,对知识管理收益评估应该成为知识管理研究的重要方向。图 1.5知识管理的收益1.3 课题的目的和意义紫光华宇知识库管理系统面向各类企事业单位,法院、检察院,税务等政府组织,为各类企业、组织提供知识管理相关的工具,不仅具备对组织内部知识的收集、组织、管理和利用能力,还能够帮助企业、组织管理外部知识,例如客户知识、市场知识等。从而全方位帮助企业、组织提高知识管理水平。1.4 课题的内容课题的主要的内容包括下面几个要点在java环境下的设计和实现:知识、知识模板、知识类别等。第二章 关键技术介绍本系统的开发环境:集成开发环境 Eclipse3.2.1myeclipse5.1中间件tomcat5.0数据库oracle9i框架支持:Struts1.2、Spring2.0、Hibernate3.0、Summer2.0本系统的实现主要利用的现在流行的web应用程序设计语言java语言和oracle公司的数据库产品oracle9i。java设计语言是随着internet发展起来的一门新兴的语言,它的一个突出特点就是特别适合于web应用程序的开发。而oracle9i数据库则是时下流行的比较成熟的数据库产品,这章将主要介绍java语言和oracle9i数据库产品。2.1 JAVA语言2.1.1 历史自从1946年世界上第一台电子计算机问世以来,计算模式的发展经历了三个阶段:集中计算模式、分散计算模式和网络计算模式。Internet的出现,为在网络计算模式下的科学计算和信息处理提供了良好平台。然而,要充分利用网络计算模式的功能与效益,平台的运行环境是个制约因素,而Java语言和Java技术则是解决这一问题的最佳途径。1991年,SUN公司的Jame Gosling,Bill Joe等人试图为电视、烤箱等家用电器开发一种交互式的软件系统,这种应用需要的是那种小而可靠的系统,它能够移植,并且实时性好,适用于网络分布环境。流行的C+是自然的选择。不过,开发过程中遇到的许多难以克服的困难使他们意识到必须彻底解决问题了,最终,开发成功了一个名为Oak的软件,此中蕴藏着Java的原型,当时,并未引起人们的注意。1994年下半年,随着Internet的迅猛发展,环球信息网WWW的快速增长,促进了Java语言研制的进展,使得它逐渐成为Internet上倍受欢迎的开发与编程语言。1995年5月Java正式问世,一些著名的计算机公司纷纷购买了Java语言的使用权,如Microsoft、IBM、Netscape、Novell、Apple、DEC、SGI等。因此,Java语言被美国著名杂志PC Magazine评为1995年十大优秀科技产品(计算机类仅此一项入选)之一,随之大量出现了用Java编写的软件产品,受到工业界的重视与好评,认为“Java是八十年代以来计算机界的一件大事”。微软总裁比尔·盖茨在认真观察了一段时间后,确认“Java是长时间以来最卓越的程序设计语言”,并确定微软整个软件的开发战略从PC单机时代向以网络为中心的计算时代转移,而购买Java则是他的重大战略决策的实施部署。因此,Java的诞生必将对整个计算机产业发生深远的影响,对传统的计算模型提出了新的挑战。SUN Microsystem公司的总裁Scott McNealy认为:Java对Internet和WWW开辟了一个崭新的时代。2.1.2 特点Java语言是一种适用于网络编程的语言,它的基本结构与C+极为相似,但却简单得多。它集成了其它一些语言的特点和优势,又避开了它们的不足之处。它的主要特点如下:1. 简单性Java与C+相比,不再支持运算符重载、多级继承及广泛的自动强制等易混淆和较少使用的特性,而增加了内存空间自动垃圾收集的功能,复杂特性的省略和实用功能的增加使得开发变得简单而可靠。2. 平台独立性 这是Java最吸引人的地方。由于它采用先编译成中间码(字节码),然后装载与校验,再解释成不同的机器码来执行,即“Java虚拟机”的思想,“屏蔽”了具体的“平台环境”特性要求,使得只要能支持Java虚拟机,就可运行各种Java程序3. 面向对象的技术 面向对象(O-O)的技术是近年来软件开发中用得最为普遍的程序设计方法,它通过把客观事物进行分类组合、参数封装、用成员变量来描述对象的性质、状态,而用方法(成员函数)来实现其行为和功能。O-O技术具有继承性、封装性、多态性等众多特点,Java在保留这些优点的基础上,又具有动态联编的特性,更能发挥出面向对象的优势。4. 多线程 多线程机制使应用程序能并行执行,Java有一套成熟的同步原语,保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上实时的交互行为。5. 安全性 Java有建立在公共密钥技术基础上的确认技术。指示器语义的改变将使应用程序不能再去访问以前的数据结构或是私有数据,大多数病毒也就无法破坏数据。因而,用Java可以构造出无病毒、安全的系统。2.1.3 Java框架结构Java平台以Java2为核心,由面向企业和服务器市场的企业版Java2(J2EE)、面向传统PC客户机市场的标准版Java2(J2SE)和面向信息电器等后PC终端设备市场的Micro版Java2(J2ME)三大部分组成。其中,J2EE包括Enterprise JavaBeans(EJB)、Java Server Pages & Java Servlets、Java Mail API和Java Massage Service组成。而J2ME则是原有的Personal Java、EmbeddedJava、JavaCard以及刚刚推出的Kjava组成。虽然新框架结构中的内容都是已有的,但这样重新定义和组合,使得Java平台的概念简单化,从而变得易于理解,更适合于进行市场推广。随着Internet的飞速发展,企业计算模式正摒弃C/S结构而采用B/S结构,此即瘦客户端/胖服务器、大容量数据库的3层或N层体系结构。由于Java的特点,使得它在开发服务器端的应用程序方面有着得天独厚的优势,面向服务器端的J2EE为当今逐渐流行的N层体系结构提供了一个标准的Java计算平台:界面一致、工具简易、丰富、Web页面互联便捷,从而能大大加速和简化各种应用系统的开发。2.1.4 Java技术Java发展至今日,已不仅仅是一种编程语言,实际上已形成了一门技术。其内容包括:1. Java软件包Java语言及其编程技术、JavaOS、Java开发环境与工具、Java语言的各种软件包、数据库接口JDBC等。2. Java虚拟机及其规范3. Java嵌入技术(Java芯片)4. Java计算基于Java技术的企业Internet/Intranet信息系统以及其他应用系统。5. Jini技术Jini的出现为Java网络连接提供了公共标准,使得任何Java设备都可以连入网络中被自动识别,并可充分利用网络上已有的各种资源。它把网络上的各类设备(包括消费类电子设备如移动电话、PDA、DTV、HPC、NC、游戏机、电冰箱、智能卡等等)和各种软件组合成一个单一、动态的分布式系统,使网络更易于操纵、易于管理,具有更高的可配置性。6. Jiro平台Jiro平台实现了Java和Jini技术,它是一个便于用户管理异质网络上由各种服务器、存储和设备组成的混合环境的开放式存储管理平台。它对操作系统是中立的。Jiro为跨异质存储局域网(SAN)的管理服务和设备提供了一个开放平台,允许服务器、存储和联网设备在异质网络环境中无缝地协同工作。2.2 J2EE框架什么是框架?框架是由一些类组成,这些类为应用程序提供了一个可重用的设计。应用程序代码访问类库从而执行任务,而框架是调用应用程序代码,从而管理程序的流程。这就是经常说道的好莱坞原则:“不要试图联系我们,我们到时候自会通知你。”开发者写的程序在运行时由框架调用。框架很适合在复杂的J2EE开发中使用,它可以为开发者提供一个简单易用的模型。采用一个经过良好设计的开源框架有很多好处:1. 在好的框架下,开发者只需要写一些必须的代码;他们不需要直接接触底层的API。2. 经过良好设计的框架可以为程序提供清晰的结构并且提高程序的内聚性。好清晰的结构使得其他人可以更容易加入项目。3. 采用成功的框架的代码比自己的代码容易测试当然,本系统也采用了一些框架,这些框架都是java开源框架,不需要支付费用即可使用。下面我将他们一一介绍。2.2.1 MVC模型和StrutsMVC就是ModelViewController的简写。“Model”代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“View” 是应用的表示面(由JSP页面产生),“Controller” 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑、处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。MVC具有组件化的优点从而更易于实现对大规模系统的开发和管理,但是开发MVC系统比简单的JSP开发要复杂许多,所有的页面和组件必须在MVC框架中实现,所以必须进行附加地开发工作。因此采用MVC实现Web应用时,最好选择一个现成的MVC架构,在此之下进行开发,从而取得事半功倍的效果。而Struts是当前最为成熟的MVC架构,并且有完整的文档支持,因此Struts成为许多从事web开发人员的首选。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。页面导航使系统的脉络更加清晰。同过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。2.2.2 SpringSpring则是另外一个java开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。他有以下几个特性:1. 轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。2. 控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。3. 面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。所有Spring的这些特征使我们能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。2.2.3 HibernateHibernate是一个面向Java环境的对象/关系数据库映射工具。为了实现资源层的解耦和逻辑结构和物理结构的解耦和。他用来把对象模型表示的对象映射到基于SQL的关系模型结构中去。hibernate提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。从而提高开发效率和代码的可重用性2.2.4 summer2.0summer2.0则是由紫光华宇软件公司自主开发的基于struts1.1 、spring2.0、hibernate3.0的开发框架。主要定位于企业内部项目开发使用,目的是简化项目配置,提高开发效率。在web层它将http请求和应答request和response整合成一个全局的map,所有的数据通过map传递,从而加快开发人员编写代码的效率,简化了开发流程。在事务管理上,它沿用了spring的事务管理机制。数据访问和持久化它应用了hibernate,hibernate有着完备的数据查询和持久化方法和优秀的数据库缓存管理、延时加载等特性。为我们的数据持久化提供了便捷之路。2.3 oracle9i数据库2.3.1 概述Oracle 9i是Oracle公司推出的数据库管理系统,是专门为在Internet上进行数据管理而设计的数据库开发平台。Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。2.3.2 特点ORACLE引入了共享SQL和多线索服务器体系结构。这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。提供了与第三代高级语言的接口软件PRO*系列,能在C,C+等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。第三章 需求分析3.1 知识浏览3.1.1 浏览知识表 3.1浏览知识用户(Who)知识维护人员做什么(What)知识的列表、详情显示,知识的显示。3.1.2 全文检索表 3.2全文检索用户(Who)知识浏览人员,知识维护人员等做什么(What)对知识库可以进行全文检索,检索所有的内容及附件信息。怎么做(How)采用接口实现,可以更换全文检索功能接口。首先实现以Oracle为基础的全文检索实现;在第二阶段实现与特定数据库无关的全文检索实现。特性(Feature)如果采用Oracle全文检索组件实现全文检索接口,那么数据库必须使用Oracle数据库,并应该含有Oracle全文检索组件。3.1.3 搜索时关键词提示本功能是知识搜索功能的子功能。知识搜索功能包括,全文检索,标题检索和关键字检索。表 3.3搜索时关键词提示用户(Who)可查询知识的用户做什么(What)检索关键字时提示,指的是在输入关键字查询时,从整个应用系统存储的关键字中取出匹配用户已经输入部分的关键字,列在一个层上,显示在输入框下面。怎么做(How)收集关键字频率组件关键字及其频率缓存搜索框使用关键字以及频率特性(Feature)需要提供给外部系统,获取相关关键词及其频率的接口3.1.4 多套皮肤机制表 3.4多套皮肤用户(Who)知识维护人员做什么(What)能变化一些界面上公共元素。(Logo,banner,版权,系统名称)一些按钮、小图标(例如类别)的变化(合称:图标系统)提供皮肤设置功能,设置/增加/删除皮肤功能;提供自定义皮肤功能,主要是修改皮肤颜色;(可选)怎么做(How)界面风格全部使用CSS控制,布局考虑使用DIV,而不在具体页面中使用格式控制。对于系统公共元素等,其他在第一个开发阶段只需要设计实现即可3.2 知识维护3.2.1 知识维护表 3.5知识维护用户(Who)知识维护人员做什么(What)知识的增加、修改、删除、列表、详情显示3.2.2 回复评论、评分表 3.6回复评论、评分用户(Who)知识浏览人员/专家做什么(What)对于发布的知识浏览用户可以对知识进行评论及评分。评分分为用户评分、专家打分。特性(Feature)用户/专家的评分,将对知识的权重(或者可信度)产生较大的影响。3.2.3 知识审批、发布流程表 3.7知识审批、发布流程用户(Who)知识维护人员做什么(What)知识库中需要对知识进行审批、发布的流程。配置成可选,针对知识类别设置不同流程。批量知识审批和发布。3.2.4 知识打印功能表 3.8知识打印用户(Who)知识维护人员,或者系统自动做什么(What)新出一个良好排版的页面。对其中破坏版面的标签进行过滤,调整。批量打印功能。增加一个聚集内容的页面。导出成Word,PDF文件进行打印。3.3 知识模板表 3.9自定义知识模板用户(Who)知识维护人员做什么(What)知识库中各类的知识需要录入的信息会不同,各类知识可通过知识模版来定义本类知识用到的字段信息。实现知识信息输入的灵活性。同时,知识模板应该定义出对应的知识元数据结构怎么做(How)增加一类知识模版,即在数据字典字义中增加一类数据字典的定义。对知识模版的维护,即对数据字典维护,同时数据库中记录入模版信息。对知识模版的维护有增加、修改、删除、发布、设置显示顺序、设置无效、设置有效、查看固定字段、列表显示等操作。3.4 知识类别3.4.1 知识类别维护表 3.10知识类别维护用户(Who)知识维护人员做什么(What)知识类别的添加、修改、删除。3.4.2 知识自动整理表 3.11知识按照类别自动整理用户(Who)知识维护人员做什么(What)知识类别可通过知识整理字段提供知识整理功能。怎么做(How)3.5 软件接口和Web服务3.5.1 提供给应用系统接口表 3.12web服务接口用户(Who)外部系统做什么(What)获取知识;(直接提供URL)查询知识:(提供查询条件的方式,返回结果,由调用者去组织显示)搜索关键字及其频率接口插入新知识,更新知识怎么做(How)暴露接口:Web服务特性(Feature)需要进行安全控制3.5.2 知识导入导出本部分使用提供给应用系统接口中的相关接口来实现。其中,主要使用的接口应该包括知识插入,知识模板获取等。本功能在第一阶段不实现。表 3.13知识的导入导出用户(Who)知识维护人员,或者系统自动做什么(What)手工将知识单个导出成XML, Html,或者将批量知识导出成zip包(由xml文件构成或者由结构化的Html页面构成)手工或者自动,将单个知识xml或者html导入或者,或者将压缩成zip包的批量知识导入通过导出结构化的Html页面集合,离线浏览整个知识库。怎么做(How)本功能使用提供给应用系统接口与系统沟通,可以远程,异构。本功能也被功能系统中远程同步使用。第四章 系统的架构设计4.1 系统架构由于系统的复杂性,以及客户的需求(需要做成web服务,可以从其他系统调用),本系统没有按照一贯的三层结构设计,而是采用了更为复杂的体系结构设计,结构图如下:Web浏览器外部系统UILogicServicesDaoSupportDatabase图 4.1系统架构说明:UI对应于JSP组成的UI界面层; Logic层是页面的数据组织和处理层;Services层则将一些公共逻辑分解出来,成为单独的一个层,主要为了提供web服务,其他程序可通过访问services层的接口访问本系统。DAO层则负责与数据库打交道。Support提供一些支持性组件服务,例如全文检索、邮件、缓存等。4.2 包结构说明根据系统结构的设计思想,现在将本系统具体的模块和组建包的放着位置说明如下:kbknowledgetaskusermgmtapprovesupportcontextflowmailloggingnotifytrailsearchoperationhitmanager图 4.2系统的包结构说明:【系统】kb知识库的所有处理类均放在这个包下【模块】knowledge知识相关的处理逻辑,包括知识浏览、知识维护、知识类别维护。【模块】approve知识审批和发布处理【模块】task事务处理【模块】usermgmt用户管理【模块】security角色和权限管理【模块】exception异常处理【组件包】support其他业务支持【组件】context状态管理【组件】flow流程管理【组件】mailemail支持【组件】hitmanager点击率更新【组件】logging日志管理【组件】notify提醒【组件】operation操作管理【组件】search搜索【组件】trail导航4.3 表现层这个层的主要任务是通过一些通用的技术把数据呈现给用户,其中主要用的到的技术是jsp技术、jstl标准标记库和el表达式。主要涉及的框架有struts和summer2.0。4.3.1 JSTLJSP标准标记库(JSP Standard Tag Library,JSTL)是一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。Java Server Pages(JSP)是用于J2EE平台的标准表示层技术。JSP技术提供了用于执行计算(这些计算用来动态地生成页面内容)的脚本编制元素和操作。脚本编制元素允许在JSP页面中包括程序源代码,在为响应用户请求而呈现页面时可以执行这些源代码。操作将计算操作封装到很像HTML或XML标记的标记中,JSP页面的模板文本通常包含这些标记。JSP规范只将几种操作定义成了标准,但从JSP1.1开始,开发人员已经能够以定制标记库的方式创建其自己的操作了。JSP标准标记库(JSTL)是JSP1.2定制标记库集,这些标记库实现大量服务器端Java应用程序常用的基本功能。通过为典型表示层任务(如数据格式化和迭代或条件内容)提供标准实现,JSTL使JSP作者可以专注于特定于应用程序的开发需求,而不是为这些通用操作“另起炉灶”。4.3.2 EL表达式JSTL 定制标记支持一种用于指定动态属性值的机制。可以用简化的表达式语言(EL)来指定JSTL操作的属性值。EL提供了一些标识符、存取器和运算符,用来检索和操作驻留在JSP容器中的数据。EL在某种程度上以EcmaScript和 XML 路径语言(XML Path Language,XPath)为基础,因此页面设计人员和程序员都应该熟悉它的语法。EL擅长寻找对象及其特性,然后对它们执行简单操作;它不是编程语言,甚至不是脚本编制语言。但是,与JSTL标记一起使用时,它就能使用简单而又方便的符号来表示复杂的行为。EL表达式的格式是这样的:用美元符号($)定界,内容包括在花括号()中。EL提供了两种不同的存取器(点运算符(.)和方括号运算符(),它支持通过EL操作特性和元素。点运算符通常用于访问对象的特性。例如,在表达式$user.firstName中,使用点运算符来访问user标识符所引用对象的名为firstName的特性。EL使用Java bean约定访问对象特性,因此必须定义这个特性的getter方法(通常是名为getFirstName()的方法),以便表达式正确求值。当被访问的特性本身是对象时,可以递归地应用点运算符。方括号运算符用来检索数组和集合的元素。在数组和有序集合(也即,实现了java.util.List接口的集合)的情况下,把要检索的元素的下标放在方括号中。例如,表达式$urls3返回urls标识符所引用的数组或集合的第四个元素。对于实现java.util.Map接口的集合,方括号运算符使用关联的键查找存储在映射中的值。在方括号中指定键,并将相应的值作为表达式的值返回。例如,表达式 $commands"dir" 返回与 commands 标识符所引用的Map中的"dir"键相关联的值。点运算符和方括号运算符可能实现某种程度的互换。例如,也可以使用 $user"firstName"来检索user对象的firstName特性,正如可以用$commands.dir获取与commands映射中的"dir"键相关联的值一样。在EL表达式中,数字、字符串、布尔值和null都可以被指定为文字值。字符串可以用单引号或双引号定界。布尔值被指定为true和false。4.3.3 业务逻辑层和表现层的数据交互数据交换的媒体是Form,在MemoryForm中提供了setParamater(String key,Object o)的方法,该方法允许向Form中设置对象,在view层可以通过key直接引用这个对象。而在view层中的简单数据可以通过getParameter(String:key)来取得。如果要取得一个table中数据,可以把这个table注册成程序中对应的一个类registerProperty(String:key,Class.class),然后再通过getParameter(String:key)获取。4.4 控制层系统的控制层主要通过summer来实现,它把控制层的一些细节封装了起来。控制层是通过统一的MemoryAction来实现的。在MemoryAction中会根据action参数判断请求的类型,并调用相应业务逻辑的方法。图 4.3控制层原理4.5 Web服务和底层Servers层是主要的业务逻辑功能接口的提供者,外部程序通过调用这些接口可以完成所有的系统功能。本系统的表现层和控制层也是通过这些接口实现自己的应用的。4.5.1 审批发布流程知识的形成有一定的过程,一般而言一条信息通过以下流程后可变成一条知识。信息>审批>发布>知识当然每个企业对于知识形成过成可能有不同的定义,这样就需要有一个包来管理知识形成的流程审批发布流程(approve包)。用户可通过这个包提供的方法来定制自己的审批发布流程。主要接口:package com.thunisoft.kb.appprove.services;import com.thunisoft.kb.AppException;import com.thunisoft.kb.security.bean.Members;public interface IApproveService public void saveCustomizeStep(Long flowId,Long stepId,Members auditors,Members notifiers) throws AppException;public long createApproveFlow(String f

    注意事项

    本文(优紫光华宇知识库管理系统623修改2.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开