软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > 谈SOA在实际项目中的运用
全文

谈SOA在实际项目中的运用

2007-12-06 08:55作者:bluesky35(蓝天)出处:论坛整理责任编辑:方舟

  提到SOA(Service-Oriented Architecture) 面向服务架构,大家恐怕都不陌生, 它是一种架构模型,可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。SOA中最重要的莫过于服务层,它可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。

  好了,关于SOA的概念网络上有许多,我就不再老生常谈了,接下来还是给大家演示一个SOA的典型用例,我将项目中的一些组件代码抽出,聚合成可使用的sample,简单给大家讲一下.我们要做的是建立一个简单的SOA服务构架,然后从本地访问服务并且从服务中获得基础信息.

  基于其中一些朋友可能是初学,所以给大家演示时我尽量做到傻瓜式,即使一点也不懂的朋友也可以跟着例子一步一步走下去,相信这篇文章能给大家带来意外的收获.

  首先,我们用java来做这个例子,请大家先在本地安装以下软件:

  1. JDK 1.5.0

  2. Eclipse 3.2.0

  让我们开始吧!

  一. 打开eclipse,新建Java Project工程,起名为SOASample,JRE选择1.5,如下图所示:

  

  

  二. 既然SOA涉及到本地和服务层之间的交互,那一定需要交互的中间介质,毫无疑问是一个保存数据的对象,做欧美项目的朋友叫做BEAN,做对日项目的朋友叫做DTO,我们创建的DTO包含一个属性name_,让我们按下图建立一个DTO.

  

  

  三. 完善DTO的代码(注意:由于需要在网络中进行传输,所以应该进行序列化,即实现Serializable)

import java.io.Serializable;
 
publicclass RmiServiceDTO implements Serializable{
 
       /**
        *serialVersionUID
        */
       privatestaticfinallongserialVersionUID = 1L;
 
/**
        *serialVersionUID
        */
       private String _name = null;
      
       /**
        *@return_nameを戻します。
        */
       public String getName() {
              return_name;
       }
       /**
        *@param_name_nameを設定。
        */
       publicvoid setName(String _name) {
              this._name = _name;
       }
} 

  现在大家的环境应该都与下图一致.

  

  四. 由于SOA需要与服务进行交互,所以我们得建立一个基于RMI的远程接口,与前面建立DTO一样,我们建立名为RMIImpl的接口,代码如下:

publicinterface RMIImpl extends java.rmi.Remote{
       public RmiServiceDTO execute() throws java.rmi.RemoteException;
} 

  

共2页。 1 2 下一页 末页
相关搜索:
关注此文读者还看过
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众