SOA基础理论

设计时治理:通常提供一个从服务设计到服务部署的各个环节对服务进行管理和整合注册库或存储。

运行时治理:在服务运行时对服务策略的执行与实现。

定义一些策略

1.谁可以访问服务,访问控制。

2.他们可以对服务做哪些操作。

3.服务变更对其他服务的有何影响

4.服务变更对其他应用有何影响。

5.如何安全的对待安全相关的治理。

6.治理与与服务测试的关系。

7.治理如何与服务发现协作。

8.治理如何与服务交付协作。

9.如何设定并维护合理的服务级别。

10.如何管理错误和异常。

11.如何实现在线升级和版本控制

12.如何执行服务校验。

13如何执行审核和日志。

方式使用策略控制服务访问,通过存储库跟踪服务,审计并监控服务执行。

服务依赖容易产生米若效应。所以服务监控显得格外重要。这也是选择服务商的重要参考。

策略定义

1.宏观策略 通常解决大多数服务,数据,流程和应用程序周围存在的根本性问题。

2.微观策略:对特定服务,数据,流程的策略实例。定义最低层次策略的执行。

eg: 只有财务系统才能调用get_fund_detai服务

     update_customer服务在同一个时间只能由一个应用服务,流程使用。

.....

常见的一些治理技术

服务发现 对现有服务的查找,分析和细化,并且能够自动发现服务。例如zookeeper的一些应用。 服务交付 是将服务从开发环境到执行环境或者生产环境的。

配置服务 :确保所有的服务按照服务协议和预设的服务级别运行。

管理错误:自动failover 通过服务校验,来验证服务是否良好定义。根据策略校验服务是否有效,服务部署到生产环境能否满足预期。

日志部分是很重要的一块,用以确定问题发生的原因。

soa测试

服务层测试 流程层测试 治理层测试 信息层测试 集成层测试 安全层测试

首先必须牢记几点,服务不是完整的应用或者系统,必须进行测试。 而测试服务的最佳方式是针对这些服务列出所有测试用例,服务应该是为了被重用而被测试,大多数开发人员大部分时间都一直在某个领域,或者投身开发一次性。我们应该关注的是能否以适当的顺序,充分利用能重用的服务。信息层测试是直接测试持久层,通常是数据库,查看数据库的稳定性和效率。

 

 

你可能感兴趣的:(soa)