发表于: 2018-10-13 22:13:20

2 505


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin) 

复习turscany

https://www.cnblogs.com/wangzhehan/archive/2011/05/26/2059323.html


SCA  Service Component Architecture 服务组件框架
SDO Service Data Objects   服务数据对象              
SOA  Service Oriented Architecture  面向服务的体系结构
BPEL  Business Process Execution Language  业务过程执行语言

IBM提出 SOA = BPEL+SCA+SDO 


实现(implements)
服务(service)
引用(reference)
属性(properties)


结合代码理解turcany的使用


CORE模块

1.定义一个接口  标注其可远程调用 定义一些方法


@Remotable

public interface ArticleService extends BaseDaoService {


public Long insert(Article article)throws ServiceException, ServiceDaoException;


2.编写该接口的SCA实现类,


public class ArticleSCAClient implements ArticleService {

   private ArticleService articleService;

  public ArticleService getArticleService() {
     return articleService;
  }

  @Reference
  public void setArticleService(ArticleService articleService) {
     this.articleService =articleService;
  }
           
     @Override
     public Long insert(Article article)throws ServiceException, ServiceDaoException{
     return articleService.insert(article);               
     
     }  


SERVICE模块

1.实现和dao层数据交互实现


public class ArticleServiceImpl extends BaseDaoServiceImpl implements
     ArticleService {

  private static final Log log = LogFactory.getLog(ArticleServiceImpl.class);

  @Override
  public Long insert(Article article) throws ServiceException,
        ServiceDaoException {

     log.info(" insert data : " + article);

     if (article == null) {
        return null;
     }

     long currentTimeMillis = System.currentTimeMillis();
     article.setCreateAt(currentTimeMillis);
     article.setUpdateAt(currentTimeMillis);

     Long result = null;
     try {
        result = (Long) dao.save(article);
     } catch (DaoException e) {
        log.error(" insert wrong : " + article);
        log.error(e);
        e.printStackTrace();
        throw new ServiceDaoException(e);
     }

     log.info(" insert data success : " + result);

     return result;
  }

2.定义composite文件

标注spring配置文件

标注java接口和暴露出的服务名和接口号


<component name="GoldwindAdminComponent">
   <implementation.spring location="META-INF/applicationContext-server.xml"/>
</component>

<service name="articleService" promote="GoldwindAdminComponent/articleService">
   <interface.java interface="com.ptteng.goldwind.admin.service.ArticleService"/>
   <scallop:binding.rmi host="localhost" port="11221" serviceName="ArticleRMIService"/>
</service>

spring配置文件 绑定service接口和相应的实现类

<sca:service name="articleService"
            type="com.ptteng.goldwind.admin.service.ArticleService" target="articleService"/>

<bean id="articleService"
     class="com.ptteng.goldwind.admin.service.impl.ArticleServiceImpl" parent="baseDaoService">
</bean>


WEB模块

1.composite文件,将service的sca实现类注册和scallop的rmi绑定

<component name="ArticleServiceComponent">
<implementation.java class="com.ptteng.sca.goldwind.admin.client.ArticleSCAClient" />
<reference name="articleService">
<scallop:binding.rmi registryName="article-goldwind-admin-service-rmi" serviceName="ArticleRMIService" />
</reference>
</component>

(待续)


明天计划的事情:(一定要写非常细致的内容) 

继续理解turcany


遇到的问题:(遇到什么困难,怎么解决的)

down了一波之前项目的代码,web模块没有跑起来,应该和服务类没有全部启动有关,明天继续

 
收获:(通过今天的学习,学到了什么知识)

学习tuscany


返回列表 返回列表
评论

    分享到