发表于: 2017-12-10 16:18:26
1 749
今天完成的事情:
1.首先我们实现Tuscany的RMI形式
昨天已经写完了Tuscany的入门Demo,算是对其有了一个简单的了解。今天我们先实现RMI的形式,分离出客户端和服务的。
(1)接口,实现类还是不用变的。不过这里需要在接口上加个注解@Remotable
(2)@Remotable注解
解释:Annotation used to indicate a Java interface as remotable. Remotable interfaces use pass-by-value semantics, can be published as entry points and used for external services.
翻译:注释用于指示Java接口是远程的。远程接口使用按值传递语义,可以作为入口点发布并用于外部服务。
(3)其次,是对配置文件的修改。这里需要给里面加个service。
其name为接口类名,class就是接口类路径。
如下图:
(4)这里就和我任务八写的一样,我将服务端和客户端写在一起,然后用主方法启动服务的,用测试方法当作客户端来象征调用了远程方法。
1)启动服务端
输出启动成功的语句来显示服务器启动成功。
就相当于把实例化对象,调用方法的程序分到客户端,这里只需要node.start()启动就行了。
2)客户端调用远程方法
正常输出最后结果。
和RMI的客户端一样,没什么变化。
2.完成Tuscany的调用方式
参照任务八,不过这次是Tuscany形式的RMI
整个框架还是又两个service和一个web项目,然后实现远程调用。
(1)还是service先写
以下是启动后的两个service,分别是8888和9999端口,都启动:
在service的配置文件定义了web层访问的路径。
这个就不截图了。
(2)web层调用接口方法,然后转到远程的service中直接调用。
启动成功:
1)然后刷新5次,看调用service的情况:
果然很随机,8888端口才调用了一次,而9999端口却调用了四次。
2)既然这么喜欢9999端口,我直接关掉它,给8888全部宠爱:
这个就算差不多完事了,任务就这样,别的还是要多加练习和学习。
明天计划的事情:
总算结束任务,然后在回头总结一番后打算做复盘喽!
遇到的问题:
站在师兄们的肩膀上学习,确实少踩了很多坑。
1.就是在写服务端service的时候,Autowired自动装配报错,这个目前不知道原因,现象就是好比我需要装配dao接口和service接口,但只能拿到service的,dao接口不可以。
然后解决是在dao接口加个通配@component就可以扫描到了。
别的就没有想到好的办法。
2.主要有个报错还是名字不一致,我在注入的时候定义了一个名字,然后在注解的时候又加了一次名字,结果没写统一。然后报错都是服务启动失败。
3.还有还是有过报错的地方,在注入事务的时候,它是引用了dataSource,所以使用的是ref
4.web层的监听器写了两个,然后有报错。
具体解决方案还需查找,对项目无关痛痒,所以注释掉多余的一个就OK了。
收获:
1.Tuscany
Tuscany 是 Apache 的开源项目,它是 IBM、Oracle、SAP 等厂商联合成立的 SOA 标准化组织 -OSOA 支持下开发出的 SCA 框架,它既是开源界 SCA 的试金石,也是当前开源界最成熟的 SCA 框架之一。
tuscany是一套开源的sca框架模型,是做soa的基础架构
2.什么是微服务?
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
3.什么是SCA?什么是SOA?
(1)SOA
SOA是面向服务的,是一个组件模型,一种架构风格,不是一种方法。它具有很好的灵活性和重用性。
它能够把应用程序分解为单独的服务。这样,这些服务就可以智能地单独发布。它就能够按比例地升级以满足其它应用程序对它的需求。SOA要求IT与业务对齐,支持业务的快速变化,其次是架构的灵活性和资产的重用。
它不是一个新鲜事物,是面向对象的模型的替代模型,基于 SOA 的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。
它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。
(2)SCA
SCA是由BEA、IBM、Oracle等知名中间件厂商联合制定的一套符合SOA思想的规范。
评论