﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Blue Kiss-文章分类-JAVA学习</title><link>http://www.blogjava.net/electricwave/category/39629.html</link><description>激情与创新 尽在Blue Kiss</description><language>zh-cn</language><lastBuildDate>Wed, 15 Dec 2010 02:19:29 GMT</lastBuildDate><pubDate>Wed, 15 Dec 2010 02:19:29 GMT</pubDate><ttl>60</ttl><item><title>【转】应用框架平台的好处何在</title><link>http://www.blogjava.net/electricwave/articles/322186.html</link><dc:creator>Blue Kiss开发团队</dc:creator><author>Blue Kiss开发团队</author><pubDate>Fri, 28 May 2010 19:53:00 GMT</pubDate><guid>http://www.blogjava.net/electricwave/articles/322186.html</guid><wfw:comment>http://www.blogjava.net/electricwave/comments/322186.html</wfw:comment><comments>http://www.blogjava.net/electricwave/articles/322186.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/electricwave/comments/commentRss/322186.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/electricwave/services/trackbacks/322186.html</trackback:ping><description><![CDATA[&nbsp;
<h2><span style="line-height: 173%; font-family: 宋体; font-size: 12pt">关于系统引入应用框架平台的分析</span></h2>
<h3><span style="line-height: 173%; font-size: 12pt">1</span><span style="line-height: 173%; font-family: 宋体; font-size: 12pt">引进应用框架平台的目的</span></h3>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(1)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">提高开发过程规范化、可视化程度；</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(2)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">使得系统维护变得极为容易，基本编程由原来的代码编写转为参数设置；</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(3)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">增强对异构系统的兼容性。</span></p>
<h3><span style="line-height: 173%; font-size: 12pt">2</span><span style="line-height: 173%; font-family: 宋体; font-size: 12pt">应用框架平台的基本原理</span></h3>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">应用框架平台采用典型的多层结构，在用户访问和数据库之间有业务应用层，对应用层的设计充分考虑到以下因素：</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(1)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">系统的内聚和耦合度；</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(2)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">层次的独立性：</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(3)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">简单使用，极少的代码量；</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(4)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">易于升级和任意扩充性；</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(5)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">多并发环境下能快速响应。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">系统结构是一个典型的分布式运行环境，具有极强的扩展能力，应用框架平台几乎不对运行环境有任何特殊的要求，系统的扩展能力只受到所采用的操作系统、数据库管理系统、应用服务器的限制，应用服务器也可以分布在不同的设备上，以达到负载均衡。</span></p>
<h3><span style="line-height: 173%; font-size: 12pt">3</span><span style="line-height: 173%; font-family: 宋体; font-size: 12pt">应用框架平台的主要构成</span></h3>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(1)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">数据访问层：</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">①应用框架平台数据访问层是一个独特的设计，它成为业务逻辑和数据实体之间的桥梁和隔离体，业务逻辑并不关心数据是如何存放的，也不关心如何获取这些数据，它只需要从相应的数据描述表中得到数据的逻辑表示就能构造出符合实际业务需要的逻辑关系。数据访问层的存在使得数据库对应用来讲是透明的，数据库管理系统可以是</span><span style="line-height: 150%; font-size: 12pt">SQLSERVER</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">、</span><span style="line-height: 150%; font-size: 12pt">ORACLE</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">、</span><span style="line-height: 150%; font-size: 12pt">DB2</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">等各种主流数据库，这些数据库存放的位置也可以一二不关心，他们用到的操作系统也可以是市场上流行的各种主流操作系统，他们可以是单机，也可以是一个群集系统，这完全由业务的扩展需要所决定。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">②应用框架平台数据访问层还实现了</span><span style="line-height: 150%; font-size: 12pt">WEB</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">环境下数据的批量修改，整体提交，达到</span><span style="line-height: 150%; font-size: 12pt">C</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">／</span><span style="line-height: 150%; font-size: 12pt">S</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">结构下的效果。它还能提供增量提交，使得网络上数据的传输量最小，极大地减少对服务器的压力。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">③数据访问层能支持各种数据库的访问方式。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(2)T</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">作流引擎服务器</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">工作流引擎服务器是应用框架平台框架平台的基础构件之一，它是一个包含了所有工作流信息的可运行的程序，它可以独立运行在服务器上，是否需要这样作决定并发用户和工作流的复杂性和数量。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(3)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">业务规则引擎服务器</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">业务规则的独立是应用框架平台框架平台的主要特色之一，它是保证业务重用的重要手段之一，比如，在一个应用程序中，在很多地方需要输入个人的身份证号码，按传统的办法在每个业务处理的地方都需要编制对录入数据的校验，有时在一个继承的开发环境下，同样的业务规则会因不同的人员的编写而产生不同的表现效果，也增加了开发的工作量，程序的可靠性会降低，而复杂性则会增加。业务规则可以是很复杂的业务校验算法，也可以是非常简单的拼写检查。它不但可以从当前的数据记录中进行比较和计算，还可以从其他数据来进行业务规则的判断。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(4)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">安全引擎</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">安全引擎提供了完全的数据安全机制，应用框架平台不但能控制用户能干什么，还能控制用户能看到什么样的数据。这样的安全引擎能解决用户对安全问题的所有关心。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(5)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">业务处理</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">独立的业务层处理是应用框架平台的最重要特点之一。我们知道，任何一个业务是独立存在的，并不随数据库、开发工具、选用平台的变化而变化，那么怎样把业务独立抽象出来，是人们在解决实际应用问题时遇到的一个非常棘手的问题，而应用框架平台的多层业务解决方案能很好地解决这个问题，它是有业务逻辑、业务展现、业务对象、业务规则和访问控制权限有机协调构成的。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(6)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">数据钻取</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">①用户对数据的访问需要根据数据的相关性能很方便地从一个数据的访问转到对另一个数据的访问。数据钻取是必不可少的功能，我们的业务处理的独特机制使得实现数据钻取的功能非常方便，开发者无需编写一行程序。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">②数据钻取功能提供了数据转移的线索，只要愿意，可以产生没有钻取级数限制的数据查询能力。这对那些想对数据的来源进行了解的业务应用非常有帮助。</span></p>
<h3><span style="line-height: 173%; font-size: 12pt">4</span><span style="line-height: 173%; font-family: 宋体; font-size: 12pt">与同类技术的主要区别</span></h3>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(1)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">真正的工作流提取：在以前用开发工具开发数据库应用程序的时候，一般只把数据库的操作语句描述进行了提取，它可以被重用，但在这个层面上开发工具没有做更多的工作，比如访问权限的控制、代码字段的管理、规则的处理等。所有这些工作将与特殊的界面逻辑联系在一起，也就是说界面逻辑处理了本身不属于它处理的内容，造成了界面逻辑无法重用，增加了开发的难度和工作量，更主要的是增加开发系统维护的难度和客户化的工作量。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(2)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">真正的面向框架的开发平台：应用框架平台内置了各种应用框架，包括系统架构、权限、报表、规则处理、菜单、屏幕、组织机构等，把开发</span><span style="line-height: 150%; font-size: 12pt">WEB</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">应用需要的各种模块全部以框架的形式抽象出来，一方面简化开发者的开发工作，另一方面允许开发者在框架之内进行调整以满足特定应用的需要。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(3)</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">分层的组件复用技术：对开发一个</span><span style="line-height: 150%; font-size: 12pt">WEB</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">应用系统时按照面向应用组件的方式把应用系统的设计从数据层、业务逻辑层、业务展现层、业务对象层，再到屏幕布局，完全实现组件的可重用性。第一层为应用界面层、第二层为业务层、第三层为数据层。在不同层之间实现了完全的组件重用技术，如一个数据表可以实现很多个业务组件，而同一个业务组件又可以有很多种不同的视图方式。</span></p>
<p style="line-height: 150%; text-indent: 24pt" class="MsoNormal"><span style="line-height: 150%; font-size: 12pt">(4)100</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">％源代码生成和平台无关性：应用框架平台根据定义生成的是</span><span style="line-height: 150%; font-size: 12pt">100</span><span style="line-height: 150%; font-family: 宋体; font-size: 12pt">％的源程序，并可以被编译工具编译生成完全可以独立于应用框架平台环境运行的可执行文件，从而能充分发挥成熟平台的性能，为系统的扩展性提供了最好的保障。</span></p>
  <img src ="http://www.blogjava.net/electricwave/aggbug/322186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/electricwave/" target="_blank">Blue Kiss开发团队</a> 2010-05-29 03:53 <a href="http://www.blogjava.net/electricwave/articles/322186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>