Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 客户机-服务器程序中逻辑的服务器端脚本编写方法_Java_Servlets_Ejb_Server Side_Ejb 3.1 - Fatal编程技术网

Java 客户机-服务器程序中逻辑的服务器端脚本编写方法

Java 客户机-服务器程序中逻辑的服务器端脚本编写方法,java,servlets,ejb,server-side,ejb-3.1,Java,Servlets,Ejb,Server Side,Ejb 3.1,我正在寻找使服务器端应用程序可由普通非程序员修改的最佳实践或通用方法。它不需要热修改;它可以重新编译和重新部署 假设系统位于EJB或Spring容器中。系统是消息驱动的(可能是EJB3.1)。有许多POJO接收来自客户端应用程序(RCP或RIA)的消息,对这些消息作出反应,并向同一客户端应用程序和其他客户端应用程序发送更多消息。使系统易于修改的最佳方法是什么?如果我正确地分离了服务器的逻辑组件,那么什么技术或设计方法允许我用新的POJO替换逻辑POJO,从而改变应用程序的行为 我想我所描述的是一

我正在寻找使服务器端应用程序可由普通非程序员修改的最佳实践或通用方法。它不需要热修改;它可以重新编译和重新部署

假设系统位于EJB或Spring容器中。系统是消息驱动的(可能是EJB3.1)。有许多POJO接收来自客户端应用程序(RCP或RIA)的消息,对这些消息作出反应,并向同一客户端应用程序和其他客户端应用程序发送更多消息。使系统易于修改的最佳方法是什么?如果我正确地分离了服务器的逻辑组件,那么什么技术或设计方法允许我用新的POJO替换逻辑POJO,从而改变应用程序的行为

我想我所描述的是一种战略模式。这些POJO可以从一组人类可读和可编辑的规则生成吗?规则引擎是解决这个问题的正确方法吗

这是否也可以与状态机生成器结合使用,以便每个状态都有一个输入消息列表以及对每个状态的响应、转换规则等等

玩具示例:

  • 国庆晚会
    • 输入股票
      • 回复“晚上不能卖,要等到白天。”
  • 国庆日
    • 输入股票
      • 卖股票吗
      • 答复“为u2;出售的股票”
等等

现在我这样写出来,看起来脚本语言几乎和编程一样

我只是在寻找一个指向正确方向的指针。也可能是我把一些简单的事情复杂化了。也许我应该让业务逻辑尽可能清晰地分开,并在代码中进行更改

为清晰起见于2012年2月22日编辑

我同意不对手术刀发表评论

无论如何:您的问题的一些答案:

Spring、Griffon、嵌入式Jetty、servlet、EJB(或POJO?或…?) 到目前为止,这个平台是一个好方法吗

EJB不会以这种方式工作,它们将需要像Glassfish或Websphere Application Server这样的EJB容器。但是如果您使用Spring,那么您就不需要EJB(而是使用Springbean)。如果您使用Spring,那么您通常只有一个SpringServlet,所有web内容都由SpringMVC框架处理——这与ClassisServelt编程(没有框架)不同

动态更改某些代码的一种方法是使用脚本语言。因此,您可以使用例如在JVM中运行java脚本代码


但实际上,当我需要完成您的工作时,我会尝试为服务器和客户端实现一些框架,这使得用java编写游戏变得容易。因此,您的studends可以使用普通的IDE,也可以使用maven来部署整个应用程序。

成为一名程序员需要几年的时间,甚至更多的时间才能成为一名优秀的程序员。我不会用手术刀把我的身体交给非外科医生。我不会把我的代码给非程序员,我完全同意。另一方面,如果你把编程作为一种爱好/解决一个问题,你常常会忘记一年前你是如何实现某件事情的细节。主要是因为你不是每天都在编程。如果能够在不必重新学习您所做的事情的情况下进行更改,那就太好了。:)在这种情况下,学生不需要更改服务器或客户端代码——学生就是使用客户端的人(他们是实验中的受试者)。我想我想知道最好的方法是什么,以人类可读的方式更改服务器的逻辑。我会澄清我的问题,集中讨论这个问题。