Restful web service是一种轻量级的HTTP协议应用方式,它以资源为中心,通过HTTP方法(GET、POST、PUT、DELETE等)来操作和管理这些资源。在这个“C++基于Restful web service ATM银行取款系统”中,开发者利用了这种服务架构来实现远程银行交易功能,使得客户端可以方便地与服务器进行交互,处理ATM相关的业务。
让我们深入理解Restful服务的核心概念。REST(Representational State Transfer,表述性状态转移)强调的是客户端和服务器之间的松耦合。在ATM系统中,每个资源(如用户账户、交易记录)都有一个唯一的URI(Uniform Resource Identifier),客户端通过发送HTTP请求到这些URI来获取或修改资源的状态。例如,GET请求用于查询账户余额,POST请求用于存款,PUT请求用于取款,而DELETE请求可能用于撤销交易。
MFC(Microsoft Foundation Classes)是微软提供的一套C++类库,用于构建Windows应用程序,包括GUI界面。在这个ATM系统中,MFC被用来创建用户友好的图形界面,模拟真实的ATM机操作流程,如插入银行卡、输入密码、选择操作等。用户可以通过这个界面与Restful服务交互,执行各种银行交易。
"实时视频播放和交易抓图"的功能,意味着该ATM系统还集成了多媒体技术,以增强用户体验和安全性。实时视频播放可能是为了验证用户身份,比如通过摄像头捕捉用户面部进行人脸识别。而交易抓图则可能是为了记录交易过程,以防欺诈行为,用户可以在交易完成后获取截图作为交易凭证。
在提供的文件列表中,"Design.docx"可能是系统的设计文档,详细阐述了系统的架构、功能模块以及各个组件的交互方式。"ReadMe.txt"通常包含项目的简要说明、安装指南或使用注意事项。"Demo"可能是系统演示或示例代码,让用户了解系统如何运作。"Source"则是源代码文件,包含了整个系统的实现细节,包括如何集成Restful服务、MFC界面编程以及视频和图像处理的代码。
这个项目展示了如何将Restful web service与传统的桌面应用程序(通过MFC实现)相结合,构建一个现代化的、安全的银行ATM系统。通过这种方式,开发者不仅实现了远程服务调用,还增强了系统的交互性和安全性。对于学习C++和网络服务开发的人员来说,这是一个非常有价值的实践案例。
ATM application
Instructions to install and configure pre-requisites
=================================================================================
=========================Client and server config================================
=================================================================================
=========================Client config===========================================
Client side configuration:
1. Make sure that Microsoft SDK is there in Program Files\Microsoft SDKs
The links Microsoft SDKs:
http://www.microsoft.com/download/en/details.aspx?id=8442
There are three versions:
GRMSDK_EN_DVD.iso x86
GRMSDKIAI_EN_DVD.iso Itanium
GRMSDKX_EN_DVD.iso amd cpu
Download the appropriate version according to the configuration of the computer.
2. After finished install Microsoft SDK you should also build directshow
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses
Open baseclasses.sln with Visual Studio And build it.
3. Now Open ATM.sln with Visual Studio, right-click on project and select Propertity,
Then goto Cofiguration Property->VC++ content
Add Include:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\common
C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
Add library:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release
4.goto Link-->input
add dependency library:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug\strmbasd.lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\WinMM.lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release\strmbase.lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\quartz.lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\strmiids.lib
=========================Build Steps===========================================
Build steps:
Open AMT.sln with visual studio 2013
Build -> Build Solution
Watch build output to check whether the build successfully or not
=========================Run Steps===========================================
Run Steps:
Press F5 in Visual studion 2013
=================================================================================
=========================Server config===========================================
=================================================================================
Server side configuration:
1. Make sure that Microsoft SDK is there in Program Files\Microsoft SDKs
The links Microsoft SDKs:
http://www.microsoft.com/download/en/details.aspx?id=8442
There are three versions:
GRMSDK_EN_DVD.iso x86
GRMSDKIAI_EN_DVD.iso Itanium
GRMSDKX_EN_DVD.iso amd cpu
Download the appropriate version according to the configuration of the computer.
VC++ -->Content -->Include
..\packages\cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn.2.9.1\build\native\include\cpprest
Links -Input:
C:\Program Files (x86)\Microsoft SDKs\Cpp REST SDK for Visual Studio 2013\SDK\lib\x86\Release\casablanca120.lib
=========================Build Steps===========================================
Build steps:
Open AMTService.sln with visual studio 2013
Build -> Build Solution
Watch build output to check whether the build successfully or not
=========================Run Steps===========================================
Run Steps:
Press F5 in Visual studion 2013
=================================================================================
=========================Assuming made and missing requirement===================
=================================================================================
1, video play in real-time after login successfully
=================================================================================
=========================Feedback================================================
=================================================================================
Upload catched photo to server