(计算机应用技术专业论文)基于java和uml技术的商业银行信贷系统设计.pdf_第1页
(计算机应用技术专业论文)基于java和uml技术的商业银行信贷系统设计.pdf_第2页
(计算机应用技术专业论文)基于java和uml技术的商业银行信贷系统设计.pdf_第3页
(计算机应用技术专业论文)基于java和uml技术的商业银行信贷系统设计.pdf_第4页
(计算机应用技术专业论文)基于java和uml技术的商业银行信贷系统设计.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(计算机应用技术专业论文)基于java和uml技术的商业银行信贷系统设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于j a v a 和i j m l 技术的商业银行信贷系统设计 摘要 随着j a v a 技术、j 2 e e 架构的日趋成熟,以及u m l 技术进入中国,为业界所 接受并广为使用。与以往金融行业信息系统所通常采用的c s 架构和二层结构 相比较,j a v a 技术、j 2 e e 架构和u m l 技术具有非常明显的优势,例如设计、开 发等过程的规范性,以及系统架构的灵活性和低维护量等等。所以,金融信息 化领域采用这些技术是顺理成章的。 本文依托沈阳商业银行信贷管理项目的实施,从项目需求入手,提出满足 需求的设计方案,并在具体的实现过程中,利用开发工具和实用技术,圆满完 成了项目的设计、开发等工作。本项目的特点在于依照项目实际情况,将技术 与业务充分结合,在对业务详细了解的基础上,利用j a v a 技术、j 2 e e 架构和 u m l 技术进行设计,同时规避了一些与项目实际情况不相符的技术内容,为项目 的顺利完成提供了强有力的保障。 由于篇幅所限,本文只针对项目中公共信息模块和贷款申请模块的设计加 以详细的说明,并由此体现j a v a 技术、j 2 e e 架构和u m l 技术在金融行业信息化 建设中的实际应用情况。 关键词:信贷系统,j 2 e e ,u m l t h e d e s i g no fc o m m e r c i a lb a n kc r e d i tm a n a g e m e n t s y s t e mb a s e do nj 2 e ea n du m l a b s t r a c t j a 吼j 2 e ef r a m e w o r ka n du m la r em a t u r et e c h n i q u e st h a th a v eb e e nw i d e l y a p p l i e di nf i n a n c i a li ts y s t e m t h ea d v a n t a g eo fj a v a ,j 2 e ea n du m l o v e rc sa n d t w o t i e rf r a m e w o r ki ss od i s t i n c t ,f o ri n s t a n c e :t h ef o r m a l i t yo ft h e s y s t e m s d e v e l o p m e n t ,t h ef l e x i b i l i t yo ft h ef r a m e w o r ka n dl e s sm a i n t e n a n c er e q u i r e m e n t s , t h a tt h e s et e c h n o l o g i e sh a v e b e e na p p l i e d w i d e l y m e e t i n gt h ed e m a n do f t h ec r e d i tm a n a g e m e n tp r o j e c to fs h e n y a n gc o m m e r c i a l b a n k ,t h et o o l sa n dt e c h n i q u e sm e n t i o n e da b o v es k e t c ht h ep r o p o s a lo ft h ep r o j e c t a n dr e a l i z et h ec o m p l e t e n e s so ft h ep r o j e c t t h eu n i q u e n e s so fd e v e l o p m e n to ft h i s p r o j e c ti st h ef i n ec o m b i n a t i o no ft o c h n i q u ea n db a n k i n gb u s i n e s sw i t ho m i t t i n g s o m eu n n e c e s s a r yt e c h n i q u ec o n t e n t s ,a n du s i n gj a v a ,j 2 e ea n du m l p r o v i d e st h i s p r o j e c ts t r o n gg u a r a n t e e t h i st h e s i sf o c u s e so nt h ea p p l i c a t i o no fj a v a ,1 2 e ea n du m lt o t h e c o n s t r u c t i o no ft h ep u b l i ci n f o r m a t i o nm o d u l ea n ds h o w si t sp r a c t i c a lu s a g eo ft h e a b o v et e c h n i q u ei nf i n a n c i a li td e v e l o p m e n t k e yw o r d s :c r e d i tm a n a g e m e n ts y s t e m ,j 2 e e ,u m l 插图清单 图1 1 银行信贷业务操作流程简图2 图2 1 典型的j 2 e e 四层结构图1 2 图2 2j 2 e e 组件1 3 图2 3u m l 技术发展图1 4 图3 1 审批功能流程图2 9 图3 2 督办功能流程图3 1 图3 3 清分流程图3 7 图3 4 收录储备项目图4 0 图3 5 工作流操作实例4 4 图3 6 系统硬件分布结构图4 7 图3 7 系统体系结构图4 8 图4 1 系统层次图5 l 图4 2 系统总体结构模块图5 3 图4 3 机构管理用例图5 4 图4 4 增加机构流程5 4 图4 5 机构增加用例序列图5 5 图4 6 修改机构流程5 5 图4 7 删除机构流程5 6 图4 8 查询机构流程5 6 图4 9 增加操作员流程5 7 图4 1 0 删除操作员流程5 8 图4 11 修改操作员流程5 8 图4 1 2 查询操作员流程5 9 图4 1 3 操作员密码修改流程5 9 图5 1 系统集成测试情况6 8 表格清单 表2 1u m l 架构15 表3 1 审批流程2 7 表4 1 客户基本信息情况表6 0 表4 2 客户详细信息情况表6 0 表4 3 企业股本结构情况表6 l 表4 4 企业组织结构情况表6 1 表4 5 个人详细情况表6 2 表4 6 个人相关信息情况表6 2 表4 7 贷款分类情况表6 3 表4 8 贷款申请的其他信息情况表6 3 表4 9 抵押物及相关信息情况表6 4 表4 i o 质押物及相关信息情况表一6 5 表4 1 1 保证人基本情况表6 5 表5 1 软件点内容规定6 6 表5 2 评审记录格式6 7 表5 3 项目变更申报表6 7 表5 4 项目沟通反馈表6 8 表5 5 软件配置管理列表6 9 表5 6 质量控制检验单6 9 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写 过的研究成果,也不包含为获得 盒匿王些太堂 或其他教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明 并表示谢意。 学位论文作者签名 绷试 签字日期:口f 年多月矿日 学位论文版权使用授权书 本学位论文作者完全了解盒魍王、业态堂有关保留、使用学位论文的规定,有权保留 并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金 蟹王墼态堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 钤风幺又 签字日期:彩年舌月日 学位论文作者毕业后去向: 工作单位:络缘扔易尝务彳、乃秽澎却 通讯地址 甜南话山托够 导师签名 乏毫 签字日期:石年耳矿日 电话:f ;芦番跣田若。 蹴】3 7 。5 致谢 本人在硕士研究生课程学习和撰写学位论文的过程中,自始至终得到了我 的导师王浩教授的悉心指导,无论从课程学习、论文选题,还是到收集资料、 论文成稿,都倾注了王洁老师的心血,由衷感谢王浩老师在学业指导及各方面 所给予我的关心以及从言传身教中学到的为人品质和道德情操,老师广博的学 识、严谨的治学作风、诲人不倦的教育情怀和对事业的忠诚,必将使我终身受 益,并激励我勇往直前! 同时,真诚感谢计算机与信息学院的全体老师,他们的教诲为本文的研究 提供了理论基础,并创造了许多必要条件和学习机会:感谢胡兴祥老师,在我 课程学习和论文撰写期间,给予我的大力支持! 感谢所有的同学和同事给予的帮助! 作者 1 给网洲 k 2 0 0 6 年6 月1 2 日 第一章绪论 1 1 商业银行业务信息化发展历程、现状及发展趋势 作为当代国民经济的核心和重要组成部分,伴随着我国的改革事业的发展 和深化,我国金融信息化从“六五”以来经过二十余年的不断探索与实践,有 了长足的发展,金融行业信息化的规模经历了从无到有,从小到大,从单- n 全面,从辅助手工操作到具备高度智能化应用的巨大变化。金融行业信息化技 术黔应用范围从单一业务扩大到综合业务服务,其处理模式从简单无序的分散 处理到在广大地域乃至全国范围的业务集中处理,基本形成了金融行业的信息 化框架,逐步实现了方便、安全、高效、快捷和规范的银行电子化服务体系。 在我国改革开放进一步深入的“十五”期间,金融信息化建设更是发挥了 重要作用,基于经营、管理、服务的金融信息化技术体系框架进一步完善,方 便、高效、安全的金融信息化服务体系以及金融信息安全保障体系初步建成, 积极配合与推动了我国金融事业的改革、发展与创新,为提升我国金融业的核 心竞争力作出了突出的贡献。 我国金融信息化的起步晚于西方先进国家,但是国内金融信息化的发展历 程大致与国外类似。最近二三十年,我国的金融信息化建设经历了重要的、具 有历史意义的四个发展阶段:第一阶段,从上世纪的7 0 年代到8 0 年代,商业 银行的储蓄、对公等业务以计算机处理辅助并初步代替人工操作;第二阶段, 从8 0 年代到9 0 年代中,初步实现了银行业务的部分联网处理;第三阶段,从 9 0 年代中到9 0 年代末,实现了银行全国范围的计算机处理联网,达成了互联互 通;第四阶段,从2 0 0 0 年开始,各大商业银行开始进行业务的集中处理,利用 大量涌现的信息技术与产品,为社会提供了诸如代理收付业务、信用卡、网上 银行、电子商务、网上支付等在国内属于创新的服务形式和服务项目。“” 中国银行业电子化建设从无到有,从小到大,从应用于单项业务到开展综 合业务,从单一网点到全国联网,实现了银行电子化建设的飞跃发展,取得了 显著的社会和经济效益,为我国银行业全面实现信息化打下了坚实的基础。 目前,我国银行业已拥有大型计算机系统数百台套、中型、小型机数干台 套、自助银行近2 0 0 0 家,电子化营业网点覆盖率达到9 5 以上,除农业银行和 农村信用社的少数偏远地区的网点外,全韶实现了运营业务的计算机联网处理。 各大商业银行已基本建成了联接行内各分支机构的计算机网络,全面支持银行 从柜面客户服务、交易信息处理、业务经营管理到办公自动化等多领域的应用。 沈阳市商业银行于1 9 9 8 年1 0 月1 8 习经中国人民银行总行批准正式成立, 是沈阳市唯一的地方商业银行。到2 0 0 0 年1 1 月末,沈阳市商业银行各项存款 余额9 2 亿元,贷款余额6 4 亿元,总资产9 4 亿元。下设3 8 家支行、9 5 个营业 网点,2 2 5 0 余名员工,是东北地区规模最大的商业银行。 1 2 商业银行信贷系统概述 1 2 1 商业银行信贷业务简介 一个比较完善的信贷业务流程如图1 1 所示: 图1 1 银行信贷业务操作流程简图 信贷业务是商业银行最重要的业务之一,也是银行管理、决策最复杂、最 困难的金融业务之一。拓展优良信贷客户,规范信贷业务流程,降低信贷资产 风险是目前信贷业务发展的主要方向。商业银行信贷系统的建设,正是为了达到 提高信贷资产质量,规范信贷管理,控制信贷风险的目的。 一般情况下,贷款可以划分为自营贷款、委托贷款和特定贷款三种。自营 贷款指贷款人以合法方式筹集的资金自主发放的贷款,其风险由贷款人承担, 并由贷款人收回本金和利息:委托贷款指由政府部门、企事业单位及个人等委 托人提供资金,由贷款人根据委托人所确定的贷款对象、用途、金额期限、利 率等代为发放、监督使用并协助收回的贷款,贷款人只收取手续费,不承担贷 款风险;特定贷款指经国务院批准并对贷款可能造成的损失采取相应补救措施 后,责成国有独资商业银行发放的贷款。 此外,根据期限也可以将贷款划分为短期贷款、中期贷款和长期贷款:短 期贷款指贷款期限在1 年以内( 含1 年) 的贷款;中期贷款指贷款期限在1 年 以上( 不含1 年) 5 年以下( 含5 年) 的贷款;长期代款指贷款期限在5 年( 不 含5 年) 以上的贷款。 依照中国人民银行1 9 9 6 年8 月1 日发布的贷款通则【4 3 】的规定,可以 将商业银行信贷业务流程划分为贷前审批、贷中管理和贷后检查收回三个阶段。 ( 1 ) 贷前审批 首先由借款人向主办银行或者其他经办机构直接申请。借款人填写包括借 款金额、借款用途、偿还能力及还款方式等主要内容的借款申请书并提供 借款人及保证人基本情况、财政部门或会计( 审计) 事务所核准的上年度财务 报告,以及申请借款前一期的财务报告、抵押物、质物清单和有处分权人的同 意抵押、质押的证明及保证人拟同意保证的有关证明文件、项目建议书和可行 性报告。 贷款人受理借款人申请后,由银行对借款人的信用等级评估,依据借款人 的领导者能力、经济实力、资金结构、履约情况、经营效益和发展前景等因素, 评定借款人的信用等级。 贷款调查:应当对借款人的信用等级以及借款的合法性、安全性、盈利性 等情况进行调查,核实抵押物、质物、保证人情况,测定贷款的风险度。 在完成申请、调查工作后,银行依照贷款管理制度规定,对调查人员提供 的资料进行核实、评定,复测贷款风险度,提出意见,按规定权限报批。在确 认符合贷款规定并通过审批后,由贷款人与借款人签订借款合同,规定借款种 类,借款用途、金额、利率,借款期限,还款方式,借、贷双方的权利、义务, 违约责任和双方认为需要约定的其他事项。 在签订借款合同后,银行按照合同规定按期发放贷款。 ( 2 ) 贷中管理 银行应针对抵押登记工作,建立定期走访制度,有计划地对商家和借款人 进行走访,及时掌握第一手材料,对借款人执行借款合同情况及借款人的经营 情况进行追踪调查和检查,及时了解借款人的各项情况,并针对该情况及时调 整贷款类型,并进行相应的损失准备。包括了借款人账户监管、贷后检查、风 险预警与控制、贷款风险分类、信贷档案管理、有问题贷款处理等环节。 ( 3 ) 贷后收回 根据贷款通则的规定,借款人应当按借款合同规定按时足额归还贷款 本息。贷款人在短期贷款到期1 个星期之前、中长期贷款到期1 个月之前,应 当向借款人发送还本付息通知单;借款人应当及时筹备资金,按时还本付息。 贷款人对逾期的贷款要及时发出催收通知单,做好逾期贷款本息的催收工 作。贷款人对不能按借款合同约定期限归还的贷款,应当按规定加罚利息;对 不能归还或者不能落实还本付息事宜的,应当督促归还或者依法起诉。借款人 提前归还贷款,应当与贷款人协商。 1 2 2 商业银行信贷系统 作为传统的商业银行业务之一,信贷业务在商业银行的业务中占有非常重 要的地位,与之相对应的信贷业务处理系统也是作为商业银行信息化建设的重 头戏,受到各方面的重视。我国商业银行,如四大国有商业银行( 工商业银行、 农业银行、中国银行和建设银行) ,由于起步较早,已经建立了自身的信贷管理 系统,并且基本上整合到自身的综合业务处理系统中,实现了全国的数据大集 中;国有股份制商业银行( 例如招商银行、民生银行等) ,则紧随四大国有银行 之后,相继建立了信贷业务系统,全部或部分实现了数据集中;对于分散于全 国各个城市的地方性商业银行( 主要指城市商业银行、农村信用社) ,在沿海等 相对发达地区,已经建立了信贷业务系统,而部分欠发达地区的城市商业银行 和农村信用社,信贷业务的处理还处在手工阶段,即使建立了信贷业务系统, 也仅仅是实现了部分的业务处理信息化,并不能真正称之为“信贷业务系统”。 从技术实现的角度上看,全国性商业银行( 包括四大国有商业银行和股份 制商业银行) 的信贷业务系统主要包括以下特点:首先是数据实现了跨地区集 中,即数据按照集中的模式进行管理;其次是与地区性商业银行相比较而言, 上述商业银行的信贷业务系统规模相对庞大,实施、管理和维护费用相对较高, 实施周期相对较长;处理的信贷业务内容相对全面。而与之相对应的,地方性 商业银行( 主要指城市商业银行、农村信用社) 的信贷业务系统的特点则是系 统规模相对较小,实施、管理和维护费用相对较低,实施周期相对较短,且系 统具有地方特色( 尤其是体现在如信贷业务品种、处理模式等方面) ,系统灵活 性高。 随着业务品种的不断丰富,以及业务量的大幅度增加,各商业银行均已建 4 设或正在建设自己的信贷管理系统。概括来说,目前比较完善的国内商业银行 信贷管理系统主要实现以下功能: 系统管理:为银行提供方便、完善的系统管理功能,以及可靠的安全控制 和灵活的运行控制机制。系统管理的内容主要包括:机构管理、机构调整、信 贷权限控制、信贷客户拆并、用户管理、系统参数设置、预警指标管理及报表 管理; 客户管理:完成客户信息的收集和管理功能,依照数据处理集中的方式, 实行统一集中管理。客户管理的内容主要包括:客户概况登记、注册资本构成、 管理人员信息、经济大事登记、财务信息登记、担保人员概况登记等; 决策管理:对信贷运作过程和环节的控制与管理。决策管理包括授信登记 与控制信用审批,对客户申请贷款、承兑、信用证、保函的业务决燕管理; 台账管理:包括借款合同管理、贷款发放管理、贷款收回、贷款核销、贷 款展期、贷款催收、期终处理等; 信用评级:根据量化的指标体系,对客户的资产情况、偿债能力、信用情 况等进行客观、准确的评价,确定客户的资信等级,为评估贷款风险提供依据; 贷后管理:贷后管理通过定期或不定期检查客户信贷使用情况,及时发现 信贷资金使用中存在的问题,研究对策,采取措施,确保信贷资金的安全性、 流动性和效益性; 决策分析:以大量信息资源为基础,为商业银行各级领导及其信贷管理、 风险控制的相关机构和部门提供信贷管理的思维方法、管理技术和管理决策支 持:为决策层提供多侧面、全方位的信息,帮助决策领导步步深入地进行信息 挖掘,找出事物的内在规律,为信贷决策服务; 风险管理:全面监控信贷资产状况、有效控制信贷资产分布、准确把握信 贷资产趋势、适时度量信贷资产风险、准确预测经营指标走向、做出风险对策 选择,以保证预期目标的实现。 目前我国商业银行信贷管理系统建设的出发点是: 以客户为中心的核心思想:在竞争日益激烈的今天,更加能够体会到客户 是银行最宝贵的资源,因此,信贷系统的整体建设,必须始终贯彻以客户为中 心的核心思想; 授信授权体系:授信授权体系的建立是银行信贷业务有序开展的良好保证, 贯穿信贷业务全过程。在信贷系统中完整地体现授信授权体系,是信贷管理规 范化的有力保障; 全面的业务过程管理:信贷系统通过全面的业务过程管理的实现,不断地 跟踪信贷业务的变化,帮助各级信贷人员掌握各类信息,从而达到灵活应对, 及时解决出现的问题,保障业务顺利进展的目的,并为风险控制提供良好的帮 助; 完善的内部考核体系:信贷系统中通过建立完善的内部考核体系,提供公 正,客观的依据; 支持与多种外部系统的信息交互:信贷系统在整合信贷业务信息的基础上, 支持与银行风险管理系统,银行综合业务系统,人民银行信贷登记咨询系统等 多种外部系统的信息交流。 1 3 本文内容组织及安排 本文以沈阳商业银行信贷管理系统的实施作为具体案例,结合当前j a v a 技术的应用现状及发展趋势,从j a v a 技术的发展到信贷管理系统的设计与实 施,论述了j a v a 技术在金融行业应用。 第一章绪论 本章主要对于我国商业银行信息化的发展进行了概括性的回顾,并针对信 贷这一银行重要业务内容进行了简要的介绍。 第二章j a v a 和u m l 技术概述 本章首先对于j a v a 技术及其重要内容j 2 e e 架构进行了分析,对u m l 技术的发展架构及在软件项目实施过程中的应用进行了阐述,同时对于时下流 行的s t u t s 技术进行介绍,在此基础上,结合沈阳商业银行信贷管理系统对于如 何将j a v a 和u m l 技术应用于银行业务系统进行了概括性的论述。 第三章商业银行信贷系统分析与设计 本章对商业银行信贷系统的建设背景、业务需求以及建设目标进行了分析, 并对业务功能和系统功能进行了分析和设计。 第四章商业银行信贷系统设计 本章具体描述了商业银行信贷系统的实现。包括系统机构设计及相关模块 设计。 第五章系统实施情况 本章从项目实旌的角度,对商业银行信贷管理系统的项目管理及实旋过程 进行了描述。 第六章结束语 本章针对该项目的主要环节进行了总结与回顾,分析了项目实施过程中的 成功经验与不足之处,并对下一步的工作进行了展望。 第二章j a v a 和u m l 技术概述 2 1j a v a 技术发展历程 “j a v a ”包括四个相互关联的概念:j a v a 语言、j a v aa p i 、j a v ac l a s s 文件格式、j a v a 虚拟机。丽整个j a v a 体系则是基于j a v a 虚拟机来实现的, 正因为如此,才能达成j a v a 的安全性和网络移动性。 综合各种软件程序语言,j a 、,a 并非是第一个采用“虚拟机”概念的体系, 但它却是第一个得到广泛运用的虚拟机,在各种操作系统平台上都能够看到它 的身影,无论是目前广泛使用、进入千家万户的w 矾d o w s 操作系统,还是各 种u n i x 、l i n u x 操作系统,乃至运行于主机系统的m v s 操作系统,无一例 外的都存在j a v a 虚拟机。可以说,j a 、,a 虚拟机的发展历程,就是j a v a 技术 的发展历程。而初期仅仅作为一种程序开发语言,j a v a 开发环境的变迁,也体 现了j a 、,a 技术的发展。 2 1 1j a v a 虚拟机的发展 第一个j a v a 虚拟机版本是1 9 9 5 年出现的,其虚拟机执行是依靠“字节码 解释器( b y t ec o d eh t e r e e p t o r ) ”的。j a v a 程序的每条指令都由虚拟机来当场 解释,解释成为机器代码( 也称为“执行代码”) 后执行,这导致了运行速度 非常缓慢。但是这在当时是一个很流行的技术,同时也是各种解释性运行的程 序的通病。 于是,s u n 公司的工程师开始使用各种方法来提高虚拟机的运行速度,并 于1 9 9 6 年十月发布了j i t 静态编译器。j i t 编译器在每段代码执行前进行编译, 编译的结果为本地静态机器码,使得执行速度发生了质的提高。 h t 静态编译器虽然可以解决一些问题,但是性能仍然和当时的c c + + 编译 器相比较有相当大的差距。h o t s p o t 引擎是模仿人工方式,对j a v a 程序的编译 运行进行优化的。在程序运行的开始,j a v a 代码仍然解释并执行,但h o t s p o t 引擎开始进行一种采样( p r o f i l i n 曲操作。根据采样的结果,决定某段程序是占用 较多运行时间的,就认为它是“h o t s p o t ”,认定它就是目前程序的瓶颈,随后 引擎开始启动一个单独的线程对其进行优化。”3 因为不象原始的j i t 编译器那样无差别的编译所有代码,h o t s p o t 引擎可以 集中精力来对h o t s p o t 代码进行深度优化,这样这部分代码执行起来更加迅捷。 由于之前的静态编译器只能按照预定的策略进行编译优化,而h o t s p o t 引擎的 优化是基于采样结果的,因此这种方法是一种动态的编译过程,并且对所有的 应用程序都有效。1 9 9 9 年3 月2 7 日,s u n 提供了第一个h o t s p o t 引擎。在2 0 0 0 年5 月发布的j d k1 3 中,即包含了h o t s o p t 引擎,这也使1 3 成了一个具有里 程碑意义的发行版本。 h o t s p o t 代表的是一种动态编译的技术。对j a v a 这种大量使用委派、组合 等面向对象特性的程序来说,动态编译比起静态编译具有显著的优势。比如 m e t h o di n l i n i n g 。方法的调用是一个很耗时的操作,假若可以把方法调用直接内 嵌到调用者的代码中,就可以节省大量的时间,这被称为“m e t h o d i n l i n i n g ”。 因为涉及到类的重载,静态优化很难确切知道哪些属性、方法被重载,因此很 难对m e t h o d 进行合并,只好在方法内部进行静态编译,假若每个方法都很小, 静态优化能起到的作用也就比较小。而动态编译因为可以完全随时掌握类的重 载情况,就可以把相关的方法合并进行深度优化。现代的j a v a 程序,特别是在 设计模式教育得到普及之后,大量使用类的继承、委派,形成了很多短小的方 法,动态编译的优势就更加明显。3 2 1 2j a v a 开发环境的发展 纵观j a v a 开发环境十年来的发展,可以粗略地划分为以下四个阶段: 1 9 9 5 ,命令行开发环境c l e s ; 1 9 9 6 - 2 0 0 0 ,集成开发环境d e s ; 2 0 0 1 2 0 0 4 ,扩展开发环境) a ) e s ; 2 0 0 5 至今,协同开发环境c d e s 。 1 9 9 5 年,j a v a 语言首次出现。当时开发人员在进行j a v a 编程时,大多 仍然使用简陋的文本编辑器来编辑j a v a 源程序,然后再使用命令行的方式进 行编译处理并运行。可以称为当时的j a v a 开发环境还处于c l e s 时代,开发 效率非常低,这预示着在j a v a 开发工具上会有一番激烈的竞争。 自1 9 9 6 年开始,b i l lj o y 将j a v a 与互联网相结合的策略取得了成功。当 年9 月s u n 公司推出了其j a v a 开发环境一j a v aw o r k s h o p ,这是一款基于浏览 器的j a v a 开发工具。由于当时j a v a 在许多方面还不成熟,所以实际上j a v a w o r k s h o p 并不十分成功,而同年发布的s y m a n t e ev i s u a lc a f e 性能与成熟度上 相对而言就比w o r k s h o p 好得多。v i s u a lc a f e 就是由e u g e n ew a n g 进行主要策 划的,它是在同一年发布的j a v a 开发环境中,唯一解决了与数据库连接问题 的开发环境。它带有一套可以与数据库相连接的组件,无需太多编程而仅仅简 单地使用拖拽的方式就可完成大部分工作,这一优点使得v i s u a lc a f , 受到了 j a v a 开发人员的欢迎。 1 9 9 7 年,i b m 公司发布了v i s u a l a g ef o rj a - v a 。v i s u a l a g ef o rj a v a 是一 个面向代码库的开发环境,它提供代码库和项目管理以便于开发团队在c s ( 客 户端n 务器) 环境下进行项目开发。但由于大多数j a v a 开发人员比较熟悉面 向文件的开发环境,还不太习惯面向代码库的开发,再加上v i s a l a g ef o rj a v a 对系统资源的要求比较高等因素,使得v i s u a l a g ef o r 队w l 一开始未被j a v a 开发人员所认可。 1 9 9 8 年至2 0 0 0 年中,相对比较成功的j a v a 开发环境是j b u i l d e r ,这是由 于b o r l a n d 公司较好的把握住了j 2 s e 、j 2 e e 和j 2 m e 发布后,j a 、,a 技术快速 升级的时机,全面支持j a v a l 1 和j a v a l 2 开发平台,同时,它还提供了多种 工具方便用户从旧的平台迁移到新的j a v a 平台。而j b u i l d e r 本身8 0 是基于 j d k l 2 进行开发的,它支持j a v a b e a n s ,e n t e r p r i s ej a v a b e a n s ,j d b c 等方面 的应用开发,可以连接多种关系数据库。为支持分布式应用开发,j b u i l d e r 还集 成了v i s i b r o k e ro r b 、j s ps e r v e r 、数据库和e j ba p p s e r v e r ,并提供o p c i lt o o l s a p i 便于第三方工具集成。 上述种种的优点使得j b u i l d e r 一举超越v i s u a lc a f e ,成为当时最受欢迎的 j a v a 开发环境。在众多j a v a 开发环境中,1 9 9 9 年i b m 发布的v i s u a l a g ef o r j a v am i c r oe d i t i o n 是比较有特色的开发环境,采用了j a v a 扩展机制,并集 成了j u n i t 测试框架,其当时所采用的架构深深地影响了后来e c l i p s e l 0 所采用 的架构。 纵观1 9 9 6 年至2 0 0 0 年这五年时间里,随着j a v a 及其相关开发应用的发 展,j a v a 开发环境也不断的完善,真正地从c l e s 进入到了i d e s 阶段。 为了提高j a v a 开发人员的开发效率,j a v a 开发环境主要从两个方面进 行改进与提高:一方面是提高集成在j a v ai d e s 当中开发工具的性能和易用性, 另一方面是将j a v a 开发环境尽可能的覆盖到整个软件的开发生命周期。随着 基于w e b ,采用n - 层结构的应用开发成为j a v a 开发人员的主要工作,导致 了j a v a 开发环境需要支持越来越多的技术,从而使得j a v ai d e s 的规模变得 越来越大,许多j a v a 开发环境都集成了数据库、j s ps e r v e r 和a p p s e r v e r 等等 内容。 随着i d e s 模式的开发环境日趋完善,人们也在考虑今后j a v a 开发环境的 发展趋势问题:究竟是走少而精的发展方向,还是走大而全的发展方向就成了 广大j a v a 开发人员和开发环境厂家所关注的问题。 2 0 0 1 年这一年j e t b r m n s 推出了j a v a 开发环境少而精的代表:i n t e l l i j i d e a 。i n t e l l i ji d e a 明确的表示只做最好的j a v a 代码编辑器,不做什么文件 都可以编写的编辑器。它所关注的是j a v a 开发人员的实际工作,并将这些工 作进行了优化,价格相对较低。产品推出当年i n t e l l i ji d e a 击败j b u i l d e r 成为 最受j a v a 开发人员欢迎的j a v a 开发环境。但是到了2 0 0 2 年,随着j b u i l d e r 将大而全的功能再提升一步。将u m l 建模工具、j u n i t 测试框架以及a p a c h e s t r u t s 等开发工具集成进来,大而全的发展方向又一次受到j a v a 开发人员追 捧。 e c l i p s e1 0 的推出,兼顾了上述的最全和最好两个方面。早在1 9 9 8 年,m 公司就打算开发新一代的工具平台,以便将它现有的各种开发工具统一起来, 并减少开发各种工具时重复的劳动,同时希望在新的平台上建立新的认v a 开 发环境。经过一段时间的准备,狙m 开始建立起一个开发团队,人员构成主要 来自v i s u a l a g ef o rj a v am i c r oe d i t i o n 和v i s u a l a g ef o rj a v a 两个项目的开发 人员。此夕 ,m m 还联合了9 家公司共同成立了一个开源( 即“开放源代码”) 组织e e l i p s e 基金会,将e e l i r s e 提供给开发人员使用,并在开源社区的帮助下 进一步完善e c l i p s e 本身。e c l i p s e 在最初设计时,插件模型是静态的,不能实现 插件的即插即用功能。到2 0 0 4 年发布e e l i l :l s e3 0 时,e c l i p s e 进行了重大改进, 采用o s g i 的插件模型,初步实现了多种插件的即插即用功能,至此,一个完 美的、可扩展的开发环境展现在j a v a 开发者面前,这时j a v a 开发人员已经 达到3 0 0 万。 由于市场的压力,一个软件企业不仅要提高开发人员个体的工作效率,还 要提高整个开发团队以及整个企业的开发效率,但在现有的j a v a 开发环境x d e s 下无法完全做到这些,所以新一代开发环境c d e s ( c o l l a b o r a t i v ed e v e l o p m e n t e n v i r o n m e n t s ) 就产生。 所谓“c d e s ”,就是将用于人与人、人与团队以及团队与团队进行交流的 工具加以集成的开发环境。比如,多数c d e s 环境具有发送电子邮件、进行及 时通讯和屏幕分享等功能,通过实现无损耗过程的交流提高开发团队的开发效 率。从某种意义上说,c d e s 已经不仅仅是某种计算机语言的开发环境,而是一 种供软件分析、设计、开发人员使用的工作平台。 目前已经商业化的c d e s 有c o d e b e a m e rc o i l a b o r a t i v ed e v e l o p m e n tp l a t f o r l l l 和c o d e p r oa n a l 锕x ,上述两个产品都提供了面向e c t i p s e 的插件,可以与e c l i p s e 产品集成在一起,从而使e c l i p s e 升级成为一个c d e s 。b o r l a n d 公司已经宣布开 发基于e c h p s e 的新版j b u i l d e r “p e l o t o n ”,而这个p e l o t o n 实际上就是一个 c d e s ( c o l l a b o r a t i v ed e v e l o p m e n te n v i r o n m e n t s ) ,可以说现在的l a v a 开发环境正 处于x d e s 与c d e s 交替的阶段。“1 2 2j 2 e e 架构 在1 9 9 9 年6 月的j a v a o n e 年会上,时任s u n 公司j a v a 企业开发部门主管 的m a l ac h a n d r a 向世人宣告了j a v a 世界的新成员一一j 2 e e ( j a v a2 p l a t f o r m ,e n t e r p r i s ee d i t i o n ) 的诞生。时至今日,j 2 e e 架构已经成为当前主流的 系统絮构之一,目前大多数企业采用了j 2 e e 技术的结构设计与解决方案。 j 2 e e 是一套全然不同于传统应用系统开发的技术架构,包含许多组件,可 简化且规范应用系统的开发与部署,进而提高可移植性、安全性与再用价值。 j 2 e e 核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层 次,均有共同的标准及规格,让各种依循j 2 e e 架构的不同平台之间,存在良好 的兼容性,解决以往企业后端使用的信息产品彼此之间无法兼容,导致企业内 部或外部难以互通的问题。 在j 2 e e 架构下,开发人员可依循规范基础,进而开发企业级应用;而不同 的j 2 e e 产品供货商,会支持不同j 2 e e 版本内所拟定的标准,以确保不同j 2 e e 平台与产品之间的兼容性。换言之,基于j 2 e e 架构的应用系统,可以部署在不 同的应用服务器之上,无需或者只须要进行少量的代码修改,即能大幅提高应 用系统的可移植性。 1 ” j 2 e e 的核心规范是e n t e r p r i s ej a v ab e a n s ( e j b s ) 。e j b 依照特性的不同, 目前共分为三种,分别是s e s s i o nb e a n 、e n t i t yb e a n ,以及m e s s a g ed r i v e nb e a n 。 其中s e s s i o n b e a n 与e n t i t y b e a n 可以说是e j b 的始祖,这两种e j b 规格在e j b 1 x 版本推出时就已经存在,而m e s s a g e d r i v e n b e a n 则是出现在e j b2 0 的规格 之中。 依照应用领域的不同,j a v a2 平台共分为三大版本,分别是j 2 e e 、标准版 本j 2 s e ( j a v a2p l a t f o r n a ,s t a n d a r de d i t i o n ) 、微型版本j 2 m e ( j a v a2p l a t f o r m 。 m i c r o e d i t i o n ) ,以及j a v a c a r d 等。 j 2 e e 体系结构提供了中间层集成框架,来满足那些无需太多费用而又需要 较高的可用性、可靠性以及可扩展性的应用的需求。通过提供统一的开发平台, j 2 e e 降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有 力支持,完全支持e n t e r p r i s ej a v a b e a n s ,有良好的向导支持打包和部署应用, 添加目录支持,增强了安全机制,提高了性能。“” 高效的开发:j 2 e e 允许公司把一些通用的、很繁琐的服务端任务交给中 间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应 地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务: 状态管理服务:让开发人员写更少的代码,不用关心如何管理状态,这样 能够更快地完成程序开发; 持续性服务:让开发人员不用对数据访问逻辑进行编码就能编写应用程序, 能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护; 分布式共享数据对象c a c h e 服务:让开发人员编制高性能的系统,极大 提高整体部署的伸缩性。 支持异构环境:j 2 e e 能够开发部署在异构环境中的可移植程序。基于 j 2 e e 的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基 于j 2 e e 的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环 境中是十分关键的。j 2 e e 标准也允许客户订购与j 2 e e 兼容的第三方现成的组 件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用; 可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳 的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于j 2 e e 平 台的应用程序可被部署到各种操作系统上。例如可被部署到高端u n i x 与大型 机系统,这种系统单机可支持6 4 至2 5 6 个处理器。j 2 e e 领

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论