文档库 最新最全的文档下载
当前位置:文档库 › 软件系统之间的接口方式

软件系统之间的接口方式

软件系统之间的接口方式
软件系统之间的接口方式

软件系统之间的接口方式

?概述

软件接口是实现一个系统跟另外系统进行信息交互的桥梁,在不同的系统之间,根据系统的关联程度的不同存在紧耦合和松耦合两种:紧耦合要求接口响应反应快,消息不能阻塞;松耦合对响应反应要求比较低。在目前应用中, Socket 、消息队列(Message Queue)、 WebService等都有相应的应用,但是应用中发现各通讯方式有自己固有的特征,“适合的才是最好的”,这是真理。

在接口和系统信息交互的过程中,两种模式使用得很普遍:同步调用和异步调用,同步调用要求接口发出请求消息后必须等待服务端系统的应答消息,接口阻塞直至超时;异步调用则发出请求消息后,接口可以从事其它处理,定时轮询服务端应答消息和消息或事件通知。同步方式简单,但是很容易造成接口阻塞,造成消息积压超时。

?技术实现

? Socket 通讯

Socket 通讯相对来说是很古老的通讯方式,也是最常用的通讯方式。 Socket 通讯有阻塞和非阻塞两种方式。在同步方式,采用阻塞编程比较简单,但是为了防止接口阻塞,我们需要设置 Socket 超时,因此可以使用 Socket 的 SELECT 模型(参考如下示例代码):

ReceLen=0;

CurReceLen=0;

for(;;)

{

iResult=select(0,&fdread,NULL,NULL,&timeout);

if(iResult==0)

{

AfxMessageBox("接收应答消息超时!!!",MB_OK|MB_ICONERROR); closesocket(Socket);

return FALSE;

}

CurReceLen = recv(Socket, oBuf+ReceLen, len, NO_FLAG_SET); if((CurReceLen>0) && (CurReceLen != SOCKET_ERROR))

{

oBuf[ReceLen+CurReceLen]='\0';

memcpy((char *)&MsgLen,oBuf,sizeof(WORD32));

MsgLen=ntohl(MsgLen);

if(ReceLen+CurReceLen==MsgLen)

{

ReceLen+=CurReceLen;

break;

}

ReceLen+=CurReceLen;

}

}

在异步方式下,采用非阻塞方式实现比较方便,在非阻塞方式下可使用WSAAsyncSelect模型和 WSAEventSelect 模型: WSAAsyncSelect模型基于消息,WSAEventSelect 模型基于事件,下面的示例代码设置了 Socket 进行读写和关闭操作的消息:

status = WSAAsyncSelect(TempSocket, hWnd, WSA_READ, FD_READ | FD_CLOSE | FD_WRITE);

if (status == SOCKET_ERROR)

{

WriteLogFile("Set stream socket module fail!!!IP(%s),Port(%d) and error(%d)",GetIPAddr((PeerMap+node)->IPAddr),(PeerMap+node)->PeerPortNo,WS AGetLastError());

CloseSocket(TempSocket,__LINE__,__FILE__);

return FALSE;

}

无论使用阻塞方式或非阻塞方式编程,需要重点考虑的一个问题:粘包现象,即应用发送两个或以上的数据包,在 Socket 通讯层将数据包合并成一个发送出去,因此接收端收到数据包以后需要对数据包根据应用定义的长度进行拆分,否则导致应用层丢包。

应用方式可以由用户封转成DLL供使用方使用.

?消息队列(Message Queue)

利用 MSMQ(Microsoft Message Queue),应用程序开发人员可以通过发送和接收消息方便地与应用程序进行快速可靠的通信。消息处理为您提供了有保障的消息传递和执行许多业务处理的可靠的防故障方法。 MSMQ与XML Web Services和.Net Remoting一样,是一种分布式开发技术。但是在使用XML Web Services或.Net Remoting组件时,Client端需要和Server端实时交换信息,Server需要保持联机。MSMQ则可以在Server离线的情况下工作,将Message临时保存在Client端的消息队列中,以后联机时再发送到Server端处理。显然,MSMQ不适合于Client需要Server 端及时响应的这种情况,MSMQ以异步的方式和Server端交互,不用担心等待Server 端的长时间处理过程。虽然XML Web Services和.Net Remoting都提供了[OneWay]属性来处理异步调用,用来解决Server端长方法调用长时间阻碍Client端。但是不能解决大量Client负载的问题,此时Server接受的请求快于处理请求。一般情况下,[OneWay]属性不用于专门的消息服务中。

1. 基本术语和概念( Basic terms and concepts )

“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。“消息队列”是 Microsoft 的消息处理技术,它在任何安装了 Microsoft Windows 的计算机组合中,为任何应用程序提供消息处理和消息队列功能,无论这些计算机是否在同一个网络上或者是否同时联机。“消息队列网络”是能够相互间来回发送消息的任何一组计算机。网络中的不同计算机在确保消息顺利处理的过程中扮演不同的角色。它们中有些提供路由信息以确定如何发送消息,有些保存整个网络的重要信息,而有些只是发送和接收消息。“消息队列”安装期间,管理员确定哪些服务器可以互相通信,并设置特定服务器的特殊角色。构成此“消息队列”网络的计算机称为“站点”,它们之间通过“站点链接”相互连接。每个站点链接都有一个关联的“开销”,它由管理员确定,指示了经过此站点链接传递消息的频率。

“消息队列”管理员还在网络中设置一台或多台作为“路由服务器”的计算机。路由服务器查看各站点链接的开销,确定经过多个站点传递消息的最快和最有效的方法,以此决定如何传递消息。

2. 队列类型( Queue Type )

有两种主要的队列类型:由您或网络中的其他用户创建的队列和系统队列。用户创建的队列可能是以下任何一种队列:“公共队列”在整个“消息队列”网络中复制,并且有可能由网络连接的所有站点访问。“专用队列”不在整个网络中发布。相反,它们仅在所驻留的本地计算机上可用。专用队列只能由知道队列的完整路径名或标签的应用程序访问。“管理队列”包含确认在给定“消息队列”网络中发送的消息回执的消息。指定希望MessageQueue 组件使用的管理队列(如果有的话)。“响应队列”包含目标应用程序接收到消息时返回给发送应用程序的响应消息。指定希望MessageQueue 组件使用的响应队列(如果有的话)。系统生成的队列一般分为以下几类:“日记队列”可选地存储发送消息的副本和从队列中移除的消息副本。每个“消息队列”客户端上的单个日记队列存储从该计算机发送的消息副本。在服务器上为每个队列创建了一个单独的日记队列。此日记跟踪从该队列中移除的消息。“死信队列”存储无法传递或已过期的消息的副本。如果过期或无法传递的消息是事务性消息,则被存储在一种特殊的死信队列中,称为“事务性死信队列”。死信存储在过期消息所在的计算机上。有关超时期限和过期消息的更多信息,请参见默认消息属性。“报告队列”包含指示消息到达目标所经过的路由的消息,还可以包含测试消息。每台计算机上只能有一个报告队列。“专用系统队列”是一系列存储系统执行消息处理操作所需的管理和通知消息的专用队列。在应用程序中进行的大多数工作都涉及访问公共队列及其消息。但是,根据应用程序的日记记录、确认和其他特殊处理需要,在日常操作中很可能要使用几种不同的系统队列。

3. 同步和异步通信( Synchronous VS. Asynchronous Communication )

队列通信天生就是异步的,因为将消息发送到队列和从队列中接收消息是在不同的进程中完成的。另外,可以异步执行接收操作,因为要接收消息的人可以对任何给定的队列调用 BeginReceive 方法,然后立即继续其他任务而不用等待答复。这与人们所

了解的“同步通信”截然不同。在同步通信中,请求的发送方在执行其他任务前,必须等待来自预定接收方的响应。发送方等待的时间完全取决于接收方处理请求和发送响应所用的时间。

4. 同消息队列交互( Interacting with Message Queues )

消息处理和消息为基于服务器的应用程序组件之间的进程间通信提供了强大灵活的机制。同组件间的直接调用相比,它们具有若干优点,其中包括:

?稳定性—组件失败对消息的影响程度远远小于组件间的直接调用,因为消息存储在队列中并一直留在那里,直到被适当地处理。消息处理同事务处理相似,因为消息处理是有保证的。?消息优先级—更紧急或更重要的消息可在相对不重要的消息之前接收,因此可以为关键的应用程序保证足够的响应时间。?脱机能力—发送消息时,它们可被发送到临时队列中并一直留在那里,直到被成功地传递。当因任何原因对所需队列的访问不可用时,用户可以继续执行操作。同时,其他操作可以继续进行,如同消息已经得到了处理一样,这是因为网络连接恢复时消息传递是有保证的。?事务性消息处理—将多个相关消息耦合为单个事务,确保消息按顺序传递、只传递一次并且可以从它们的目标队列中被成功地检索。如果出现任何错误,将取消整个事务。?安全性— MessageQueue 组件基于的消息队列技术使用 Windows 安全来保护访问控制,提供审核,并对组件发送和接收的消息进行加密和验证。

5. 在 .Net 环境下编写简单的 Message Queue 程序

(1)先安装Message Queuing Services

通过Control Panel,“Add/Remove Programs”–“Add/Remove Windows Components”步骤安装MSMQ。 MSMQ可以安装为工作组模式或域模式。如果安装程序没有找到一台运行提供目录服务的消息队列的服务器,则只可以安装为工作组模式,此计算机上的“消息队列”只支持创建专用队列和创建与其他运行“消息队列”的计算机的直接连接。

(2)配置MSMQ

打开Computer Management – Message Queuing,在Private Queues下创建MSMQDemo 队列

(3)编写代码-简单演示MSMQ对象

MessageQueue 类是“消息队列”周围的包装。MessageQueue 类提供对“消息队列”队列的引用。可以在 MessageQueue 构造函数中指定一个连接到现有资源的路径,或者可在服务器上创建新队列。在调用 Send、Peek 或 Receive 之前,必须将MessageQueue 类的新实例与某个现有队列关联。 MessageQueue 支持两种类型的消息检索:同步和异步。同步的 Peek 和 Receive 方法使进程线程用指定的间隔时间等待新消息到达队列。异步的 BeginPeek 和 BeginReceive 方法允许主应用程序任务在消息到达队列之前,在单独的线程中继续执行。这些方法通过使用回调对象和状态对象进行工作,以便在线程之间进行信息通讯。

// Send Message

private void btnSendMessage_Click(object sender, System.EventArgs e)

{

// Open queue

System.Messaging.MessageQueue queue = new

System.Messaging.MessageQueue(".\\Private$\\MSMQDemo");

// Create message

System.Messaging.Message message = new System.Messaging.Message();

message.Body = txtMessage.Text.Trim();

message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] {typeof(string)});

// Put message into queue

queue.Send(message);

}

// Receive Message

private void btnReceiveMessage_Click(object sender, System.EventArgs e)

{

// Open queue

System.Messaging.MessageQueue queue = new

System.Messaging.MessageQueue(".\\Private$\\MSMQDemo");

// Receive message, 同步的Receive方法阻塞当前执行线程,直到一个message可以得到

System.Messaging.Message message = queue.Receive();

message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] {typeof(string)});

txtReceiveMessage.Text = message.Body.ToString();

}

Demo界面:

? WebService

SOAP 作为一种协议,同服务端 WebService 进行通讯。微软提供了 SOAP 协议的SDK ,我使用的是微软的 SOAP Toolkit3.0 ,这是基于 COM 的一套组件,因此具有 COM 的特征,在调用参数的处理, windows 和 unix 顺序恰好相反,下面的代码实现了调用一个 Web Service :

if(!m_bFlatType)

{

for(i=paramNum,j=0;i>j;i--,j++)

{

VARIANTARG argTemp;

VariantInit(&argTemp);

argTemp=va[i-1];

va[i-1]=va[j];

va[j]=argTemp;

}

}

params.cArgs = paramNum;

params.rgvarg = va;

https://www.wendangku.net/doc/f34132806.html,amedArgs = 0;

params.rgdispidNamedArgs = NULL;

hr = SoapConnect.pSoapClient[index]->Invoke(dispidFn, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD, ¶ms,

&result, 0, 0);

if(FAILED(hr))

{

HandleHResult(_T("Invoke of "+strService+" method failed."), hr);

VariantClear(&result);

for(i=0;i

SysFreeString(bstrServiceName);

CoUninitialize();

return FALSE;

}

?总结

在三种通讯方式中,各有优缺点,但是主要还在于服务端采用什么技术方案来实现,接口必须对应采用相应的通讯模式。

软件系统之间的接口方式

软件系统之间的接口方式 ?? 概述 软件接口是实现一个系统跟另外系统进行信息交互的桥梁,在不同的系统之间,根据系统的关联程度的不同存在紧耦合和松耦合两种:紧耦合要求接口响应反应快,消息不能阻塞;松耦合对响应反应要求比较低。在目前应用中, Socket 、消息队列(Message Queue)、 WebService等都有相应的应用,但是应用中发现各通讯方式有自己固有的特征,“适合的才是最好的”,这是真理。 在接口和系统信息交互的过程中,两种模式使用得很普遍:同步调用和异步调用,同步调用要求接口发出请求消息后必须等待服务端系统的应答消息,接口阻塞直至超时;异步调用则发出请求消息后,接口可以从事其它处理,定时轮询服务端应答消息和消息或事件通知。同步方式简单,但是很容易造成接口阻塞,造成消息积压超时。 ?? 技术实现 ?? Socket 通讯 Socket 通讯相对来说是很古老的通讯方式,也是最常用的通讯方式。 Socket 通讯有阻塞和非阻塞两种方式。在同步方式,采用阻塞编程比较简单,但是为了防止接口阻塞,我们需要设置 Socket 超时,因此可以使用 Socket 的 SELECT 模型(参考如下示例代码): ReceLen=0; CurReceLen=0; for(;;) { iResult=select(0,&fdread,NULL,NULL,&timeout);

if(iResult==0) { AfxMessageBox("接收应答消息超时!!!",MB_OK|MB_ICONERROR); closesocket(Socket); return FALSE; } CurReceLen = recv(Socket, oBuf+ReceLen, len, NO_FLAG_SET); if((CurReceLen>0) && (CurReceLen != SOCKET_ERROR)) { oBuf[ReceLen+CurReceLen]='\0'; memcpy((char *)&MsgLen,oBuf,sizeof(WORD32)); MsgLen=ntohl(MsgLen); if(ReceLen+CurReceLen==MsgLen) { ReceLen+=CurReceLen; break; } ReceLen+=CurReceLen; }

时钟系统对时接口说明

时钟系统对时接口说明 时钟系统可以为其它系统提供标准时间信号以保证各系统间的时钟统一。时钟系统可以提供两钟对时信号,一种是RS422接口形式的对时信号,另一种是NTP网络时间信号。具体说明如下: 1. RS422接口的标准时间输出 1.1 RS422标准时间接口说明: 时钟系统可以为本系统外的其它系统,例如为公务电话系统、专用电话系统、无线通信系统、电视监视系统、广播等系统提供标准时间信号。 接口功能:为其它系统提供对时信息。 接口类型:RS422接口线缆 物理接口方式:RS422 通讯协议:参照时钟系统标准时间接口协议 接口数量:每个系统各1路。 接口位置及工程界面:控制中心通信系统设备室综合配线架的外侧。 1.2 时钟系统标准时间接口协议: ①输出接口:标准RS-422端口 ②波特率:9600bit/s ③数据位:8位

④起始位:1位 ⑤停止位:1位 ⑥校验位:无 ⑦工作方式:异步 ⑨数据格式:(ASCII字符串,共21个字符) ebh,90h, 起始符 c: 41h 无外时钟校时, 47h GPS校时 n4,n3,n2,n1 年 m2,m1 月 d2,d1 日 w(30h~36h) 星期 h2,h1 时 m2,m1 分 s2,s1 秒 xxh 校验码(累加检验,取低8位) cr(odh) 1ah; 结束符. 例:EB 90 47 32 30 30 39 30 33 33 31 32 31 30 32 34 33 36 XX 0D 1A 信息为:2009-03-31 星期二10:24:36 有外部较时。 ⑩传输距离:1200米(采用0.5平方毫米的双绞软线,超过1200米需增加中继器)2. NTP接口的标准时间输出 时钟系统也可以通过NTP网络时间服务器为本系统外的其它系统提供基于以太网协议网络接口时间信号。具体说明如下: ☉网络协议: NTP v2, v3 & v4 (RFC1119& 1305) NTP broadcast mode SNTP Simple Network Time Protocol (RFC2030) MD5 Authentication (RFC 1321) Telnet (RFC854) DHCP (RFC2132) FTP (RFC 959)

时钟系统对时接口说明

时钟系统可以为其它系统提供标准时间信号以保证各系统间的时钟统一。时钟系统可以提供两钟对时信号,一种是RS422接口形式的对时信号,另一种是NTP网络时间信号。具体说明如下: 1. RS422接口的标准时间输出 RS422标准时间接口说明: 时钟系统可以为本系统外的其它系统,例如为公务电话系统、专用电话系统、无线通信系统、电视监视系统、广播等系统提供标准时间信号。 接口功能:为其它系统提供对时信息。 接口类型:RS422接口线缆 物理接口方式:RS422 通讯协议:参照时钟系统标准时间接口协议 接口数量:每个系统各1路。 接口位置及工程界面:控制中心通信系统设备室综合配线架的外侧。 时钟系统标准时间接口协议: ①输出接口:标准RS-422端口 ②波特率: 9600bit/s ③数据位: 8位 ④起始位: 1位 ⑤停止位: 1位 ⑥校验位:无 ⑦工作方式:异步 ⑨数据格式:(ASCII字符串,共21个字符) ebh,90h, 起始符 c: 41h 无外时钟校时, 47h GPS校时 n4,n3,n2,n1 年

m2,m1 月 d2,d1 日 w(30h~36h) 星期 h2,h1 时 m2,m1 分 s2,s1 秒 xxh 校验码(累加检验,取低8位) cr(odh) 1ah; 结束符. 例:EB 90 47 32 30 30 39 30 33 33 31 32 31 30 32 34 33 36 XX 0D 1A 信息为: 2009-03-31 星期二 10:24:36 有外部较时。 ⑩传输距离:1200米(采用平方毫米的双绞软线,超过1200米需增加中继器) 2. NTP接口的标准时间输出 时钟系统也可以通过NTP网络时间服务器为本系统外的其它系统提供基于以太网协议网络接口时间信号。具体说明如下: ☉网络协议: NTP v2, v3 & v4 (RFC1119& 1305) NTP broadcast mode SNTP Simple Network Time Protocol (RFC2030) MD5 Authentication (RFC 1321) Telnet (RFC854) DHCP (RFC2132) FTP (RFC 959) ☉输入/输出接口: 网络接口:1个10/100自适应以太网接口(其他系统的IP需根NTP在同一网段); 1路RS-422串行口输出:9针接口 秒脉冲接口: TTL电平方式。 定时准确度: 300纳秒 ☉时间服务功能(一级网络时间服务器) GPS ☉

完整的接口解决方案说明书

文档编号:T-JKJS 文档版本:0.01 项目编号:XX-DX- PECS 《XX电信工程外部协作系统》 Project Exterior Cooperation System 施工单位接口技术解决方案 编写人:南疯日期:2006-10-30 审核人:日期: 批准人:日期: XXXXXX信息科技股份有限公司 地址:XXXXXXX 邮编:XXXXXX 电话:XXXXXXXX传真:XXXXXX 网站:XXXXXXXXX 修改记录(Revision Chart) 版本号批准人修改人修改0.01南疯2006-10-30 0.02详细修改记录: 序号

1引言 1.1编写目的 1.2覆盖范围 1.3预期读者与阅读建议 1.4文档约定 1.5术语与缩略语 1.6参考文献 2概述 3接口方式 4接口安全 4.1接口认证 4.2数据安全 5事务处理 6性能考虑 7容错处理 8数据格式 8.1约定 8.2施工系统向外协系统发送请求 8.2.1请求查询一个业务数据 8.2.2新增一条记录,得到记录的键值 8.2.3修改一条记录 8.2.4删除一条记录 8.2.5文档上传 8.2.6一条记录中一个文档字段上传多个文件 8.2.7补充上传文档 8.2.8在记录中删除一个文档 8.2.9获得文档的基本信息 8.2.10获得文档的所有兄弟信息 8.2.11获得文档的所有父亲信息 8.2.12下载一个文档 8.2.13获得字典 8.3外协系统向施工系统发送请求 8.3.1发送变更后的数据 8.3.2发送变更后的字典 8.3.3文档发送请求 9信息数据项 9.1数据表 9.2字段信息 9.3字典类型

系统对接方案说明

WORD格式可编辑 系统对接设计 1.1.1 对接方式 系统与外部系统的对接方式以web service方式进行。 系统接口标准: 本系统采用SOA体系架构,通过服务总线技术实现数据交换以及实现各业务子系统间、外部业务系统之间的信息共享和集成,因此SOA体系标准就是我们采用的接口核心标准。主要包括: 服务目录标准:服务目录API接口格式参考国家以及关于服务目录的元数据指导规范,对于W3C UDDI v2 API结构规范,采取UDDI v2的API的模型,定义UDDI的查询和发布服务接口,定制基于Java和SOAP的访问接口。除了基于SOAP1.2的Web Service 接口方式,对于基于消息的接口采用JMS或者MQ的方式。 交换标准:基于服务的交换,采用HTTP/HTTPS作为传输协议,而其消息体存放基于SOAP1.2协议的SOAP消息格式。SOAP的消息体包括服务数据以及服务操作,服务 数据和服务操作采用WSDL进行描述。 Web服务标准:用WSDL描述业务服务,将WSDL发布到UDDI用以设计/创建服务,SOAP/HTTP服务遵循WS-I Basic Profile 1.0,利用J2EE Session EJBs实现新的业务服务,根据需求提供SOAP/HTTP or JMS and RMI/IIOP接口。 业务流程标准:使用没有扩展的标准的BPEL4WS,对于业务流程以SOAP服务形式进行访问,业务流程之间的调用通过SOAP。 数据交换安全:与外部系统对接需考虑外部访问的安全性,通过IP白名单、SSL 认证等方式保证集成互访的合法性与安全性。 数据交换标准:制定适合双方系统统一的数据交换数据标准,支持对增量的数据自动进行数据同步,避免人工重复录入的工作。 1.1.2 接口规范性设计 系统平台中的接口众多,依赖关系复杂,通过接口交换的数据与接口调用必 须遵循统一的接口模型进行设计。接口模型除了遵循工程统一的数据标准和接口专业知识整理分享

楼控系统与相关专业的接口要求及说明

楼宇自控系统与相关专业的接口要求及相关说明 一、楼宇自控系统与电气专业的接口及要求 楼宇自控系统作为大楼内一个重要的组成系统,其实现自身的功能已经比较成熟和完善,但在系统实施过程中,经常由于接口问题而导致系统的最终功能不完善,丢项、甩项等事情经常发生。 由于接口的问题牵扯的面比较多,涉及到工程实施中的暖通、给排水、变配电等多个专业,因此在工程的前期将接口问题进行明确,非常必要。从另一个角度将接口方面的问题进行明确,可以使业主在工程前期,在设备订货之前就明确提出接口要求,从而得以实现。 ☆明确各方面的责任及工作内容,避免出现问题时,互相扯皮。 ☆确保实现系统设计的全部功能,避免资金的浪费。 1.风机、水泵电控箱的接口要求 空调机组/新风机组送风机: 楼宇自控系统对空调机组/新风机组送风机的监控信号为:风机运行状态反馈、风机故障状态反馈、风机手/自动状态反馈、风机启停控制。 ①楼宇自控系统监测的风机运行状态反馈信号应由交流接触器的无源辅助 触点引出(此接点为一对无源常开接点)。 ②楼宇自控系统监测的风机故障状态反馈信号应由热保护继电器的无源 辅助触点引出(此接点为一对无源常开接点)。

③电气专业应在空调机组/新风机组送风机的电控箱二次控制回路中设置 手/自动转换开关,并向楼宇自控系统提供一对无源辅助触点(此接点 为一对无源常开接点),作为风机的手/自动状态反馈信号。 ④楼宇自控系统提供一对无源常开接点信号引入风机的二次控制回路,用 于当风机的手/自动开关处于自动状态时,自动控制风机的启停。 水泵 楼宇自控系统对各种水泵(其中包括:冷冻水循环泵、冷却水循环泵、热水循环泵、排污泵等)的监控信号为:水泵运行状态反馈、水泵故障状态反 馈、水泵手/自动状态反馈、水泵启停控制。 ①楼宇自控系统监测的水泵运行状态反馈信号应由交流接触器的无源辅助 触点引出(此接点为一对无源常开接点)。 ②楼宇自控系统监测的水泵故障状态反馈信号应由热保护继电器的无源辅 助触点引出(此接点为一对无源常开接点)。 ③电气专业应在水泵电控箱的二次控制回路中设置手/自动转换开关,并 向楼宇自控系统提供一对无源辅助触点(此接点为一对无源常开接 点),作为水泵的手/自动状态反馈信号。 ④楼宇自控系统提供一对无源常开接点信号引入水泵的二次控制回路,用

酒店门锁管理系统接口说明

深圳市同创新佳科技有限公司技术文件 LS-PMS酒店门锁管理系统 集成发卡接口说明书 Hotel Locks Management System PMS Integrate Keycards Encode SDK User Guide 版本号:2.0

目录 1目的和范围 (4) 2系统组成 (4) Windows API接口与TCP/IP接口. (4) 系统结构 (4) 3Windows API接口 (4) 接口特点以及接口使用条件 (4) Windows API接口文件说明 (5) Windows API接口函数库说明 (5) 4Windows API接口函数说明 (5) Init –接口初始化 (5) IssueCard –发行客人卡 (6) ReadCard –读取客人卡 (7) CancelCard –注销客人卡 (7) Windows API接口示例使用说明 (8) 5Windows API接口返回值说明 (11) 6. TCP/IP接口 (11) 6.1 接口特点以及接口使用条件 (11) 6.2 TCP/IP接口文件如下表: (11) 7 TCP/IP数据通讯协议 (12) 7.2 信息格式 (12) 7.3 命令详解 (14)

前言 本说明书由深圳市同创新佳科技有限公司提出。 本说明书主要起草单位:深圳市同创新佳科技有限公司技术部。本说明书主要起草人:颜炜东、凌彬。 本说明书于2009年3月25日首次制定。

LS-PMS 酒店门锁管理系统集成发卡接口说明书 Hotel Locks Management System PMS Integration Keycards Encode SDK User Guide 1 目的和范围 该接口主要为酒店管理软件与我公司的读写卡设备提供标准的接口,以便酒店管理软件可以通过该接口对我公司设备进行操作。 2 系统组成 Windows API 接口与TCP/IP 接口. 系统结构 Windows API 接口系统结构: TCP/IP 接口系统结构:: 3 Windows API 接口 接口特点以及接口使用条件 该接口具有单机与网络2种接口,其特点是不管是单机还是网络接口,每个接口都必须安装一台发卡机,只能在安装了发卡机的电脑上调用ICDLL 动态库完成制卡操作。 正常使用该接口必须满足如下要求: 3.1.1首先安装 创佳门锁公司提供的门锁软件,正常运行软件,发行各种设置卡(包括:授权卡、时钟卡、房号卡),使用设置卡完成门锁设置(如果有多台电脑发卡,则每台电脑都必须安装我们门锁软件并注册,然后用主电脑上的授权卡恢复授权,详细操作请参考门锁设置说明)。 3.1.2使用前先调用初始化函数初始化软件使用环境即调用init 函数 3.1.3使用windows98/2000/XP 操作系统. 3.1.4 动态库ICDLL.dll

省系统接口说明范文

附件1: 市级系统接口参考页面 1 说明 本文档是关于……,要求……。已达到……目的。 2 参考页面 第一步 客户端首先要设置web service的连接地址、用户名和密码三项。远程地址固定为:http://124.133.54.21/services/DataService。用户名和密码为省总队分配。 参考界面如下: 帐号:3702-00-01 密码:

第二步 企业填报自己月报数据然后提交。 第三步 市级用户审核企业提交的月报数据。 第四步 市级进入提交审核页面。审核通过的企业将在“企业列表”中显示。将企业选择进“已选企业”。然后点击“上传至省平台”按钮。操作完成。 参考界面如下:

附件2: 山东省节能信息系统数据导入接口协议 1 简介 本协议用于山东省节能信息系统与通过API接入山东省节能信息系统的客户端的数据传输通讯。两者的数据传输通讯采用TCP协议、短连接方式,山东省节能信息系统为服务器方。 缩略语清单: client :所有通过Web Service接口接入山东省节能信息系统的客户端2 Web Service接口说明 2.1 山东省节能信息系统Web Service地址 WSDL:http://124.133.54.21/services/DataService?wsdl

地址:http://124.133.54.21/services/DataService 2.2 接口说明 2.2.1 i mportYearReportData方法 public String importYearReportData( String loginName, String loginPwd, String cityCode, int year, String reportData) 方法说明: 从各地市系统上传本市已经审核确认的企业年报数据到省系统,如果省系统中企业当年年报数据还未上传过,则添加年报数据,如果年报数据已经上传过,则更新已上传年报数据。 返回值定义:第一行为错误代码,其他行为调用失败时的详细错误信息 ok:数据导入成功 invalidate-city:错误的地市编码 invalidate-date:错误的年份 invalidate-user:访问用户不可用 not-allow-op:用户没有操作权限 illegal-report-data:不合法的报表数据格式 error-report-style:错误的报表样式 error-verify-relations:错误的校验关系 2.2.2 i mportMonthReportData方法 public String importMonthReportData( String loginName, String loginPwd,

软件系统之间的接口方式

软件系统之间的接口方式 ?概述 软件接口是实现一个系统跟另外系统进行信息交互的桥梁,在不同的系统之间,根据系统的关联程度的不同存在紧耦合和松耦合两种:紧耦合要求接口响应反应快,消息不能阻塞;松耦合对响应反应要求比较低。在目前应用中, Socket 、消息队列(Message Queue)、 WebService等都有相应的应用,但是应用中发现各通讯方式有自己固有的特征,“适合的才是最好的”,这是真理。 在接口和系统信息交互的过程中,两种模式使用得很普遍:同步调用和异步调用,同步调用要求接口发出请求消息后必须等待服务端系统的应答消息,接口阻塞直至超时;异步调用则发出请求消息后,接口可以从事其它处理,定时轮询服务端应答消息和消息或事件通知。同步方式简单,但是很容易造成接口阻塞,造成消息积压超时。 ?技术实现 ? Socket 通讯 Socket 通讯相对来说是很古老的通讯方式,也是最常用的通讯方式。 Socket 通讯有阻塞和非阻塞两种方式。在同步方式,采用阻塞编程比较简单,但是为了防止接口阻塞,我们需要设置 Socket 超时,因此可以使用 Socket 的 SELECT 模型(参考如下示例代码): ReceLen=0; CurReceLen=0; for(;;) { iResult=select(0,&fdread,NULL,NULL,&timeout);

if(iResult==0) { AfxMessageBox("接收应答消息超时!!!",MB_OK|MB_ICONERROR); closesocket(Socket); return FALSE; } CurReceLen = recv(Socket, oBuf+ReceLen, len, NO_FLAG_SET); if((CurReceLen>0) && (CurReceLen != SOCKET_ERROR)) { oBuf[ReceLen+CurReceLen]='\0'; memcpy((char *)&MsgLen,oBuf,sizeof(WORD32)); MsgLen=ntohl(MsgLen); if(ReceLen+CurReceLen==MsgLen) { ReceLen+=CurReceLen; break; } ReceLen+=CurReceLen; }

信息系统接口规格说明书-sse

上海证券交易所技术文档 上海证券交易所 新一代交易系统 托管银行(含基金公司)系统接口规格说明书 2016版 上海证券交易所 二○一六年一月

2016年1月对本文档进行了修订。主要修订内容为: (一)盘后文件数据包添加ZQY及IPOGH。 为便于管理和分发,2009年12月对本文档进行了修订。主要修订内容为:(一)文字推敲; (二)格式统一;

1托管银行(含基金公司)接口物理架构 (1) 2托管银行盘后数据文件 (2) 3基金公司盘后数据文件 (3) 4托管银行及基金公司数据文件解密工具 (4) 4.1数据文件解密工具功能 (5) 4.2解密使用示例 (6) 4.3重要提示(FAQ) (6)

1托管银行(含基金公司)接口物理架构

1 上海证券交易所通过单向卫星系统在盘后发送基金公司及托管银行数据文件。如图1,来自核心交易系统、大宗交易系统及固定收益平台的盘后数据文件经过打包加密后,通过单向卫星系统发送到托管银行与基金公司的卫星接收小站。托管银行与基金公司收到此文件后,运行上海证券交易所提供的解密程序,输入预设密码解密并解包出所需数据文件,进行后续处理。 托管银行(基金公司) 上海证券交易所单向卫星发送服务器 核心交易系统大宗交易系统卫星接收小站 固定收益平台 图1 托管银行(含基金公司)接口物理架构 交易过户数据(ghXXXXX.dbf ) 固定收益成交(bjYYYY.dbf ) 打包数据(YYYY.zip )加密数据(YYYY.sse ) encryptfile 加密卫星发送 加密数据(YYYY.sse ) 打包数据(YYYY.zip )encryptfile 解密大宗过户数据(dghXXXXX.dbf ) zip 打包 固定收益成交数据仅 限托管银行 图2 托管银行(含基金公司)接口数据流图 2 托管银行盘后数据文件

接口设计说明(IDD)

接口设计说明(IDD) 说明: 1.《接口设计说明》(IDD)描述了一个或多个系统或子系统、硬件配置项HWCI、计算机软件配置项CSCI、手工操作或其他系统部件的接口特性。一个IDD可以说明任何数量的接口。 2.IDD可用于补充《系统/子系统设计(结构设计)说明》(SSDD)、《软件(结构)设计说明》(SDD)和《数据库(顶层)设计说明》(DBDD)。IDD及其相伴的《接口需求规格说明》(IRS)用于沟通和控制接口的设计决策。 接口设计说明的正文的格式如下: 1引言 本章应分以下几条。 1.1标识 本条应包含本文档适用的系统、接口实体和接口的完整标识,(若适用)包括标识号、标题、缩略词语、版本号、发行号。 1.2系统概述 本条应简述本文档适用的系统和软件的用途。它应描述系统与软件的一般性质;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;并列出其他有关文档。 1.3文档概述 本条应概括本文档的用途与内容,并描述与其使用有关的保密性或私密性要求。 1.4基线 说明编写本系统设计说明书所依据的设计基线。

2引用文件 本章应列出本文档引用的所有文档的编号、标题、修订版本和日期。本章也应标识不能通过正常的供货渠道获得的所有文档的来源。 3接口设计 本章应分条描述一个或多个系统、子系统、配置项、手工操作和其他系统部件的接口特性。如果设计的部分或全部依赖于系统状态或方式,则应指出这种依赖性。如果设计信息在多条中出现,则可只描述一次,而在其他条加以引用。如果此信息的部分或全部在别处提供,则此处可以引用。应给出或引用为了理解设计所需的设计约定。 3.1接口标识和接口图 对于1.1中所标识的每个接口,本条应陈述赋予该接口的项目唯一标识符,(若适用)并用名字、编号、版本和文档引用等标识接口实体(系统、配置项、用户等)。该标识应说明哪些实体具有固定的接口特性(因而要对这些接口实体强加接口需求),哪些实体正被开发或修改(从而已将接口需求施加于它们)。(若适用)可用一个或多个接口图来描述这些接口。 3.x(接口的项目唯一标识符) 本条(从3.2开始编号)应通过项目唯一标识符标识接口,应简要标识接口实体,并且应根据需要划分为几条描述接口实体的单方或双方的接口特性。如果一给定的接口实体本文没有提及(例如,一个外部系统),但是其接口特性需要在本文描述的接口实体时提到,则这些特性应以假设、或“当[未提到实体]这样做时,[被提到的实体]将……”的形式描述。本条可引用其他文档(例如数据字典、协议标准、用户接口标准)代替本条的描述信息。(若适用)本设计说明应包括以下内容,它们可按适合于要提供的信息的任何次序给出,并且应从接口实体角度指出这些特性之间的区别(例如数据元素的大小、频率或其他特性的不同期望)。 a.接口实体分配给接口的优先级别; b.要实现的接口的类型(如:实时数据传送、数据的存储和检索等);

xxx系统数据对接接口说明-设计

XXXXXX管理系统 数据接口说明 版本:1.0 修改时间:2014年11月 定稿时间:*年*月

目录 目录 (2) 一、主要内容 (2) 二、流程文件及风险点数据接口 (2) (1)流程文件及风险点概念说明 (2) (2)使用过程说明 (3) (3)接口说明 (3) 2.3.1. 接口概述 (3) 2.3.2. 接口调用方式 (4) 2.3.3. 接口文件概述 (5) 一、主要内容 门户对外提供如下接口: XXXXXX系统流程文件及风险点数据接口 二、流程文件及风险点数据接口 (1)流程文件及风险点概念说明 流程文件

?指包含业务流程的制度文件 ?一个业务流程可对应多个子流程,子流程即为流程文件所包含 的各个业务流程图 ?一个子流程一定被包含在某个业务流程关系的节点 风险点 ?指流程文件中的子流程在某个环节可能涉及到的风险 ?一个业务流程文件可对应多个子流程,一个子流程可以对应多 个业务环节,一个业务环节可对应多个风险点 (2)使用过程说明 使用过程如下: ?外部系统开发者和XX系统管理员协商,确定外部系统的IP 地址及权限协议等(XX系统提供的是FTP文件传输协议提 供数据) ?外部系统想要获取文件必输建立与XX系统连接的FTP协议 通道 ?外部系统获取的文件为完整的XML文件,通过FTP下载到 本地后解析能获取完整的数据 (3)接口说明 2.3.1.接口概述 由于XX系统中已入库的流程文件及风险点不允许二次修改,所

以不提供修改增量数据,但提供废止、删除增量数据。数据接口如下: ?导出完整的流程文件及风险点数据 外部系统可以通过XX接口获得一整套全量数据,从而建立 起本系统所需要的流程文件及风险点,而无须从零开始建 立。 ?导出废止流程文件增量数据 外部系统还可以通过XX接口获得这些流程文件的最新状 态,是否已被废止。使得外部系统可以方便地和XX数据保 持一致。 ?导出删除流程文件增量数据 外部系统还可以通过XX接口获得这些流程文件的最新状 态,是否已被删除。使得外部系统可以方便地和XX数据保 持一致。 2.3.2.接口调用方式 数据导出接口是以FTP方式提供的,需要通过FTP协议向XX系统发送请求,服务器地址是:http://服务器域名/CMS/$DATE/cmpfile.xml URL解释: http://服务器域名/cms:XX系统的访问地址 $DATE:XX系统建立的当天的文件夹,通过日期文件夹管理数据,避免数据重复以及提供了完整的历史记录

爱迪尔门锁系统接口函数(SDK)说明

爱迪尔门锁系统接口函数(SDK)说明 (动态联接库函数说明) 适用门锁接口:Lock3200.DLL,Lock3200K.DLL,Lock4200.DLL,Lock4200D.DLL,Lock5200.DLL,Lock6200.DLL,Lock7200.DLL,Lock7200D.DLL,Lock9200.DLL,Lock9200T.DLL。 适用门锁系统:V5.1及以上,V6.5以下版本。 一、门锁函数(必须已经安装并设置好门锁系统) 1、Init 初始化。函数原形: int Init(char *server, int port, int Encoder, int TMEncoder); 参数: server [in]:字符指针,指定门锁系统数据库安装的服务器(SQL Server)名。 Port [in]:串口号,1-COM1,2-COM2,3-COM3,4-COM4依次类推。 Encoder [in]:发行机类型,0-手动发行机,1-自动发行机。 TMEncoder [in]:TM发行机类型,1-DS9097E,5-DS9097U 返回值:见注1。 2、EndSession 结束工作期。函数原形: int EndSession(void); 参数:无 返回值:见注1。 3、IssueCard 发行客人卡。函数原形: int IssueCard(char *room,char *gate,char *stime,char *guestname,char *guestid, int overflag, long *cardno,char * track1,char * track2); 参数: room [in]:房号,6字节字符串,必须是门锁系统设置的房号。 gate [in]:公共通道,字符串参数,“00”表示按默认授权通道,“99”表示授权所有公共通道,其他为指定通道代码。例如:“010203”表示授权01、02、03三个通道。 Stime [in]:起止时间,24字节字符串,格式yyyymmddhhnnyyyymmddhhnn,例如:“200012311230200101011230”表示2000年12月31日12时30分到2001年1月1日12时30分。Lock9200:起止时间不能在同一天内,且不能超过1个月。 Guestname [in]:客人姓名,最大30字节,可以为NULL。 Guestid [in]:客人ID,最大30字节,可以为NULL。 Overfla [in]:整形,是否覆盖当前卡上的内容。1-覆盖,当前卡不是新卡则自动注销(必须是客人卡)。0-不覆盖,不是新卡则返回。磁卡(手动发行机)忽略此参数,直接覆盖,不自动注销。 Cardno [out]:长整形指针,接收卡号(发卡后分配的唯一卡代码)。可以为NULL。 track1 [in]:字符串指针,磁卡第1轨数据,如不写此轨可为NULL。 track2 [in]:字符串指针,磁卡第2轨数据,如不写此轨可为NULL。 返回值:见注1。 4、ReadCard

系统接口培训文档全解

版本 泛微软件有限公司 中国上海浦东软件园陆家嘴分园峨山路91弄101号3层 邮政编码:200127 电话:+86 21 50942228 传真:+86 21 50942278

目录 版本 (1) 第一部分数据源配置............................................................................. 错误!未定义书签。 一. 接口说明..................................................................................... 错误!未定义书签。 二. 实现方法&步骤.......................................................................... 错误!未定义书签。 1.配置数据源文件datasource.xml(该文件位于e-cology的WEB-INF/service/ 目录下) ........................................................................................... 错误!未定义书签。 2.属性说明................................................................................. 错误!未定义书签。 3.在5.0及以上版本可以直接在进行可视化的配置 ............. 错误!未定义书签。 4.可视化配置属性说明............................................................. 错误!未定义书签。 5.如何引用该数据源................................................................. 错误!未定义书签。第二部分自定义定时器......................................................................... 错误!未定义书签。 一. 接口说明..................................................................................... 错误!未定义书签。 二. 实现方法&步骤.......................................................................... 错误!未定义书签。 1.配置调度文件schedule.xml(该文件位于e-cology的WEB-INF/service/目录下) 错误!未定义书签。 2.属性说明................................................................................. 错误!未定义书签。 3.在5.0及以上版本对于CronJob可以直接在进行可视化的配置错误!未定义 书签。 4.可视化配置属性说明............................................................. 错误!未定义书签。 5.如何实现任务执行的操作..................................................... 错误!未定义书签。 6.CronExpr表达式................................................................... 错误!未定义书签。第三部分流程流转过程中和异构系统数据交互(action) .............. 错误!未定义书签。 一. 接口说明..................................................................................... 错误!未定义书签。 二. 应用效果..................................................................................... 错误!未定义书签。 三. 实现方法&步骤.......................................................................... 错误!未定义书签。 1.xml文件配置 ......................................................................... 错误!未定义书签。 2.属性说明................................................................................. 错误!未定义书签。 3.在5.0及以上版本可以直接在进行可视化的配置 ............. 错误!未定义书签。 4.可视化配置属性说明............................................................. 错误!未定义书签。 5.Action接口代码编写............................................................. 错误!未定义书签。 6.流程节点附加操作接口调用................................................. 错误!未定义书签。 7.控制action不往下流转 ........................................................ 错误!未定义书签。第四部分获取异构系统数据至流程字段(自定义浏览框) .................. 错误!未定义书签。 一. 接口说明..................................................................................... 错误!未定义书签。 二. 应用效果..................................................................................... 错误!未定义书签。 三. 实现方法&步骤.......................................................................... 错误!未定义书签。 1.配置接口文件......................................................................... 错误!未定义书签。 2.属性说明................................................................................. 错误!未定义书签。 3.在5.0及以上版本可以直接在进行可视化的配置 ............. 错误!未定义书签。

HIS系统接口的说明3.0.

四川省新型农村合作医疗信息系统医院信息系统 (HIS接口规范 版本号 :3.0 四川省卫生信息中心发布 2013年 5月 15日 目录 第一部分接口介 绍 . ...................................................................................................................... 5第二部分新型农村合作信息系统接口中的住院接口功能介绍 ................................................. 6接口住院工作流程 图 . .............................................................................................................. 6类 (函数的返回值或传入值标准 .. (7) 1、 public class FalseOrTrue (7) 2、 public class AccreditCode (7) 3、 public class RevertHospitalID . (7) 4、 public class IsPatientClass (8) 5、 public class InfosP (8)

6、 public class PersonInfo (9) 7、 public class InfosU . (10) 8、 public class Users . (10) 9、 public class InfosM ................................................................................................... 11 10、 public class Med . ..................................................................................................... 11 11、public class InfosSW ............................................................................................... 13 12、public class SW ....................................................................................................... 13 13、public class InfosI ................................................................................................... 14 14、public class Items .................................................................................................... 14 15、public class ValidateInfoClass . .. (16) 16、 public class QDInfoClass (16) 17、 public class QDReturn1 (17) 18、 public class QDReturn2 (17) 19、 public class QDError . .............................................................................................. 18 20、 public class ToCode ................................................................................................ 18 21、 public class QueryPatientQD .................................................................................. 19 22、 public class QDInfo................................................................................................. 19 23、 public class QueryHospitalBC ................................................................................ 20 24、 public class BCInfo0 ............................................................................................... 21 25、 public class BCInfo1 ............................................................................................... 22 26、 public class InfosI1 ................................................................................................. 23 27、 public class InfosM1 ............................................................................................... 24 28、 public class

相关文档
相关文档 最新文档