Page 106 - 《软件学报》2021年第5期
P. 106
1330 Journal of Software 软件学报 Vol.32, No.5, May 2021
3.3.1 JPetstore 数据收集
(1) 获取候选微服务的 E ser 、I、O.
本文的两个作者各自独立拆分 JPetStore 生成相应的拆分方案 A 和 B 的 E ser 结果.基于 E ser ,采用 FoSCI [6]
中的接口识别方法生成相应的接口集合 I 和接口提供的操作集合 O,两种拆分方案生成的候选服务 SC 详情分
别见表 1 和表 2.
Table 1 Service candidates from the decomposition A of JPetStore
表 1 JPetStore 拆分方案 A 下的候选服务
候选服务 E ser I O
org.mybatis.JPetStore.domain.Category
org.mybatis.JPetStore.service.CatalogService viewCategory(⋅)
org.mybatis.JPetStore.web.actions.CatalogActionBean searchProducts(⋅)
SC 0 CatalogActionBean
org.mybatis.JPetStore.domain.Product viewProduct(⋅)
org.mybatis.JPetStore.domain.Item viewItem(⋅)
org.mybatis.JPetStore.domain.Sequence
newOrder(⋅)
isConfirmed(⋅)
org.mybatis.JPetStore.domain.LineItem
org.mybatis.JPetStore.web.actions.OrderActionBean getOrder(⋅)
SC 1 OrderActionBean newOrderForm(⋅)
org.mybatis.JPetStore.service.OrderService
org.mybatis.JPetStore.domain.Order setOrderId(int)
viewOrder(⋅)
listOrders(⋅)
removeItemFromCart(⋅)
org.mybatis.JPetStore.domain.Cart
SC 2 org.mybatis.JPetStore.domain.CartItem CartActionBean updateCartQuantities(⋅)
org.mybatis.JPetStore.web.actions.CartActionBean getCart(⋅)
addItemToCart(⋅)
isAuthenticated(⋅)
getUsername(⋅)
org.mybatis.JPetStore.service.AccountService setPassword(⋅)
SC 3 org.mybatis.JPetStore.web.actions.AccountActionBean AccountActionBean setUsername(⋅)
org.mybatis.JPetStore.domain.Account newAccount(⋅)
getAccount(⋅)
signoff(⋅)
Table 2 Service candidates from the decomposition B of JPetStore
表 2 JPetStore 拆分方案 B 下的候选服务
候选服务 E ser I O
org.mybatis.JPetStore.web.actions.CatalogActionBean viewCategory(⋅)
org.mybatis.JPetStore.service.CatalogService searchProducts(⋅)
SC 0 CatalogActionBean
org.mybatis.JPetStore.domain.Product viewProduct(⋅)
org.mybatis.JPetStore.domain.Category viewItem(⋅)
removeItemFromCart(⋅)
org.mybatis.JPetStore.domain.Item updateCartQuantities(⋅)
org.mybatis.JPetStore.domain.Cart getCart(⋅)
org.mybatis.JPetStore.domain.CartItem addItemToCart(⋅)
org.mybatis.JPetStore.web.actions.OrderActionBean newOrder(⋅)
SC 1 org.mybatis.JPetStore.service.OrderService CartActionBean isConfirmed(⋅)
org.mybatis.JPetStore.domain.Sequence OrderActionBean getOrder(⋅)
org.mybatis.JPetStore.domain.Order newOrderForm(⋅)
org.mybatis.JPetStore.domain.LineItem setOrderId(int)
org.mybatis.JPetStore.web.actions.CartActionBean viewOrder(⋅)
listOrders(⋅)
isAuthenticated(⋅)
getUsername(⋅)
org.mybatis.JPetStore.service.AccountService setPassword(⋅)
SC 2 org.mybatis.JPetStore.web.actions.AccountActionBean AccountActionBean setUsername(⋅)
org.mybatis.JPetStore.domain.Account newAccount(⋅)
getAccount(⋅)
signoff(⋅)