java

位置:IT落伍者 >> java >> 浏览文章

Java的各种架构优缺点分析和展望


发布日期:2018年08月29日
 
Java的各种架构优缺点分析和展望

首先是UI层很难由美工和系统设计师来总体设计由于即使是Delphi之类的可视化开发工具界面问题还是要程序员自己调整解决这个问题可以走两条路用自己的皮肤系统和美工本来就会IDE

其次是服务层的标准缺少虽然Corba之类早已出现但是昂贵的费用和实施的难度太大了事实上这样的服务层确实有象BEA的TuxedoIBM的CICS等但伸缩性小使用范围小不算是老少鹹宜

最后是数据层一般是直接存取数据库高级一点的是通用性强一点能多访问几个数据库但远没有到对象持久化这种程度

传统三层架构B/S

JEE架构的推出带来了很大的进步先前推出的PHPASP等嵌入式脚本语言只限于一种模板脚本语言而已真正的架构还是从JEE开始起的

早期JEE还未成熟这张图应该是JEE以后的至少是EJB以后的

在UI层与其他脚本嵌入语言类似模板+脚本仍然没有较好的Action功能这直到Struts之类的出现才开始改观

SeesionBean的出现加速了服务层的建立让业务逻辑真正可以独立出现尽管现实没有这么理想

Entity Bean的出现特别是CMP的出现建立了对象持久层数据库再也不需要了解细节了甚至对象数据存在哪里都没人想知道了虽然有这样那样的困难和问题

现代多层架构

多层架构是从开源开始的

Struts是着名的MVC尽管现在看来问题还是不少但是不可否认它的功劳是显着的

AspectJ带来了AOP让开发换个思路

Spring让这些看上去很简单重新发掘Bean的力量

WebWorkJSTLTapestryJSFPIOHibernateCastor等等一系列的开源计划层出不穷我可以列到你开始呕吐为止

有很多显着的特点

注重UI层的简化开发强化模板引擎和组件开发使Action或Lisnter成为标准配备

服务层强调弱耦合可以与多个轮子一起工作方便更换合适的框架甚至考虑兼容传统系统

对象持久大行其道都是针对EJB的软肋去的的发布会弥补EJB的问题

各大厂商争相抢夺市场工具和服务器和版本飞涨跳得比计价器还快

XML大行其道已经成为标准格式至少是配置文件和转换模板的标准

现代架构简介

View 展示层显示内容接受用户人工信息

Template Engine 模板引擎层使用模板的方式产生最终View展示层的内容

Action或Listener 动作或监视层接受用户人工动作根据动作反馈

Control 控制UI层控制UI的动作反馈页面流程

Service 服务层除业务逻辑以外的系统逻辑访问域逻辑的接口转发访问域逻辑的请求

Domain Logic 域逻辑层业务逻辑与传统遗留系统的业务逻辑接口

Domain Model 域模型层业务模型与业务有关的对象模型树包括对象属性和之间的关系

XML Model用XML定义的域模型鑒于XML的重要性单独列出

Object Model用Object对象来定义的域模型

Object Persistent 对象持久层将域模型对象持久化

Database System 数据库系统关系型或对象型数据库系统代表了存储系统

应用级架构

可能应该称为实用架构因为以下这些架构与现代架构不沖突是建立在现代架构基础上的应用级架构

光有现代架构当然对开发来说并没有省心反而是更增加沟通和培训成本因此应用级架构或可称为中间件非常重要

应用级架构是用来解决各种业务问题的高层次架构

Workflow 工作流解决一切依赖流程的业务系统中的流程部分的问题工作流只管流程

EForm 电子表单解决一切业务系统中需要频繁变动界面包括电子表单设计器和编译器

Protal 门户解决多个业务系统的高级集成多业务系统不仅是展示层上的集成更深入到互动地集成将可能产生相互影响

Data Exchange 数据交换数据传输和格式转换解决多个业务系统的数据交换问题

Message 消息中间件解决异步消息传输问题

Instance Message 即时消息解决即时沟通交流问题并且允许与业务系统互动

RealTime 实时系统对时间和高可靠性的要求

Embedded 嵌入式系统开发各种其它设备上的应用系统

上一篇:利用javamail和POP3、SMPT协议实现邮件的收发

下一篇:Struts应用详解:三大组成部分及工作原理