我有一个带有firebirdsql后端的客户机/服务器java应用程序。这很痛苦,因为我必须在每个工作站上安装java和客户端,等等。
因此,现在是重写应用程序的时候了,我正在决定使用什么技术。我的优势是php/js/C#
应用程序可以是单用户或多用户(不过,如果可能的话,我不想强迫用户安装完整的多用户数据库服务)
它需要离网工作(它将要使用的一些地方没有互联网接入)。
它将主要部署在windows桌面pc上,并通过ipads/膝上型计算机远程访问。
我希望能够运行整个应用程序的usb键,而不需要安装。
我最初的想法只是一个wamp堆栈,虽然我不确定将它捆绑到一个易于部署的应用程序中有多容易。我还需要有一个后台任务运行“又名cronjob",而且我不知道如何在应用程序内部触发这个任务,除非编写一个windows服务。
我的第二个想法是查看node+database (哪个数据库我不确定,最好是嵌入式的还是独立的)。我在这里看到的好处是,我能够相对轻松地处理"cronjob类型“任务。
我陷入困境的地方在于数据库的选择。我看过sqlite,但司机们看上去并不那么强壮。
所以有三个问题。
例如,我发现WAMP在网络上表现非常糟糕,但在本地主机上飞行,而且我还无法确定问题的所在。
发布于 2013-11-28 15:20:03
听起来,您正在尝试部署现在称为设备的设备。如果是这样的话,为什么不直接创建一个VM并分发它呢?您可以很容易地构建这个文件,这样它就可以在多个管理程序中运行--从可以在桌面上运行的非常跨平台的VirtualBox,到能够插入到企业管理程序(如VMWare和Hyper-V ),这样它就可以扩展到大多数环境。
从开发的角度来看,它大大减轻了您的痛苦--节点并不完全是跨平台设置的简单方法,因为您正在定义平台和平台的配置--这不再是一个问题。这也意味着您可以创建一个更传统的数据库源,而不是必须找到能够跨平台工作的东西,因为不管数据库是什么,它都会被嵌入。
从离线的角度来看,您可以在VM上向客户发送所有必要的材料--虚拟机管理程序和带有代码/数据的机器都可以使用相同的usb接口。
最后,这使得对特定客户端的定制变得容易--只需根据需要定制客户机X和客户端Y VM即可。
要了解如何使用虚拟设备,请查看交钥匙linux;它们还有一个交钥匙芯框,它是进行更改的很好的基础。
https://softwareengineering.stackexchange.com/questions/219736
复制相似问题