2007年11月15日

  个人对软件设计及架构的总结:

1.软件设计        

Java 跨平台、虚拟机 .Net CLR

J2EE:一组规范,多种JSR的组合,ServletJSPEJBJDBCJNDIJMS

      JTARMI等等

目标:企业应用

2.企业应用的特点,这也是J2EE诞生的原因

   企业应用的特点

1. 涉及到持久化数据

2. 很多人同时访问数据

3. 含有大量操作数据的用户界面

4. 与散布在企业内部或周围的其他的应用集成

5. 各种异构系统的概念含有不一致性

6. 业务逻辑通常是最没有逻辑的东西

7. 企业应用并非都是大型的,但可能都为企业提供巨大的价值

   因此需要更强的健壮性、可扩展性和异常处理能力

3.经典道理:

l       

l        计算机科学里,没有任何问题是不能通过增加额外的附加层而得到解决的。

发展历史:

Flat File-〉事务处理系统(处理并发访问)-〉RDB(SQL)

-〉C/S应用(客户端负责数据获取和呈现,并直接访问数据库)

-〉受数据库的物理连接的限制,决定了客户端的最大连接数

-〉银弹:分层                                  |----【连接池】

    -〉三层架构 ,n-tier(中间件)           [tier & layer ]

    

   J2EE通过分层与AOP

4.系统架构

原则:接口实现分离、开闭、迪米特、依赖倒置、里氏替换

分层: presentation layer: mvc "databind " look & feel " i18n

Service layer: 接口实现分离" Service Locater" Facade

Business layer : BPM "Domain Model

Data Access layer: DAO ----DB independence

                   

事务:本地事务、声明式、编程式

安全:CASSLSOOLDAP

5.企业架构

       Zachman: 5W1H

n        数据(WHAT

n        功能(HOW

n        网络(WHERE

n        人员(WHO

n        时间(WHEN

n        动机(WHY

TOGAF: 4 Architeture

 ADM

 

6.应用整合

SOA-----WebService

    -------ESB 应用互联

-------SCA 服务组件

-------BPEL 业务编排

posted @ 2009-05-22 08:30 fph 阅读(1604) | 评论 (2)编辑 收藏

ORM(Object Relation Mapping)大家都很熟悉,包括hibernate,ibatis等等,JavaEE 5里面定义了JPA,也是差不多的意思。

这里的关键是Relation,将对象映射到关系数据库,为什么呢要映射到关系数据库,因为我们发展了这么多年的数据库历史,

并且发明了sql等一系列相关的工具以及稳定的DB Product。

OXM不是新名词,是我自己简写的(Object XML Mapping),将对象与xml(不一定是文件,是xml的表示方式)互相转换及映射,

目前有很多工具可以做,比如castor,我想用DOM或SAX也可以作出其他的类似工具。

XQuery ,XPath可以用来做类似sql的事情。

当然,如何把xml持久化呢,DB2 V9不是已经做了吗,不过xml只不过是关系数据库的一种附加品而已。

xml不一定非需要操作系统文件的方式呀,也许有一天,某一个数据库(或者叫持久化)产品是

只面向xml而非关系的,那么流行的将是OXM,或者叫OX(和XO很像呀,想来一口吗 ^-^),因为对象和xml之间几乎不需要mapping

posted @ 2007-11-15 12:59 fph 阅读(902) | 评论 (0)编辑 收藏