选择显示字体大小

架构简介

<h2>传统二层架构c/s</h2>
<p>二层架构带来的麻烦很多。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> 首先是ui层很难由美工和系统设计师来总体设计,由于即使是delphi之类的可视化开发工具,界面问题还是要程序员自己调整。解决这个问题可以走两条路:用自己的皮肤系统和美工本来就会ide。
</p>
</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> 其次是服务层的标准缺少,虽然corba之类早已出现,但是昂贵的费用和实施的难度太大了。事实上这样的服务层确实有象bea的tuxedo,ibm的cics等,但伸缩性小,使用范围小,不算是老少咸宜。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> 最后是数据层一般是直接存取数据库,高级一点的是通用性强一点,能多访问几个数据库。但远没有到对象持久化这种程度。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/cs_arch.jpg&quot; width=&quot;607&quot; height=&quot;550&quot;></p>
<hr>
<h2>传统三层架构b/s</h2>
<p>j2ee架构的推出带来了很大的进步,先前推出的phpasp等嵌入式脚本语言只限于一种模板脚本语言而已,真正的架构还是从j2ee开始起的。</p>
<p>早期j2ee还未成熟,这张图应该是j2ee1.2以后的,至少是ejb2.0以后的。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> 在ui层与其他脚本嵌入语言类似,模板+脚本,仍然没有较好的action功能,这直到struts之类的出现才开始改观。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> seesionbean的出现加速了服务层的建立,让业务逻辑真正可以独立出现,尽管现实没有这么理想。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> entity bean的出现,特别是cmp的出现,建立了对象持久层,数据库再也不需要了解细节了,甚至对象数据存在哪里都没人想知道了,虽然有这样那样的困难和问题。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/bs_arch.jpg&quot; width=&quot;607&quot; height=&quot;550&quot;></p>
<hr>
<h2>现代多层架构 </h2>
<p> 多层架构是从开源开始的。</p>
<p>struts是著名的mvc2,尽管现在看来问题还是不少,但是不可否认,它的功劳是显著的。</p>
<p>aspectj带来了aop,让开发换个思路。</p>
<p>spring让这些看上去很简单,重新发掘bean的力量。</p>
<p>webwork、jstl、tapestry、jsf、pio、hibernate、castor等等一系列的开源计划层出不穷,我可以列到你开始呕吐为止。</p>
<p>有很多显著的特点:</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> 注重ui层的简化开发,强化模板引擎和组件开发,使action或lisnter成为标准配备。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> 服务层强调弱耦合,可以与多个轮子一起工作,方便更换合适的框架,甚至考虑兼容传统系统。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> 对象持久大行其道,都是针对ejb的软肋去的,但3.0的发布会弥补ejb的问题。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> 各大厂商争相抢夺市场,工具和服务器和版本飞涨,跳得比计价器还快。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> xml大行其道,已经成为标准格式,至少是配置文件和转换模板的标准。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/architecture.jpg&quot; width=&quot;607&quot; height=&quot;550&quot;></p>
<h2>现代架构简介</h2>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> view 展示层。显示内容、接受用户人工信息。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> template engine 模板引擎层。使用模板的方式产生最终view展示层的内容。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> action或listener 动作或监视层。接受用户人工动作、根据动作反馈。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> control 控制ui层。控制ui的动作反馈、页面流程。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> service 服务层。除业务逻辑以外的系统逻辑、访问域逻辑的接口、转发访问域逻辑的请求。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> domain logic 域逻辑层。业务逻辑、与传统遗留系统的业务逻辑接口。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> domain model 域模型层。业务模型,与业务有关的对象模型树,包括对象属性和之间的关系。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> xml model。用xml定义的域模型。鉴于xml的重要性,单独列出。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> object model。用object对象来定义的域模型。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> object persistent 对象持久层。将域模型对象持久化。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> database system 数据库系统。关系型或对象型数据库系统,代表了存储系统。</p>
<h2>应用级架构</h2>
<p>可能应该称为实用架构,因为以下这些架构与现代架构不冲突,是建立在现代架构基础上的应用级架构。</p>
<p>光有现代架构当然对开发来说并没有省心,反而是更增加沟通和培训成本,因此应用级架构,或可称为中间件,非常重要。</p>
<p>应用级架构是用来解决各种业务问题的高层次架构。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> workflow 工作流。解决一切依赖流程的业务系统中的流程部分的问题。工作流只管流程。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> e-form 电子表单。解决一切业务系统中需要频繁变动界面。包括电子表单设计器和编译器。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> protal 门户。解决多个业务系统的高级集成。多业务系统不仅是展示层上的集成,更深入到互动地集成,将可能产生相互影响。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> data exchange 数据交换。数据传输和格式转换。解决多个业务系统的数据交换问题。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> message 消息中间件。解决异步消息传输问题。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> instance message 即时消息。解决即时沟通交流问题,并且允许与业务系统互动。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> real-time 实时系统。对时间和高可靠性的要求。</p>
<p><img src=&quot;http://www.matrix.org.cn/blog/magicgod/archives/arrow.gif&quot; width=&quot;12&quot; height=&quot;12&quot;> embedded
嵌入式系统。开发各种其它设备上的应用系统。</p>
<p>good luck<br>
magicgod<br>
版权所有 转载注明
</p>


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons