
1、app客户端太大,不利于复用。
如果没有接口,app客户端是可以直接请求数据的,这个是可以做到,但是相当于接口的全部工作在app端写了,这样会造成app端比较大。比如,访问数据库的代码,Android要写,iOS也要写,太不利于复用。高质量代码的标准是可维护、可复用、可扩展、灵活性高。所以,如果有了接口,接口就可以对数据进行封装和业务处理,然后给app端。
2、不利于数据库安全。
接口可以把关安全性。因为客户端在客户手里,可以破解,可以反编译,整个架构下,
整个客户端都是V,数据库直接暴漏出来,别人可以扫描你的数据库端口,很危险。所以一般数据库,外部是不给访问的,你只能通过接口,而接口,会要求你登
录,登录后,根据你的身份。分配身份标记,再决定你能请求多少东西,每次请求都是由接口判断一次是否合法,就是根据SessionString,也可以是
cookie。其实cookie就是SessionString的ID。即使被破解,拿到一个,也是一个用户的数据被盗,其他用户不受影响。
API(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
API函数包含在Windows系统目录下的动态连接库文件中。WindowsAPI是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。这在某种程度上很像Windows的天然代码。而其他的语言只是提供一种能自动而且更容易的访问API的方法。当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体,VB获取这个调用并经过分析后生成一个特定事件。
更易理解来说:Windows系统除了协调应用程序的执行、内存的分配、系统资源的管理外,同时他也是一个很大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个函数)可以帮助应用程序达到开启视窗、描绘图形和使用周边设备等目的,由于这些函数服务的对象是应用程序,所以称之为ApplicationProgrammingInterface,简称API函数。WIN32API也就是32位平台的应用程序编程接口。
凡是在Windows工作环境底下执行的应用程序,都可以调用WindowsAPI。
linuxAPI
在linux中,用户编程接口API遵循了UNIX中最流行的应用编程界面标准---POSIX标准。POSIX标准是由IEEE和ISO/IEC共同开发的标准系统。该标准基于当时现有的UNIX实践和经验,描述了 *** 作系统的系统调用编程接口API,用于保证应用程序可以在源程序一级上在多种 *** 作系统上移植运行。这些系统调用编程接口主要是通过C库(LIBC)来实现的。
2开放平台
基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。
开放是目前的发展趋势,越来越多的产品走向开放。目前的网站不能靠限制用户离开来留住用户,开放的架构反而更增加了用户的粘性。在Web20的浪潮到来之前,开放的API甚至源代码主要体现在桌面应用上,而现在越来越多的Web应用面向开发者开放了API。
具备分享、标准、去中心化、开放、模块化的Web20站点,在为使用者带来价值的同时,更希望通过开放的API来让站点提供的服务拥有更大的用户群和服务访问数量。
站点在推出基于开放API标准的产品和服务后,无需花费力气做大量的市场推广,只要提供的服务或应用出色易用,其他站点就会主动将开放API提供的服务整合到自己的应用之中。同时,这种整合API带来的服务应用,也会激发更多富有创意的应用产生。
为了对外提供统一的API接口,需要对开发者开放资源调用API的站点提供开放统一的API接口环境,来帮助使用者访问站点的功能和资源。
当然,开放API的站点为第三方的开发者提供良好的社区支持也是很有意义的,这有助于吸引更多的技术人员参与到开放的开发平台中,并开发出更为有趣的第三方应用。
视频云技术提供商CC视频开放API接口,用户可以在自己的网站后台轻松完成视频的上传、视频播放控制 *** 作,并可批量获取视频及平台信息。
正如在"什么是API"中所说,API函数包含在位于系统目录下的DLL文件中。你可以自己输入API函数的声明,但VB提供了一种更简单的方法,即使用APITextViewer。要想在你的工程中声明API函数,只需运行APITextViewer,打开Win32apitxt或MDB。如果你已经把它转换成了数据库的话,这样可以加快速度。使用预定义的常量和类型也是同样的方法。API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。
假设你想在你的窗体模块中声明一个函数,粘贴然后运行,VB会告诉你:编译错误Declare语句不允许作为类或对象模块中的Public(公共的)成员。看起来很糟糕,其实你需要做的只是在声明前面添加一个Private(私有的)。不要忘了,可是这将使该函数只在该窗体模块可用。在有些情况下,你会得到"不明确的名称"这样的提示,这是因为函数、常量或其他的什么东西共用了一个名称。由于绝大多数的函数都进行了别名化,亦即意味着你可以通过Alias子句使用其它的而不是他们原有的名称,你只需简单地改变一下函数名称而它仍然可以正常运行。
远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。
标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。
文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。
信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。
当前应用于API的标准包括ANSI标准SQLAPI。另外还有一些应用于其它类型的标准尚在制定之中。API可以应用于所有计算机平台和 *** 作系统。这些API以不同的格式连接数据。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的API还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种API只处理一种信息格式,所以该情形下的信息交付API只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付API方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API类型是比较理想的选择。
API接口属于一种 *** 作系统或程序接口,GUI接口属于一种图形 *** 作系统。两者都属于直接用户接口。有时公司会将API作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等 *** 作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。
客户/服务器的开发工作涉及定义客户/服务器的体系结构 然后再将该结构与其它一些对于客户/服务器的实现至关重要的系统结构和技术集成起来 Delphi 的Client/Sever版支持用户开发客户/服务器结构的应用程序 本章中我们将阐述客户服务器体系结构原理 如何用Delphi构建客户/服务器的环境和Delphi存取远程SQL服务器的编程和注意事项
Delphi客户/服务器应用开发原理
客户/服务器体系结构
体系结构概述
客户/服务器系统的体系结构有以下两个特点
● 是集合智能用户工作站作为有效平台使用
● 平台和软件之间的互 *** 作性
客户/服务器结构包括连接在一个网络中的多台计算机 那些处理应用程序 请求另一计算机的服务的计算机称为客户机(Client) 而处理数据库的计算机称为服务器(Server) 所有用户都拥有他们自己的计算机来处理应用程序
客户机计算机可以是大型机 小型机或微机 但是由于微机具有成本的优势 因而通常选择它们作为客户机 同样地 服务器通常是一台微机但在需要较大能力时 也可以使用一台大型机或小型机 在数据库环境下 通过若干称作中间件(Middleware)的程序设计接口 客户机可以与服务器通信 这些接口提供应用程序和数据库之间的连通性
客户/服务器结构也可以包括多个服务器 然而在这种情况下 每个服务器必定只处理一个不同的数据库或提供一个唯一的服务 (注意 使用两上或多个服务器来处理同一个数据库的结构不认为是客户/服务器系统 相反它是一个分布式数据库系统〕
表 归纳了计算机在客户/服务器系统中的既定作用
表 客户机和服务器计算机的作用
━━━━━━━━━━━━━━━━━━━━━━━━━━━
客户机功能 服务器功能
───────────────────────────
管理用户接口 从客户机接受数据库请求
从用户接受数据 处理数据库请求
处理应用逻辑 格式化结果并传送给客户机
产生数据库请求 执行完整性检查
向服务器发送数据库请求 提供并行访问控制
从服务器接收结果 执行恢复
格式化结果 优化查询和更新处理
━━━━━━━━━━━━━━━━━━━━━━━━━━━
客户机概述
如上所述 客户机运行那些使用户能阐明其服务请求的程序 并将这些请求传送到服务器 由客户机执行的计算称为前端处理(front end processing) 前端处理具有所有与提供 *** 作和显示数据相关的功能
客户机软件由网络接口软件 支持用户需求的应用程序以及实现网络能力的实用程序例如电子邮件(E Mail)和群件(Groupware)组成 网络接口软件提供各种数据传输服务 应用程序软件执行具体的任务 如字处理 电子表格和数据库查询生成 实用程序软件通常执行几乎所有网络用户都要求的标准任务
服务器概述
在服务器上执行的计算称为后端处理(back end processing) 后端硬件(back end hardware)是一台管理数据资源并执行数据库引擎功能(如存储 *** 作和保护数据)的计算机 在大型机环境下 后端网络(back end neork)提供大型计算机至大容量存储设备 控制器以及文件服务器的连接 在识别 评价和选择适当的服务器平台时 必须考虑将由该平台提供的服务 例如 一个数据库服务器可能需要快速处理能力 其他可能需要执行的网络服务有通信 应用程序 文件访问以及只读存储器(CD ROM)服务 随着新的应用技术的广泛使用 可被提供的潜在服务还将继续增加
服务器软件既包括遵循于OSI或其它网络结构的网络软件 又包括由该服务器提供给网络上客户机的应用程序或服务软件
中间件概述
中间件是一个软件层 它保护应用程序开发人员避免受到各种通信协议 *** 作系统以及数据库管理系统的影响 它为建立可与以前沿袭下来的应用程序并存的新应用程序打下了基础
中间件有好几种类型 它们包括应用程序设计接口(API) 远程过程调用(RPC) 网络通信 数据库访问以及计算机辅助软件工程(CASE)工具
由于客户/服务器系统需要集成各种不同结构的机器和技术 因而应用程序设计相当复杂 选择适当的中间件可以消除程序设计人员为每个单独协议和 *** 作系统编写代码的麻烦
lishixinzhi/Article/program/Delphi/201311/25137
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)