CN104363273B - 一种flex无服务器调用外部程序的方法及*** - Google Patents

一种flex无服务器调用外部程序的方法及*** Download PDF

Info

Publication number
CN104363273B
CN104363273B CN201410602539.4A CN201410602539A CN104363273B CN 104363273 B CN104363273 B CN 104363273B CN 201410602539 A CN201410602539 A CN 201410602539A CN 104363273 B CN104363273 B CN 104363273B
Authority
CN
China
Prior art keywords
socket
jar bags
flex
request
serverless
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410602539.4A
Other languages
English (en)
Other versions
CN104363273A (zh
Inventor
罗国俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201410602539.4A priority Critical patent/CN104363273B/zh
Publication of CN104363273A publication Critical patent/CN104363273A/zh
Application granted granted Critical
Publication of CN104363273B publication Critical patent/CN104363273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种flex无服务器调用外部程序的方法,包括步骤:步骤1:flex创建socket连接;步骤2:将socket连接封装为jar包,并为jar包创建一个对应的socket界面;步骤3:接收外部程序发送的请求,通过socket接口调用jar包;步骤4:jar包响应外部请求,创建socket通道,将外部请求转换为请求报文;步骤5:根据请求报文的不同类型调用jar包中的不同操作方法进行操作,并生成操作结果;步骤6:通过socket接口返回操作结果,结束。将flex程序与外部程序调用分开,层次分明,开发、发布、部署都极为方便;针对需要调用外部资源的客户端的Flex AIR程序,无需耗费人力物力来部署额外的服务器;跨平台性和扩展性加强。

Description

一种flex无服务器调用外部程序的方法及***
技术领域
本发明涉及一种flex无服务器调用外部程序的方法及***。
背景技术
Flex是一个高效、免费的开源框架,可用于构建具有表现力的Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR,可以实现跨浏览器、桌面和操作***。虽然只能使用Flex框架构建Flex应用程序,但Adobe Flash BuilderTM(之前称为Adobe FlexBuilderTM)软件可以通过智能编码、交互式遍历调试以及可视设计用户接口布局等功能加快开发。
Flex AIR程序具有良好的客户体验和安全沙盒机制,为众多开发者亲睐,但正是其沙盒机制使得flex程序无法调用本地程序,限制了其可扩展性。
针对此问题,以往的解决方案是额外搭建一个服务器(如tomcat或weblogic),将信息通过服务器传递请求,得到结果后再返回给客户端程序,这种方式加大了开发成本和开发难度,而且部署服务器本身也需要硬件支持和维护成本。
发明内容
本发明所要解决的技术问题是提供一种通过socket接口协议,将flexAIR安装所在的机器作为虚拟服务器,从而处理flex与外部程序的交互的flex无服务器调用外部程序的方法。
本发明解决上述技术问题的技术方案如下:一种flex无服务器调用外部程序的方法,具体包括以下步骤:
步骤1:flex创建socket连接;
步骤2:将socket连接封装为jar包,并为jar包创建一个对应的socket界面;
步骤3:接收外部程序发送的请求,通过socket接口调用jar包;
步骤4:jar包响应外部请求,创建socket通道,将外部请求转换为请求报文;
步骤5:socket通道根据请求报文的不同类型调用jar包中的不同操作方法进行操作,并生成操作结果;
步骤6:通过socket接口返回操作结果,结束。
本发明的有益效果是:本发明通过高度抽象,将flex程序与外部程序调用分开,flex只处理socket接口相关逻辑,外部调用由java处理,层次分明,开发、发布、部署都极为方便;针对需要调用外部资源的客户端的FlexAIR程序,无需耗费人力物力来部署额外的服务器;使用java来调用其他程序,跨平台性和扩展性加强。
本发明一方面可以降低开发成本,socket的jar包和flex连接socket的程序已编写完成;另一方面免去了部署服务器所需的硬件支持和维护成本,只需要维护Flex AIR程序即可;最后,如果需要扩展调用其他程序(如本地的bat程序、c程序、java程序、数据库处理等),只需要将相关程序在socket的jar包中增加即可,相当于是使用java调用了其他程序,由于***使用java调用,所以其跨平台性也是极好的。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述jar包中包括数据库操作、文件操作和远程操作等多种操作方法。
进一步,步骤5中jar包中不存在对应报文类型的操作方法时,将对应此报文类型的外部操作方法添加到socket连接中,将完成添加的socket连接封装为jar包。
进一步,所述步骤4中创建的socket通道中包含jar包中的操作方法,具体包括C程序调用方法、Bat程序调用方法和数据库调用方法。
本发明所要解决的技术问题是提供一种通过socket接口协议,将flexAIR安装所在的机器作为虚拟服务器,从而处理flex与外部程序的交互的flex无服务器调用外部程序的***。
本发明解决上述技术问题的技术方案如下:一种flex无服务器调用外部程序的***,包括创建模块、封装模块、接收请求模块、请求转换模块、操作模块和结果返回模块;
所述创建模块用于使flex创建socket连接;
所述封装模块用于将socket连接封装为jar包,并为jar包创建一个对应的socket界面;
所述接收请求模块用于接收外部程序发送的请求,通过socket接口调用jar包;
所述请求转换模块用于使jar包回应外部请求,创建socket通道,将外部请求转换为请求报文;
所述操作模块用于使socket通道根据请求报文的不同类型调用jar包中的不同操作方法进行操作,并生成操作结果;
所述结果返回模块用于通过socket接口返回操作结果,结束。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述jar包中包括数据库操作、文件操作和远程操作等多种操作方法。
进一步,所述操作模块中jar包中不存在对应报文类型的操作方法时,将对应此报文类型的外部操作方法添加到socket连接中,将完成添加的socket连接封装为jar包。
进一步,所述请求转换模块中创建的socket通道中包含jar包中的操作方法,具体包括C程序调用方法、Bat程序调用方法和数据库调用方法。
附图说明
图1为本发明所述的一种flex无服务器调用外部程序的方法的流程图;
图2为本发明所述的一种flex无服务器调用外部程序的***结构框图;
图3为本发明所述的一种flex无服务器调用外部程序的***具体操作示意图。
附图中,各标号所代表的部件列表如下:
1、创建模块,2、封装模块,3、接收请求模块,4、请求转换模块,5、操作模块,6、结果返回模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明所述的一种flex无服务器调用外部程序的方法,具体包括以下步骤:
步骤1:flex创建socket连接;
步骤2:将socket连接封装为jar包,并为jar包创建一个对应的socket界面;
步骤3:接收外部程序发送的请求,通过socket接口调用jar包;
步骤4:jar包响应外部请求,创建socket通道,将外部请求转换为请求报文;
步骤5:socket通道根据请求报文的不同类型调用jar包中的不同操作方法进行操作,并生成操作结果;
步骤6:通过socket接口返回操作结果,结束。
本发明通过高度抽象,将flex程序与外部程序调用分开,flex只处理socket接口相关逻辑,外部调用由java处理,层次分明,开发、发布、部署都极为方便;针对需要调用外部资源的客户端的Flex AIR程序,无需耗费人力物力来部署额外的服务器;使用java来调用其他程序,跨平台性和扩展性加强。
本发明一方面可以降低开发成本,socket的jar包和flex连接socket的程序已编写完成;另一方面免去了部署服务器所需的硬件支持和维护成本,只需要维护Flex AIR程序即可;最后,如果需要扩展调用其他程序(如本地的bat程序、c程序、java程序、数据库处理等),只需要将相关程序在socket的jar包中增加即可,相当于是使用java调用了其他程序,由于***使用java调用,所以其跨平台性也是极好的。
所述jar包中包括数据库操作、文件操作和远程操作等多种操作方法。
步骤5中jar包中不存在对应报文类型的操作方法时,将对应此报文类型的外部操作方法添加到socket连接中,将完成添加的socket连接封装为jar包。
所述步骤4中创建的socket通道中包含jar包中的操作方法,具体包括C程序调用方法、Bat程序调用方法和数据库调用方法。
如图2所示,为本发明所述的一种flex无服务器调用外部程序的***,包括创建模块1、封装模块2、接收请求模块3、请求转换模块4、操作模块5和结果返回模块6;
所述创建模块1用于使flex创建socket连接;
所述封装模块2用于将socket连接封装为jar包,并为jar包创建一个对应的socket界面;
所述接收请求模块3用于接收外部程序发送的请求,通过socket接口调用jar包;
所述请求转换模块4用于使jar包回应外部请求,创建socket通道,将外部请求转换为请求报文;
所述操作模块5用于使socket通道根据请求报文的不同类型调用jar包中的不同操作方法进行操作,并生成操作结果;
所述结果返回模块6用于通过socket接口返回操作结果,结束。
所述jar包中包括数据库操作、文件操作和远程操作等多种操作方法。
所述操作模块5中jar包中不存在对应报文类型的操作方法时,将对应此报文类型的外部操作方法添加到socket连接中,将完成添加的socket连接封装为jar包。
所述请求转换模块4中创建的socket通道中包含jar包中的操作方法,具体包括C程序调用方法、Bat程序调用方法和数据库调用方法。
如图3所示,为本发明所述的一种flex无服务器调用外部程序的***具体操作示意图,接收外部C程序、外部Bat程序和本地或远程数据库三种外部程序;socket信道中包括对应上述外部程序的三种调用方法,分别为:C程序调用方法、Bat程序调用方法和数据库调用方法。
在数据移植工作台产品开发工作中,使用了该技术,通过将java连接数据库的程序打成jar包,使用socket与Flex通信,成功实现了Flex对远程数据库的访问而没有额外部署服务器,减少了软件大小;并且由于java连接数据库的程序是使用已有的工具类,复用后也减少了开发工作。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种flex无服务器调用外部程序的方法,其特征在于,具体包括以下步骤:
步骤1:flex创建socket连接;
步骤2:将socket连接封装为jar包,并为jar包创建一个对应的socket界面;
步骤3:接收外部程序发送的请求,通过socket接口调用jar包;
步骤4:jar包响应外部请求,创建socket通道,将外部请求转换为请求报文;
步骤5:socket通道根据请求报文的不同类型调用jar包中的不同操作方法进行操作,并生成操作结果;
步骤6:通过socket接口返回操作结果,结束。
2.根据权利要求1所述的一种flex无服务器调用外部程序的方法,其特征在于,所述jar包中包括数据库操作、文件操作和远程操作。
3.根据权利要求1或2所述的一种flex无服务器调用外部程序的方法,其特征在于,步骤5中jar包中不存在对应报文类型的操作方法时,将对应此报文类型的外部操作方法添加到socket连接中,将完成添加的socket连接封装为jar包。
4.根据权利要求3所述的一种flex无服务器调用外部程序的方法,其特征在于,所述步骤4中创建的socket通道中包含jar包中的操作方法,具体包括C程序调用方法、Bat程序调用方法和数据库调用方法。
5.一种flex无服务器调用外部程序的***,其特征在于,包括创建模块、封装模块、接收请求模块、请求转换模块、操作模块和结果返回模块;
所述创建模块用于使flex创建socket连接;
所述封装模块用于将socket连接封装为jar包,并为jar包创建一个对应的socket界面;
所述接收请求模块用于接收外部程序发送的请求,通过socket接口调用jar包;
所述请求转换模块用于使jar包回应外部请求,创建socket通道,将外部请求转换为请求报文;
所述操作模块用于使socket通道根据请求报文的不同类型调用jar包中的不同操作方法进行操作,并生成操作结果;
所述结果返回模块用于通过socket接口返回操作结果,结束。
6.根据权利要求5所述的一种flex无服务器调用外部程序的***,其特征在于,所述jar包中包括数据库操作、文件操作和远程操作。
7.根据权利要求5或6所述的一种flex无服务器调用外部程序的***,其特征在于,所述操作模块中jar包中不存在对应报文类型的操作方法时,将对应此报文类型的外部操作方法添加到socket连接中,将完成添加的socket连接封装为jar包。
8.根据权利要求7所述的一种flex无服务器调用外部程序的***,其特征在于,所述请求转换模块中创建的socket通道中包含jar包中的操作方法,具体包括C程序调用方法、Bat程序调用方法和数据库调用方法。
CN201410602539.4A 2014-10-31 2014-10-31 一种flex无服务器调用外部程序的方法及*** Active CN104363273B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410602539.4A CN104363273B (zh) 2014-10-31 2014-10-31 一种flex无服务器调用外部程序的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410602539.4A CN104363273B (zh) 2014-10-31 2014-10-31 一种flex无服务器调用外部程序的方法及***

Publications (2)

Publication Number Publication Date
CN104363273A CN104363273A (zh) 2015-02-18
CN104363273B true CN104363273B (zh) 2018-04-03

Family

ID=52530499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410602539.4A Active CN104363273B (zh) 2014-10-31 2014-10-31 一种flex无服务器调用外部程序的方法及***

Country Status (1)

Country Link
CN (1) CN104363273B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454163A (zh) * 2017-08-03 2017-12-08 山东捷瑞数字科技股份有限公司 一种多终端展项互联展示控制方法
CN109005163B (zh) * 2018-07-20 2021-01-26 珠海宏桥高科技有限公司 一种http动态请求服务调用方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370862B1 (en) * 2010-09-30 2013-02-05 Emc Corporation Communicating between software environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370862B1 (en) * 2010-09-30 2013-02-05 Emc Corporation Communicating between software environments

Also Published As

Publication number Publication date
CN104363273A (zh) 2015-02-18

Similar Documents

Publication Publication Date Title
US10474438B2 (en) Intelligent cloud engineering platform
JP5248964B2 (ja) ワイヤレス・アプリケーションのスクリーン・エレメント又はデータ・オブジェトを生成する方法及びシステム
CN100543698C (zh) 一种分布式软件***的集成测试***及方法
JP5129917B2 (ja) 情報システムのモデルベースのアーキテクチャを設計する自動システムおよび方法
CN110716748B (zh) 业务处理方法、装置、计算机可读介质及电子设备
JP5259924B2 (ja) レガシーコンポーネントのための動的サービスの生成
CN109857755A (zh) 一种规则校验方法及装置
CN101841515B (zh) 可变目标的协议数据单元编解码代码自动生成的实现方法
JP2001502823A (ja) インターフェイス定義言語によって定義されたデータ構造体を異種システム間で移送するための方法および装置
JP6424823B2 (ja) 情報処理装置、及び、システム設計支援方法
WO2017049769A1 (zh) 一种用于在移动应用中提供目标页面的方法与设备
JP2005505055A (ja) モバイルウェブクライアントに対する方法、装置及びシステム
WO2007001640A2 (en) Data centric workflows
CN107959582A (zh) 一种切片实例的管理方法及装置
CN107181815A (zh) 一种微应用和微服务交互方法、微应用和***
CN104636122B (zh) 一种能力组件的共享方法和设备
CN104301401A (zh) 一种基于快速服务封装的移动应用平台
CN103246547A (zh) 远程调用对象的方法和***
JP2007503031A (ja) ウェブ・サービス許可及び展開の基盤
CN104363273B (zh) 一种flex无服务器调用外部程序的方法及***
CN106201526B (zh) 业务组件化方法及***
CN104516963A (zh) 一种Excel数据服务器及其应用
Miravet et al. Framework for the declarative implementation of native mobile applications
US9513878B2 (en) Component integration by distribution of schema definition on heterogenous platforms
CN110413285A (zh) 一种部署云端服务的方法以及开发云端服务的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant