本人所在的公司(一个创业型的网络公司),主要的系统都是在java平坦上开发的。不过坦率的说用Java开发网站,不如脚本语言Python,php等用起来方便、直接。我们新的系统主要是社区这一块,决定使用python开发,使用django。这样就带来了python和原来的java系统结合的问题。
比如原来的已有的积分结算系统,里面有很多关于结算的logic,我不想在python这边再实现一遍,不仅是重复的劳动,而且又要测试一遍,是否和原来的一致,更可怕的是当结算逻辑更改的时候,要维护两份代码!!!
首先想到的方案是让django跑在Jython上,在网上看到已经有人这样做了,不过貌似很麻烦,还有很多未解决的bug。
这样遇到了困难,转而想通过python和java通讯的方式,通过socket?这样还要自己做一套java object和python object转化的程序,麻烦,没把握能否达到想要的效果。在google上搜了一把,有很多java和python通讯的东东,不过好像没有适合我需要的。突然想起学习spring的时候,提供web service的机制中有个叫hessian的方案,基于http的二进制协议,貌似速度快,而且简单好用。hessian也提供python client访问代码。貌似可行。
那么现在要做就是把原来的代码按web service的方式,封装成一个个hessian service。比如积分结算的service。然后在django的views.py中通过hessian调用这个service就可以了。
虽然http调用会带来一定的开销,不过用hessian的话应该开销不大。大家觉得怎么样,现在的方案是python+hessian+java?
分享到:
相关推荐
例如,可以将现有的Matlab代码和Python脚本在Java平台上重用,通过混合编程的方式,结合各语言的特长,共同完成复杂的气象数据处理任务。 在具体实现中,Java作为核心语言构建的系统,可以嵌入其他语言的代码库,而...
- **详细内容**:文章回顾了从机器语言到汇编语言,再到高级语言(如C/C++、Java和Python等)的历史变迁,并分析了每种语言的特点及其应用场景。这对于理解Python在当前技术生态中的地位具有重要参考价值。 #### ...
与其他高级编程语言如C、C++和Java等相比,Python在数据的表示、处理和可视化方面都有绝对的优势。有编程基础的学习者在学习Python时最好能忘掉以往程序设计语言的语法,彻底转变观念,以全新的姿态融入到Python的...
与其他高级编程语言如C、C++和Java等相比,Python在数据的表示、处理和可视化方面都有绝对的优势。有编程基础的学习者在学习Python时最好能忘掉以往程序设计语言的语法,彻底转变观念,以全新的姿态融入到Python的...
通过以上知识点的梳理,可以全面地了解Java结合Selenium进行UI自动化测试的重要性和所需掌握的核心概念。对于希望从事自动化测试的Java开发人员来说,这些知识点是基础中的基础,能够帮助他们建立自动化测试的整体...
受到新课标的影响,教材的编纂和出版正在适应新的教学要求,导致许多地区的课程内容由基础知识转向了程序设计。在这个过程中,学生需要学习多种编程语言,比如Scratch、Java、Micro:bit、C++等。其中,Scratch适合...
与其他高级编程语言如C、C++和Java等相比,Python在数据的表示、处理和可视化方面都有绝对的优势。有编程基础的学习者在学习Python时最好能忘掉以往程序设计语言的语法,彻底转变观念,以全新的姿态融入到Python的...
通过廖雪峰的Python教程,读者不仅能够系统地掌握Python编程的基本知识和技能,还能了解到如何利用Python解决实际问题的方法和思路。无论是对于编程新手还是有一定基础的学习者来说,这份教程都是非常宝贵的资源。
从所提供的内容中,我们可以得知该文档是一个技术博客,作者基于CodeProject上的一篇老旧文章,结合自己的理解和实践,撰写了关于代码注入技术的文章,特别关注于远程线程注入的技术细节。 本文档主要讨论了以下几...
对于教学中面向对象程序设计课程的改革和创新来说,Python语言的引入提供了一个新的思路。通过选择合适的教学内容、设计合理的教学过程和方法,可以有效提升学生的学习兴趣和效果,最终达成教学目标。 在对Python...
1. **Jupyter Notebook**:虽然Java不像Python那样原生支持Jupyter Notebook,但通过项目如BeakerX,我们可以将Java代码集成到Jupyter环境中,创建交互式的代码单元格,便于测试和演示。 2. **Swing或JavaFX**:...
【基于Python的网页信息爬取技术研究】 网页信息爬取技术是互联网大数据时代的重要工具,它能够自动抓取网页上的信息并进行分析处理...这种跨语言的集成方法,不仅提升了开发效率,也为未来的信息处理提供了新的思路。
- **实现思路**:设计订单模型,记录订单的各项信息,结合支付接口实现在线支付功能。 #### 五、非功能性需求分析 除了基本的功能性需求外,还需考虑以下几点: - **安全性**:确保用户数据安全,防止非法访问和...
本项目将使用Python作为后端开发语言,结合jsp(JavaServer Pages)技术,构建动态网页。数据库方面,选择MySQL存储大量词汇及其释义,确保数据的安全性和稳定性。Python的Flask或Django框架可以快速搭建Web服务,...
总的来说,基于SWIG的Python仪器驱动封装技术,能够利用Python简洁高效的开发优势,结合SWIG的接口转换能力,跨越编程语言之间的障碍,为自动化测试系统和虚拟仪器的开发提供了全新的思路和方法。通过这种技术的应用...
1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6 1.3.2 Java程序的运行机制和JVM 6 1.4 开发Java的准备 7 1.4.1 安装JDK 8 学生提问:不是说JVM是运行Java程序的虚拟机吗?那...
这种融合为传统桌面宠物和电脑助手的更新提供了新的思路,让桌面宠物和电脑助手合二为一,变得更加真实、生动。 知识点5:桌面宠物的发展前景 桌面宠物的发展前景非常广阔,随着技术的发展和人们对桌面宠物的需求...
Python脚本实现监听服务器是一种常见的监控技术,它可以帮助开发者实时检测服务器的状态,确保服务的稳定性和可用性。这里我们将深入探讨如何使用Python来编写这样的脚本,并通过实例代码进行讲解。 首先,我们要...
最后,该方法的提出,不仅为食品中还原糖浓度的测定提供了新的技术手段,也为其他领域的色彩分析提供了一种新的思路。通过结合现代信息技术与传统的食品化学分析方法,可以实现更快、更准确的食品分析结果,这对于...