我开发了一个文档管理系统(DMS)作为Delphi客户端服务器应用程序,它使用FILESTREAM功能将文件存储为SQL Server Db中的BLOB字段。
随着软件的更多选择被出售,我接受了将其连接到其他文档管理系统的请求,从最广泛的意义上说“其他DMS意味着”:
1“结构文件夹”) 硬盘中的一些文件夹只能由限制数量的用户访问(想象一个只能从3个用户访问的共享网络文件夹) - 这可能是“存储文档的真实方式”,或者只是每天从另一个系统导出的结果(每天从另一个DMS通过批处理程序提取文件。)
本案例中的foldernaming有一些规则,例如,如果文档与客户或员工相关联,则结构将类似于:
\\Docs\Employees\COdE01\cv.pdf
\\Docs\Customers\CodC02\Invoice.xls
(在本例中,CodEXX代表员工代码XX,Anc CodCXX代表客户案例)
2个webservices)
许多DMS公开(安全)Web服务来访问(读取)/插入/更新/删除文档,这样就可以使我的系统与其他DMS保持同步。
3)其他功能/工具)
其他DMS有工具(如命令行工具与参数或存储函数一起运行)来执行访问/插入/更新/删除
一般来说,双向同步是一个问题,在我的情况下,我对1方式更感兴趣,所以基本上访问存储在其他地方的文档
您可以建议哪些技术可以创建可配置的功能?
答案 0 :(得分:1)
开发自己的API,因此客户端应用程序(无论是由您自己还是其他人编写)都可以使用它来读取/写入系统中的数据。
根据API与假定的客户端功能的匹配程度,选择该API的基础技术。例如,如果预计大多数客户端是远程的并且使用不同的语言,那么Web服务就是一个很好的选择。如果预计大多数客户端都在进程中(如果这对您的系统更有意义)和本机,那么基于C的API可能就是您的选择。介于两者之间......
然后,您将使用“源”和“目标”系统的API来实现集成。