`
kinkding
  • 浏览: 150123 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SCA了解

    博客分类:
  • JAVA
阅读更多

1、在公司看到一个《SOA与SCA,SDO》的培训PPT,看到SCA的编程模型(具体见附件),有些看不到懂,特从网上找了一些相关资料分析,具体参考:http://www.ibm.com/developerworks/cn/webservices/ws-sca/

 

资料摘取:

 

服务组件是SCA中的基本组成元素和基本构建单位,也是我们具体实现业务逻辑的地方。我们可以把它看成是构建我们应用的积木。我们可以非常容易地把 传统的POJO,无状态会话BEAN等包装成SCA中的服务组件。 SCA服务组件的主要接口规范是基于WSDL(Web Service Description Language)的,另外为了给Java编程人员提供一个比较直接的接口,SCA的部分服务组件也提供了Java接口。因此,使用服务组件的客户端可以 选择使用WSDL接口或Java接口。

服务组件提供给别的服务调用的入口叫Interface(接口)。而服务组件本身可能也需要调用别的服务,这个调用出口叫Reference(引 用)。无论是接口还是引用,其调用规范都是WSDL或Java接口



1.3 同步调用和异步调用

我们知道,常见的方法调用都是同步调用,这种调用方式是一种阻塞式的调用方式,即客户端(主调用方)代码一直阻塞等待直到被服务端(被调用方)返回 为止。这种调用方式相对比较直观,也是大部分编程语言直接支持的一种调用方式。但是,如果我们面对是基于粗粒度的服务组件,面对的是一些需要比较长时间才 能有响应的应用场景,那么我们就需要一种非阻塞式调用方式,即异步调用方式。

SCA编程模式提供了三种方式的异步调用,它们分别是:

1. 单向调用方式。

2. 延迟响应方式。

3. 请求回调方式。

单向调用

单向调用方式是最为简单的异步调用方式,在这种调用方式中,客户端发出请求之后就不再关心服务端的情况,包括是否执行成功,返回值是什么等等。我们 可以用下面的图 4示来描述这种单向调用方式:


图 4: 单向调用
图 4: 单向调用

单向调用方式是一种不管调用结果的方式,但是在很多情况下我们是需要知道调用结果的。我们需要知道调用是否成功,需要知道调用的结果,就算调用失败 我们也希望知道错误代码等信息。在这种情况下,延迟响应和请求回调就是两种能够让我们知道调用结果的方式。

延迟响应方式

延迟响应方式是指客户端在发出调用请求之后继续执行,但是经过一段时间之后,客户端再调用相应的方法去检索返回结果,并通过参数指定如何根据调用的 结果而执行进一步动作。由于是异步调用方式,因此,在第一次发出调用请求的时候,服务端需要返回一个称为票据(Ticket)的对象。这个对象会作为第二 次发出检索结果请求时的一个参数。显然,这个Ticket对象的作用与WEB编程的SessionID非常类似。我们可以用图 5 来表示延迟相应调用方式:


图 5:延迟响应调用方式
图 5:延迟响应调用方式

请求回调

与延迟响应方式类似,请求回调方式也能得到服务端的响应,但是不同的是这个响应是由服务端通过回调方式来触发的,而不像延迟响应方式由客户端来主动 检索的。请求回调方式的原理与许多编程语言中的回调机制类似,不同的是这里实现的层次比较高一点。我们可以用图6来表示请求调用方式:


图 6:请求回调方式
图 6:请求回调方式

 


 

1.4 SCA客户端的两种调用方式

从接口的角度,SCA的客户端编程模型有两种方式:

1. 静态调用方式

2. 动态调用方式

静态调用方式

静态调用方式是一种类型安全的方式,也是在一般Java编程中最为常见的方式。所谓类型安全指的就是在编译的时候就做类型的检查,而不是等到运行的 时候发现类型错误问题。说明示例如下:


在SCA客户端编程中,静态方式就是直接拿到实际实现的接口类型,也即直接拿到Java接口。

动态调用方式

与静态调用方式相对,动态调用方式是一种非安全的方式。它的优点是调用非常灵活,但同时带来的不利之处是部分问题在编译的时候是发现不了的,只有等 到运行的时候才能发现。说明示例如下:


像上面例子所示,在动态调用方式中,客户端通过invoke方法的字符串参数的方式来指定具体要调用的方法名称。很显然,在这种方式下,如果方法名 有误是不能在编译时发现的。

关于动态调用方式另外要注意的一点是,在这种调用方式下,所有参数传递都是通过DataObject的方式,即SDO的方式。哪怕实际参数只是一个 字符串,也需要包装成一个DataObject的方式。

接口类型与调用方式

实际上客户端采用哪种调用方式是与接口类型有密切的关系。当提供的接口类型是WSDL类型的,那么客户端的调用方式只能是动态调用方式。由于 WSDL是SCA模型中主要的接口方式,这样就导致动态调用方式在SCA编程模型中非常普遍。但是如果提供的接口类型时Java类型的,那么客户端的调用 方式可以是动态调用方式,也可以是静态调用方式。

 

"

 

同时,上面网址中,还编写了一个具体WPS编写的实例:

1)创建模块

2)创建接口

3)创建组件,绑定接口,创建实现类

4)创建调用(有WSDL和JAVA两种模式)

5)创建JSP来进行调用(也分为WSDL及JAVA两种模式)

分享到:
评论

相关推荐

    sca_SCA凸优化_凸优化SCA_SCA_凸优化_

    SCA(Sequential Convex ...通过深入理解和应用这些知识点,我们可以有效地使用SCA算法解决实际中的凸优化问题,并且根据`xiao_power_beizeng100.m`和`sca.m`的源代码,可以进一步了解和定制算法以适应特定场景的需求。

    SCA_sca算法_SCA_sca程序代码_sca算法代码_

    SCA(Side-Channel Analysis,侧信道分析)是一种安全技术领域的高级技术,...通过对源代码的分析,不仅可以了解SCA的基本工作流程,还能探究其在实际环境中的应用和优化,为密码系统的安全性评估和加固提供理论支持。

    SCA3300.rar

    `flyer_sca3300.pdf`是一份产品宣传册,可能包含SCA3300的主要特点、优势和应用案例,可以帮助潜在用户快速了解该传感器的基本信息和市场定位。 `AppsLite-weighting.pdf`和`AppsLite-Structural_health_monitoring...

    sca知识体系了解应用

    面向服务组件的架构(Service Component Architecture,SCA)是一种用于构建和管理企业级应用程序的模型,旨在简化服务导向架构(SOA)的实现。SCA的核心目标是提供一种语言无关的编程模型,允许开发人员使用统一的...

    SCA介绍及实例

    通过SCA,开发者可以了解项目中依赖的开源库、框架和组件的详细信息,包括版本、许可证和潜在的安全漏洞。 SCA工作的核心是构建软件的依赖树或组件图,它显示了项目如何依赖于其他第三方组件。这个过程通常涉及以下...

    IBM SCA设计工具

    用户可以通过这份文档了解如何初始化环境、创建SCA组件、定义服务和引用,以及如何调试和测试组件。 **t4sca_install.zip**文件包含了T4SCA的安装程序,通常包括所有必要的软件组件和配置文件,使得用户能够在本地...

    SCA简单本地调用案例

    这可能包括阅读组件类、服务接口、绑定配置以及composite配置文件,了解它们如何协同工作。 6. **工具使用**:在开发和调试SCA应用时,会用到一些工具,例如Apache Tuscany,它是一个开源的SCA实现,提供了编译、...

    MTK sca文件

    在使用MTK SCA文件时,首先需要了解6573和6575这两个型号的差异。6573是MTK早期的一款处理器,主要应用于入门级和中端智能手机,而6575则是其后续升级版,可能拥有更好的处理能力和功耗优化。每种型号的SCA文件都...

    SCA sys 6000全部培训材料

    SCA(System for Cable Assembly)6000是一款专为电缆组装行业设计的高效自动化系统。这份"SCA sys 6000全部培训材料"包含了一系列关键知识点,旨在帮助用户全面理解和操作该系统。 首先,E-plan是工程规划软件,...

    全部的SCA&SDO中文规范

    通过深入学习这些文档,开发者可以全面了解SCA和SDO的理论基础、实现方式以及如何在实际项目中应用它们。这些规范对于从事SOA开发,尤其是使用IBM相关技术栈的工程师来说,是非常有价值的参考资料。

    Tuscany SCA in Action

    它不仅覆盖了SCA的基本原理,还提供了大量的示例和最佳实践,是任何希望深入了解SCA和Apache Tuscany的专业人士不可或缺的资源。无论是初学者还是有经验的开发者,都能从中获得有价值的见解和技能,从而提升自己在...

    sca sdo中文资料

    通过阅读和学习"SCA SDO中文资料"中的内容,开发者可以深入了解如何利用SCA构建分布式服务,以及如何借助SDO更高效地管理数据。博客链接(https://andilyliao.iteye.com/blog/585726)可能包含了更多实践案例和具体...

    SCA60C角度传感器

    根据提供的文档信息,我们可以深入探讨SCA60C角度传感器的相关技术细节与应用特性。 ### SCA60C角度传感器概述 ...通过对SCA60C角度传感器的技术细节深入了解,可以更好地将其应用于实际工程项目中,发挥其最大效能。

    datasheet_sca3300-d01.pdf

    根据提供的文件内容,我们可以提取以下关于SCA3300-D01的详细知识点: SCA3300-D01是一款具有数字SPI接口...对于希望使用这款加速度计的工程师来说,这些信息将帮助他们了解产品的优势和如何将其集成到具体的应用中。

    Fortify SCA 安装使用手册

    3. **查看结果**:分析扫描报告,了解潜在的安全风险点。 4. **修复问题**:根据报告中的建议修复代码中的安全漏洞。 5. **重复扫描**:修复问题后再次进行扫描,确保所有问题都已解决。 ##### 3.2 分析 Fortify ...

    OpenSCA是一款开源的软件成分分析工具,用来扫描项目的第三方开源组件依赖及漏洞信息

    为了有效地使用OpenSCA,开发者需要了解如何编写配置文件(如`.oscacfg`),指定要扫描的项目路径、组件数据库源、报告格式等。此外,熟悉基本的命令行操作也是必要的,例如`oscacli scan`用于启动扫描,`oscacli ...

    SCA核心框架

    7. **示例和测试**:如果压缩包包含示例代码或测试用例,那么它们可以帮助开发者快速上手,了解如何使用框架创建和配置SCA组件,以及如何进行单元测试和集成测试。 通过深入学习SCA核心框架CF,开发者不仅可以掌握...

    SOA之SCA导航-Apache Tuscany篇

    通过以上内容,你可以了解到如何利用Apache Tuscany实现SOA中的SCA架构,以及如何创建和管理服务组件,包括命令行构建和Eclipse插件辅助开发的方式。学习并掌握这些知识,将有助于你构建灵活、可扩展的分布式系统。

    正弦余弦算法(SCA)matlab代码

    4. 更新位置:根据新的频率和相位,利用正弦或余弦函数更新解的分量,这一步决定了解的移动方向和距离。 5. 更新全局最优解:比较所有个体的适应度值,选取最优解。 6. 判断终止条件:若达到预设的迭代次数或者适应...

    SCA103T倾角传感器 技术参数

    首先,我们要了解SCA103T倾角传感器的核心特性——角度测量范围。一般来说,SCA103T的测量范围通常在±180度之间,它可以检测到设备相对于水平面的倾斜角度。此外,传感器的分辨率和精度也是关键指标,分辨率决定了...

Global site tag (gtag.js) - Google Analytics