最近我被要求为我公司编写一个java应用程序。我是一名经验丰富的.Net开发人员,所以这对我来说都是新的。
我的任务是制作一个包含多个高级任务的发票应用程序,例如:
我的公司希望能够从java控制台应用程序调用这些任务 - 传递相关的命令和参数来调用任务。他们还希望能够从ASP.NET应用程序调用相同的代码。
因此,我首先想到的是在Java中使用Web服务。
我的问题是:我可以从Java控制台应用程序和ASP.NET应用程序中使用Java中的Web服务吗?或许还有更好的选择。
任何能让我研究正确方向的指南都会受到赞赏。
感谢。
答案 0 :(得分:1)
“我的公司希望能够从java控制台应用程序调用这些任务 - 传递相关的命令和参数来调用任务。他们还希望能够从ASP.NET调用相同的代码应用“。
我不确定你在问什么,但我认为简单的答案是确保你的应用程序有一个入口点方法,以便它可以作为命令行应用程序运行。你需要一个类似于以下方法的类:
package foo.bar;
public class Bazz {
...
public static void main(String[] arguments) {
// parse the arguments and run the application
...
}
}
main
方法的签名至关重要:
public static
,main
,String[]
参数,void
返回类型。然后可以从命令行运行此命令,如下所示:
java -cp <YOUR_CLASS_PATH> foo.bar.Baz arg1 arg2 ...
这也可以通过另一个用Java编写的应用程序完成,并且(我想)也可以从ASP.NET完成。
答案 1 :(得分:0)
简单的答案是 - 是的。 Java具有用于定义Web服务和部署它们的库,Java和.NET都具有用于生成Web服务客户端的实用程序。这并不是说它会很容易!
如果我是你,我会调查使用JAX-RS实现创建REST服务(我最喜欢的是RestEASY)。这将允许您创建没有SOAP的“Web服务”,即http://server/invoices/1
可能返回
<invoice>
<items>
<item>apple</item>
<item>banana</item>
<items>
<customer>robert</customer>
<amount>5.00</amount>
</invoice>
然后,它应该易于用任何语言解释。无论哪种方式,这将是一个陡峭的学习曲线。 Java和.NET之间的主要区别在于虽然.NET中内置了许多功能,但在Java中它遍布整个生态系统,这很好,因为它提供了多样性,但是定位功能可能需要更长的时间。 / p>