2011-03-11 104 views
2

我正在寻找关于如何最好地处理我需要开发的新项目的建议。从一开始我必须补充一点,我没有任何级别的Web开发经验。REST服务器,Delphi和Web服务 - 需要的建议

我需要做的是通过将服务器后端通信的浏览器提供了一个Web界面。检索到的数据将来自数据库或其他来源 - 服务器本身将通过IP与之通信的外部设备。从外部设备检索到的数据将始终为长度为n的字符串格式(非Unicode),并且DB数据将主要是字符串和数字,并带有奇数blob(存储图片)。通信将始终从客户端(网络浏览器)到服务器。我不相信服务器需要煽动通信。

我有Delphi XE,所以开始考虑使用REST服务器进行通信,我认为这似乎是确定的。但是,从我所看到的情况来看,我需要创建HTML网页来在Web浏览器上“呈现”数据。真的吗?我可以将IW组件与REST服务器一起使用吗?如果是这样,我不知道如何从浏览器UI获取数据。我更喜欢研究Ruby on Rails吗?从我在这里看到的另一个线索看,它是基于MVC和其他一些我认为是设计明智的领域适合我如何创建应用程序(我计划基于MVP或类似的设计模式创建应用程序)。

我认为REST最有意义,所以如果IW组件不能使用,是否有任何第三方产品可以使用,这将允许我设计“漂亮”的UI html。鉴于我不知道Java脚本,这是否也是REST的绊脚石。

谢谢,希望我已经提供了足够的信息。

感谢

杰森

回答

1

将一个人负责输入从外部设备检索到网页的数据?

如果是这样,并且您没有Web开发经验,Intraweb绝对是德尔福程序员希望在不学习新技能的情况下构建Web应用程序的途径。对于创建更漂亮UI的其他组件,我建议使用TMS Software's Intraweb Component Pack Pro

如果您不需要人手动输入这个数据,那么你不需要的IntraWeb的。相反,您会编写一个客户端应用程序,它可能会询问您的外部设备的数据,然后将其传输到REST服务器。看看你用来构建REST服务器的文档,它应该有一个关于如何构建REST客户端的章节。

+0

是的。将会有人类需要互动。不是很多,但是来自客户端的所有请求都将被用户有效地实例化。例如,他们会点击一个按钮,说“获取详细信息”或类似的东西。 我已经下载了TMS包,并开始有一个外观,但不知道如何 - 在我的重置服务器应用程序 - 我如何创建使用这些组件的HTML页面。尽管我猜测我创建了“TMS Intraweb”表单或其他东西,但我没有机会创建这些表单。与标准Intraweb组件相同。是对的吗? 谢谢 – Jason 2011-03-13 22:23:38

1

你可以用delphi构建一个ISAPI模块来完成这项工作,或者直接在你的Indy,ICS或Synapse中包含一个HTTP服务器。

ISAPI会给你自由选择Apache或IIS,给你所有的力量如此。嵌入式HTTP服务器会给你一个很好的小应用程序,在这个应用程序中你可以控制它的工作原理。

是的,去REST,因为它很简单,干净。您所需要的只是思考和设计API(您的服务器将支持的功能)。您可以使用REST原则将API绑定到URL模式。我会这样做。

  1. 客户发出请求。您展示了某种形式的GUI(加载或呈现可能具有javascript的HTML页面)
  2. 用户做出一个操作,您调用适当的API(或者用户直接执行)。
  3. 显示用户的一些结果
  4. 通过一系列API调用的只是引导用户进程,直至结果由

您可以使用纯HTML,然后根据需要添加JavaScript(jquery),也可以使用Sencha的ExtJS,这使得建立一个很好的图形用户界面变得更容易,结构也非常好。

我不会使用任何“所见即所得”的网络工具。我最喜欢的编辑器写的简单的旧HTML仍然是我的观点。

+0

是的。你的过程就是我想要做的。这是我努力的第一步。特别是“...某种形式的GUI ......”。我可能会混淆我的方式通过Java脚本来调用其余的服务器API。 我想能够嵌入或添加一个窗体或东西到m REST服务器应用程序,但是当我去新|其他我没有得到这个应用程序类型的选项。 谢谢 – Jason 2011-03-13 22:29:12

+0

正如我所说,我更喜欢纯HTML,但正如你所说,你没有网页设计经验。如果你有时间,我建议你深入研究并尽量学习。如果时间是一个问题,那么很可能intraweb将是一个很好的解决方案,即使我不喜欢它:) – Runner 2011-03-15 09:25:43

+0

顺便说一下,简单的网页图形用户界面非常容易构建。对于基本的GUI设计,HTML非常容易学习。 – Runner 2011-03-15 09:26:22