api开放云服务方法及相关产品与流程

文档序号:26139120发布日期:2021-08-03 14:22阅读:77来源:国知局
api开放云服务方法及相关产品与流程

本发明涉及网络技术领域,具体涉及一种api开放云服务方法及相关产品。



背景技术:

cxf和jersey是纯技术纯的webservice框架,而在开放云服务框架中,webservice只是核心,它提供了开发服务平台的诸多领域问题的解决方案:如应用认证、会话管理、安全控制、错误模型、版本管理、超时限制,事件拦截,服务绑定,响应流化等技术功能模块化统一处理原则,提供了整体应用层结构大大减少了开发和设计时间,api开放云服务框架所提供的大部分功能都是偏“应用层”的,传统技术型的webservice框架是不会僭越到这些“应用层”的问题的。但是,在实际开发中,这些应用层的问题不但不可避免,而且非常考验开发者的设计经验,此外,这些工作还会占用较大的开发工作量,因此现有的api开放云服务对开发者的要求高,提高了开发成本。



技术实现要素:

本发明实施例提供了一种api开放云服务方法及相关产品,可以降低开发者的技术要求,降低开发成本。

第一方面,本发明实施例提供一种api开放云服务方法,其特征在于,所述方法包括如下步骤:

api云服务servlet在启动时,从spring容器中搜索出servicerouter的bean实例并注册;

api云服务servlet截获请求并转交给servicerouter处理,servicerouter将服务请求封装成一个的api云服务requestcontext对象;

servicerouter使用securitymanager检查服务请求的安全性,检查通过后,调用目标服务处理方式执行该服务请求。

第二方面,提供一种api开放云服务系统,所述系统包括:

搜索单元,用于api云服务servlet在启动时,从spring容器中搜索出servicerouter的bean实例并注册;

处理单元,用于调用api云服务servlet截获请求并转交给servicerouter处理,servicerouter将服务请求封装成一个的api云服务requestcontext对象;servicerouter使用securitymanager检查服务请求的安全性,检查通过后,调用目标服务处理方式执行该服务请求。

第三方面,提供一种计算机可读存储介质,其存储用于电子数据交换的程序,其中,所述程序使得终端执行第一方面提供的方法。

实施本发明实施例,具有如下有益效果:

本申请提供的技术方案api云服务servlet在启动时,从spring容器中搜索出servicerouter的bean实例并注册;api云服务servlet截获请求并转交给servicerouter处理,servicerouter将服务请求封装成一个的api云服务requestcontext对象;servicerouter使用securitymanager检查服务请求的安全性,检查通过后,调用目标服务处理方式执行该服务请求。这样api云服务能够自动执行服务请求,降低了开发者的技术需求,降低了成本,提高了效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是一种电子设备的结构示意图。

图2是一种api开放云服务框架示意图。

图3是一种api开放云服务方法的流程示意图。

图4是一种api开放云服务方法执行信令示意图。

图5是本申请提供的api开放云服务系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

请参阅图1,图1是本申请实施例公开的一种电子设备的结构示意图,电子设备100包括存储和处理电路110,以及与所述存储和处理电路110连接的传感器170,传感器170包括前置摄像头和后置摄像头,其中:

电子设备100可以包括控制电路,该控制电路可以包括存储和处理电路110。该存储和处理电路110可以存储器,例如硬盘驱动存储器,非易失性存储器(例如闪存或用于形成固态驱动器的其它电子可编程只读存储器等),易失性存储器(例如静态或动态随机存取存储器等)等,本申请实施例不作限制。存储和处理电路110中的处理电路可以用于控制电子设备100的运转。该处理电路可以基于一个或多个微处理器,微控制器,数字信号处理器,基带处理器,功率管理单元,音频编解码器芯片,专用集成电路,显示驱动器集成电路等来实现。

存储和处理电路110可用于运行电子设备100中的软件,例如互联网浏览应用程序,互联网协议语音(voiceoverinternetprotocol,voip)电话呼叫应用程序,电子邮件应用程序,媒体播放应用程序,操作系统功能等。这些软件可以用于执行一些控制操作,例如,基于照相机的图像采集,基于环境光传感器的环境光测量,基于接近传感器的接近传感器测量,基于诸如发光二极管的状态指示灯等状态指示器实现的信息显示功能,基于触摸传感器的触摸事件检测,与在多个(例如分层的)显示屏上显示信息相关联的功能,与执行无线通信功能相关联的操作,与收集和产生音频信号相关联的操作,与收集和处理按钮按压事件数据相关联的控制操作,以及电子设备100中的其它功能等,本申请实施例不作限制。

电子设备100可以包括输入-输出电路150。输入-输出电路150可用于使电子设备100实现数据的输入和输出,即允许电子设备100从外部设备接收数据和也允许电子设备100将数据从电子设备100输出至外部设备。输入-输出电路150可以进一步包括传感器170。传感器170静脉识别模组,还可以包括环境光传感器,基于光和电容的接近传感器,指纹识别模组,、触摸传感器(例如,基于光触摸传感器和/或电容式触摸传感器,其中,触摸传感器可以是触控显示屏的一部分,也可以作为一个触摸传感器结构独立使用),加速度传感器,摄像头,和其它传感器等。

输入-输出电路150还可以包括一个或多个显示屏,当为多个显示屏时,例如2个显示屏时,一个显示屏可以设置在电子设备的前面,另一个显示屏可以设置在电子设备的后面,例如显示屏130。显示屏130可以包括液晶显示屏,有机发光二极管显示屏,电子墨水显示屏,等离子显示屏,使用其它显示技术的显示屏中一种或者几种的组合。显示屏130可以包括触摸传感器阵列(即,显示屏130可以是触控显示屏)。触摸传感器可以是由透明的触摸传感器电极(例如氧化铟锡(ito)电极)阵列形成的电容式触摸传感器,或者可以是使用其它触摸技术形成的触摸传感器,例如音波触控,压敏触摸,电阻触摸,光学触摸等,本申请实施例不作限制。

电子设备100还可以包括音频组件140。音频组件140可以用于为电子设备100提供音频输入和输出功能。电子设备100中的音频组件140可以包括扬声器,麦克风,蜂鸣器,音调发生器以及其它用于产生和检测声音的组件。

通信电路120可以用于为电子设备100提供与外部设备通信的能力。通信电路120可以包括模拟和数字输入-输出接口电路,和基于射频信号和/或光信号的无线通信电路。通信电路120中的无线通信电路可以包括射频收发器电路、功率放大器电路、低噪声放大器、开关、滤波器和天线。举例来说,通信电路120中的无线通信电路可以包括用于通过发射和接收近场耦合电磁信号来支持近场通信(nearfieldcommunication,nfc)的电路。例如,通信电路120可以包括近场通信天线和近场通信收发器。通信电路120还可以包括蜂窝电话收发器和天线,无线局域网收发器电路和天线等。

电子设备100还可以进一步包括电池,电力管理电路和其它输入-输出单元160。输入-输出单元160可以包括按钮,操纵杆,点击轮,滚动轮,触摸板,小键盘,键盘,照相机,发光二极管和其它状态指示器等。

用户可以通过输入-输出电路150输入命令来控制电子设备100的操作,并且可以使用输入-输出电路150的输出数据以实现接收来自电子设备100的状态信息和其它输出。

参阅图2,图2提供了一种api开放云服务框架示意图,如图2所示,该api开放云服务框架具体可以包括:服务认定、超时控制、事件及拦截、错误模型、版本管理、服务绑定、响应流化、会话管理、安全控制等等模块。

api开放云服务框架技术架构原理是基于springmvc的技术架构原理开发的一个快速云服务开放平台框架项目,可以让您迅速构建成熟的soa服务平台。它不同于传统的soapwebservice和restwebservice这些webservice技术型框架,它是一个应用型的webservice平台框架,它不但可以方便快捷地开发一个个webservice服务,还提供了服务平台领域问题的整体解决方案,开发者可以直接使用这些解决方案,也可以在此基础上进行个性化扩展。

开放api,api是应用程序编程接口的意思,开放api就是开放应用程序编程接口。如果说程序开放api就是说开放接口,以让别人的程序能够调用你的程序数据。就像你的电脑、手机等有一些usb接口,也可以说是开放了接口,有了这些接口别人就可以用他来做插u盘,充电等之类的功能。

如果你发布了一个开放api,而它却难以集成,且没附有相关标准,或附有标准但却不适合,那么就不会有开发人员使用这一系统。确保你的api可以为人使用的最佳方法是在你自己的应用程序中使用它。

决定使用哪一个api标准很重要,因为每一api标准的目标人群都

很特别。如果你想支持大量的用户,那么就使用一个简单的api,这并不需要多大的开销,如restfulapi。rest标准非常广泛。最好的做法是确保你的api是一致的。例如,我没有使用soap,因为它过于复杂。

soap是构建基于web的api的主要协议,但与之rest和json相比,它过于陈旧。我发现,让json取代soap和xml来做为响应可以使生活变得更简单。json让我返回一个简单的对象格式,它几乎可以以任何语言解析。

为了认证(如openid,oauth和saml),给常见的api附上标准可以让你的api容易为开发人员和非开发人员所使用。如果你不为用户处理认证问题,就要使用简单的基于http的或基于令牌的身份验证来取代openid、oauth或saml,他们设计的主要目的是作为用户进行身份验证。

另外,提供一个自身已经存档的开放api对于开发人员是有益的。我最近开始在我的api中添加swaggerapi文档。swagger允许开发人员为api自动产生代码,这些代码可以多语言的。如果你没有遵循这一方法,你至少要确保你提供了api客户库使用是最流行的语言,如java、node.js、python、ruby和面向对象c。

参阅图3,图3提供了一种api开放云服务方法,该方法可以由如图1所示的电子设备执行,该电子设备具体可以为:个人计算机、服务器、云服务器等等智能设备,该方法如图3所示,包括如下步骤:

步骤s300、api云服务servlet在启动时,从spring容器中搜索出servicerouter的bean实例并注册;

配置信息统一在spring配置文件中通过api开放云服务框架schema命名空间定义。

步骤s301、api云服务servlet截获请求并转交给servicerouter处理,servicerouter将服务请求封装成一个的api云服务requestcontext对象;

步骤s302、servicerouter使用securitymanager检查服务请求的安全性,检查通过后,调用目标服务处理方式执行该服务请求。

本申请提供的技术方案api云服务servlet在启动时,从spring容器中搜索出servicerouter的bean实例并注册;api云服务servlet截获请求并转交给servicerouter处理,servicerouter将服务请求封装成一个的api云服务requestcontext对象;servicerouter使用securitymanager检查服务请求的安全性,检查通过后,调用目标服务处理方式执行该服务请求。这样api云服务能够自动执行服务请求,降低了开发者的技术需求,降低了成本,提高了效率。

示例的,上述方法还可以包括:

api云服务requestcontext包含了服务请求的所有信息。

示例的,上述方法还可以包括:

若检查不通过(安全性检查),阻止该服务请求并返回错误响应信息。

示例的,上述调用目标服务处理方式执行该服务请求具体可以包括:

servicerouter通过servicemethodadapter对目标的服务方式发起调用。

由于具体服务方式的签名各不相同,因此必须采用反射机制进行适配调用。

示例的,上述方法还可以包括:

当返回响应对象后,servicerouter使用api云服务marshaller将响应对象编组为特定的响应报文返回给客户端。

其具体的执行流程如图4所示。

参阅图5,图5提供一种api开放云服务系统,所述系统包括:

搜索单元501,用于api云服务servlet在启动时,从spring容器中搜索出servicerouter的bean实例并注册;

处理单元502,用于调用api云服务servlet截获请求并转交给servicerouter处理,servicerouter将服务请求封装成一个的api云服务requestcontext对象;servicerouter使用securitymanager检查服务请求的安全性,检查通过后,调用目标服务处理方式执行该服务请求。

示例的,

配置信息统一在spring配置文件中通过api开放云服务框架schema命名空间定义。

示例的,

api云服务requestcontext包含了服务请求的所有信息。

示例的,

所述处理单元,还用于若检查不通过,阻止该服务请求并返回错误响应信息。

本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。

本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。

所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1