【问题标题】:Python web service for a java application?用于 Java 应用程序的 Python Web 服务?
【发布时间】:2011-07-27 18:35:09
【问题描述】:

如果这是一个愚蠢的问题,请原谅我。我对构建 Web 服务和完整的 Web 应用程序完全陌生。 我想为基于 Java 的 Web 应用程序开发特定功能。但是,使用 Python 开发此功能更简单。那么如果我用 Python 开发这个 Web 服务并将其用于基于 Java 的 Web 应用程序,是否有可能?

【问题讨论】:

  • 是的。这是可能的。但它可能是复杂的、困难的、昂贵的或有风险的。您还有更具体的问题吗?
  • 是的,如果你写了一个Web服务的权利,那么任何语言都应该可以使用它。 SOAP 可以成为你的朋友

标签: java python web-services web-applications


【解决方案1】:

我认为这是可能的。假设您的 webservice 方法返回一个 json 字符串。您可以使用此字符串,在 Java 中转换为 HashMap 并处理数据。

我个人更喜欢cherrypy,以便于创建网络服务。它也有一个内置的服务器。

您可以使用FlexJSON 将json字符串转换为HashMap。反序列化方法将有助于这样做。我就是这样做的。

public Map<String, Object> JsonToMap(String data) {
        Map<String, Object> dataMap;
        dataMap = new JSONDeserializer<Map>().deserialize(data);
        return dataMap;
    }

这里,String data 是你的 python webservice 方法应该返回的 json 字符串。

【讨论】:

    【解决方案2】:

    这取决于你的意思。您的意思是将该服务用作应用程序中的库吗?如果是这样,您可能需要查看Jython 并将其制成插件。

    但是,如果您想将服务作为单独的应用程序运行,则使用 Web 界面从 Java 调用它,那应该没问题。从理论上讲,Web 服务的最终用户(在这种情况下,用户就是您的应用程序)永远不必担心服务是用什么语言编写的;只要保持标准(JSON、XML 等),大多数语言都可以协同工作。

    【讨论】:

      【解决方案3】:

      在框架中开发时,使用框架的语言进行开发通常比使用其他语言进行开发更简单。

      Servlet 是 Web 服务器的组件(也称为 Servlet 容器)。 Servlet 容器和所需的 Servlet API 都是 Java。虽然您可以使用某种 Python 代码编写《科学怪人》,但很有可能集成工作最终会使这种“简单性”变得比您特别希望的复杂得多。

      如果您想要 Python Web 应用程序,请使用 Python Web 框架。如果您需要 Java Web 应用程序,请使用 Java 框架。不要试图使这两个交叉兼容,因为集成点(以及使用/提供的便利)甚至不能保证出现在栅栏的“另一边”。

      【讨论】:

        【解决方案4】:

        java 有很多 web 框架,有些比其他的更好。如需相当全面的参考资料,请考虑咨询http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#Java

        Python 确实是一种相当直观的语言,并且由于它经常用作服务器端脚本语言,因此出现了许多受人尊敬的 Web 框架(如 webpy 和 django)。

        这取决于您要执行的任务。如果您的项目需要 java 小程序,您可以将其嵌入到您使用 python 框架动态组合的网页中。但是,如果您正在寻找 java 和 python 之间的互操作性,您将希望阅读更多有关 Jython(及其局限性)的信息,正如 lacqui 所建议的那样。

        就个人而言,我更喜欢 webpy 而不是 cherrypy,因为它可以快速、轻量级、实用且简单的 web 开发和模板,但是,如果速度是一个主要问题,您可能希望在采用动态类型的解释语言之前考虑这一点。 Python 3 在 JVM 上的平均速度比 Java 6 慢 50 倍左右 (http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=python3&lang2=java)

        有关 java 与 python 比较的更多信息,请查看http://pythonconquerstheuniverse.wordpress.com/category/java-and-python/

        【讨论】:

          猜你喜欢
          • 2010-11-10
          • 2011-03-28
          • 2012-10-03
          • 1970-01-01
          • 1970-01-01
          • 2013-04-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多