浅谈J2EE架构--SOA
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1.对新业务系统开发的支持
基础数据维护系统总体采用分布式架构设计,基于标准的J2EE平台开发。子系统之间的交互均基于SOAP接口通讯;其交换数据格式采用XML与json;用户可以通过配置参数来改变返回数据格式;对于B/S、C/S结构开发的系统均有良好的支持和易用性;同时对于跨平台以及跨语言也有良好支持;
1.2.应用服务器
根据本系统的要求和特点,本次选用Oracle公司的WebLogic 10产品作为系统的应用服务器。
1.3.应用程序架构选型
1、采用MVC(Model-View-Controller)架构
MVC 结构是传统三层结构的另外一种描述。MVC每个字母代表不同的含义,M模型(Model)、 V视图( View )、 C控制器(Control)。换句话说,M代表着数据的存储(数据库),V代表着最终的用户页面,而C代表着业务的逻辑。
MVC将数据和业务规则从表示层分开,可最大化的重用代码。而且模型返回的数据没有进行格式化,因此同样的构件能被不同界面使用。模型是自包含的,并且与控制器和视图相分离,很容易改变应用程序的数据层和业务规则。如果你想数据库从MySQL移植到Oracle,或者改变基于RDBMS数据源到LDAP,只需改变模型即可。而且,只要正确的实现了模型,不管你的数据来自数据库或是LDAP服务器,视图都会正确的显示它们。另外, MVC应用程序的三个部件相互对立,改变其中一个并不会影响其它两个,依据这种设计思想能构造良好的耦合构件。
MVC的优点不是体现在产品的功能上,而是让软件的结构变得更加合理,更方便修改。如果你想改动一个页面,只需改动一下页面与控制层的关联关系,而不需要改动任何程序。
2、采用SOA(Service-Oriented Architecture)面向服务架构
SOA,是一个很抽象的技术术语,也是当前最领先的技术架构之一,IBM 也在重点推广SOA架构。SOA,简单的说就是以WEB为基础,为每个应用提供相关的接口,类似于原来的API。这样,系统以外的其他系统,不需要了解程序内部的具体释放方式,就可以调用相关系统功能。
例如:以短信收发的接口/sendsms?phonenumber=?? &content=,如果该短信服务器提供这样类似的接口,那么第三方软件,就可以很方便地与之进行短信的发送。而一套复杂的系统,通常会提供成千上万个类似的接口,外面系统可通过这些接口,在一定的规范内与原系统进行交互。
3、技术框架选型
根据项目的情况,系统采用由Spring + Struts + iBatis+Xfire整合而成的轻量级框架。
1、在控制层,利用Strtus2标签功能,在Action中直接与jsp页面上的数据进行交互。在调用业务逻辑层应用时,Struts2提供了对Sping的支持。开发人员需要完成对struts.xml的配置工作和对各个Action类的编写。
2、在业务逻辑层,利用Spring框架的依赖注入实现对业务逻辑类和DAO 类的实例托管;在事务处理方面,利用Spring提供的面向切面的事务处理功能,使对数据的事务控制脱离于数据访问接口实现;在对象关系映射方面,利用Spring对数据库连接池的托管和对iBatis框架的支持。开发人员需要完成对数据源的配置、对不同模块所对应的application*.xml文件的配置,以及对业务逻辑接口的定义和业务逻辑实现的编写。
3、在持久层,利用iBatis提供的半自动化对象关系映射的实现,开发人员需要编写具体的sql语句,为系统设计提供了更大的自由空间。另外,开发人员需要完成对SqlMapConfig.xml和*SqlMap.xml的配置,以及对DAO接口的定义和DAO接口的实现。
4、SOA接口,利用XFire对JavaWeb服务引擎提供的支持,快速的发布基于SOAP 的安全稳定通讯接口;在整合方面利用XFire对Spring的完美支持,只需要简单的更改XFire的接口配置XML文件就可以更改发布的通讯接口;
在各层之间进行交换的过程中,利用数据传输类进行数据的传递和交互。其中,数据传输类与数据库表一一对应。