有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

通过网络解耦UI和计算的java简单示例

我在找一个简单的例子

  1. UI基于web(通过网络上的浏览器访问)
  2. 业务逻辑(API)部署在服务器上。这是一个打印机管理应用程序
  3. 业务逻辑将访问外部电子打印机&;可以访问其状态。多台打印机可以连接到同一台服务器
  4. 需要在UI上显示排队、打印等纸张数量的实时图表(或计数)
  5. 用户应能够继续其特定于打印机的会话。一次只能有一个用户访问打印机(针对一个用户被阻止)
  6. 用户可以通过网络向打印机发出命令(任务可能需要10-15分钟才能完成。同时,用户将监控进度)

我已经编写了一个使用COM端口处理计算机与打印机交互的程序。本地用户界面工作良好。现在我想在web上拥有UI

请指导我应该使用哪种方法来创建此类应用程序。虽然我对Java有一些经验,但我对JavaEE或任何网络协议都是新手


共 (2) 个答案

  1. # 1 楼答案

    • 您希望将信息(关于连接的打印机、剩余纸张等)从一个系统传输到另一个系统
    • 您还希望每个打印机每个用户都有一个独占锁

    放在一条短线上 -您希望打印机服务器向web应用程序提供打印服务

    你听说过webservices

  2. # 2 楼答案

    好的,JavaEE6或7是您最好的选择,因为您已经有了一些java的背景知识。对于第一个问题(基于UI web),我建议使用JavaServerFaces技术,因为它与JavaEE完美集成。对于第二部分,关于业务逻辑(问题2)。我建议使用上下文和依赖注入(CDI),因为它们定义了一组由JavaEE容器(服务器)提供的上下文服务,并允许集成不同组件(而不仅仅是EJB)的灵活性。您需要使用JavaEE提供的有状态对象来管理打印机的用户特定会话。 管理访问和访问;电子打印机状态,JPA是您的最佳选择,因为它将为您提供容器管理的安全和事务服务,以持久化和访问电子打印机状态。带有拦截器业务方法的单例会话bean可以用于每个应用程序的统计目的,以解决问题4。 JavaEE提供了一种注释类型的并发管理,使用起来非常简单。您只需使用@Lock(LockType.WRITE)或@Lock(LockType.READ)注释对业务方法(在本例中,它在打印机上执行某些操作)进行注释,以在调用此类方法期间锁定对打印机的访问。 为了澄清上述技术,我建议在开始项目之前阅读JavaEE7食谱。祝你好运