我的工作有一个内部数据库。目前我们正在使用excel导入数据,但是这很容易出错,所以我想用一些基于javascript的应用程序来代替它,它在下拉菜单中公开了一些查找表中的数据,供我们的客户在公共网站上填写。
因此,我的内部数据库生活在一个不能被公众查看的内部服务器上。
我应该如何构建一个与内部数据库通信并且只公开某些表的应用程序?
是一些类似Django的中间件,它不是使用SQL数据库,而是使用其他一些获取查找值的方法(我在主数据库上设置了REST接口)。
(为了澄清,我正在寻找一种服务器端技术,可以安装在面向公共的服务器上,可以与内部服务器进行通信)。
发布于 2013-04-19 14:00:03
由于您已经设置了一个REST接口来访问您的数据,所以我会考虑使用Javascript、jQuery和主干网来创建一个浏览器客户机来与数据交互。脊骨非常容易休息,所以你应该会发现它是非常直接的使用.如果您采用类似于此的方法,则需要确保您的REST I/F对您的客户是可访问的。如果您的REST I/F是DB的一部分,那么我会非常担心直接将它暴露给“世界”。如果您的REST I/F是一种不同的中间件,则可能会在保持安全的同时暴露出来。当您探索主干时,您可能还会看到骨干关系,它提供了一种将不同模型关联在一起的好方法(如果您有一组复杂的表/数据)。您还可以考虑将木偶与主干一起使用,这为开箱即用的骨干网设置提供了一些很好的帮助和组织(默认情况下,骨干网让我们做出一系列决策,这意味着编写更多的代码-- Marionette为您做了很多这样的决策,这意味着编写的代码更少)。
另一种方法是使用更标准的非AJAX-ish,非REST-ish.更传统的"web应用程序“方法:您可以使用Rails、Java或PHP等,以及他们的许多框架来构建一个web应用程序来提供对数据的访问。根据您的方法,您将为approach编写代码,该应用程序服务器将创建提供给浏览器的HTML,并且可能没有多少Javascript (尽管这仍然是一个选项),但是服务器端的代码要多得多。
这些都是取舍,你必须根据你的经验和项目的细节来决定。另外,请注意主干和Marionette是新技术,所以您可能会发现更少的文档和有用的网站,但您也可能会发现更多的人对该项目感到兴奋,因为他们接触了这些技术。因为您已经有了REST,所以我可能倾向于采用主干类型的方法。显然,所有这些都只是我基于我使用这些技术的经验得出的观点。当然,您还可以考虑其他方法和技术。
发布于 2013-04-20 00:34:40
你的公共网站有自己的数据库吗?
如果是这样的话,您可以使用特定表的复制 (从内部工作数据库到公共数据库)来实现这一点。
如果需要将数据返回到工作数据库,可以使用循环复制,但这听起来只是为了演示。
这将是解决问题的更安全的方法,因为您只需处理服务器之间的一个永久安全连接。
https://softwareengineering.stackexchange.com/questions/195483
复制相似问题