首先是UI层很难由美工和系统设计师来总体设计,由于即使是Delphi之类的可视化开发工具,界面问题还是要程序员自己调整。解决这个问题可以走两条路:用自己的皮肤系统和美工本来就会IDE。 其次是服务层的标准缺少,虽然Corba之类早已出现,但是昂贵的费用和实施的难度太大了。事实上这样的服务层确实有象BEA的Tuxedo,IBM的CICS等,但伸缩性小,使用范围小,不算是老少咸宜。 最后是数据层一般是直接存取数据库,高级一点的是通用性强一点,能多访问几个数据库。但远没有到对象持久化这种程度。
Java的各种架构优缺点分析和展望(图一)" />
传统三层架构B/S
J2EE架构的推出带来了很大的进步,先前推出的PHP、ASP等嵌入式脚本语言只限于一种模板脚本语言而已,真正的架构还是从J2EE开始起的。
早期J2EE还未成熟,这张图应该是J2EE1.2以后的,至少是EJB2.0以后的。
在UI层与其他脚本嵌入语言类似,模板+脚本,仍然没有较好的Action功能,这直到Struts之类的出现才开始改观。
SeesionBean的出现加速了服务层的建立,让业务逻辑真正可以独立出现,尽管现实没有这么理想。
Entity Bean的出现,特别是CMP的出现,建立了对象持久层,数据库再也不需要了解细节了,甚至对象数据存在哪里都没人想知道了,虽然有这样那样的困难和问题。在此我向大家推荐一个架构学习交流圈。交流学习伪鑫:1253431195&