需要Drools项目构想

时间:2020-03-06 14:33:21  来源:igfitidea点击:

我被要求为队友改口水。只是向他们展示如何使用它,以及它可能有多有用。要进行此培训,我首先必须学习Drools,并且我认为最好的学习方法是围绕Drools进行小项目。

有什么有趣的想法吗?

我对该项目的想法是进行一些webMethods流文件验证(仅是一些示例验证)。我只会进行验证,只要我们拥有该文件格式的内部解析器即可。

但是实际上可以做些工作的东西会很好。

解决方案

为什么要在甚至不使用的工具上培训他们?我们打算如何应用它?一个人为的例子就是-人为的。如果我们确实需要该技术,则将其应用于该领域。至少可以用作概念的粗略证明,以了解该技术是否甚至适用于系统。

实际上,我们有一个基于流口水的项目,我们可以尝试模仿它。 :-)

假设我们有传入的SMS消息通过基于HTTP的协议到达。 HTTP请求包含Anumber(发送方的电话号码),Bnumber(接收方的电话号码)和消息文本。

目标是使用流口水根据消息的内容将消息路由到适当的服务。我们应该有一组规则,每条规则都说明如下内容:如果Bnumber为1792,并且消息文本包含关键字" VIDEO",则该消息应定向到视频提供服务。

实际上,我们使用这个精确的设置,一个基于drools的路由器,它从HTTP servlet线程中提取消息,并根据其内容将它们放入JMS队列。

我们从事此程序会很有趣吗? :-)

上一个项目的一个示例:

我们正在尝试交付包裹,而要交付包裹的方式是使用许多运输公司。每家公司都将在一个仓库取货并将其运送到另一个仓库,直到最终到达目的地。每个公司都有一个时间表,可能是几天和几天的奇怪组合。例如,每个月的第二个星期二和星期四,一个月的第5个星期二和第一个星期四,公众假期除外。各个仓库之间的每次行程将花费给定的时间。给定仓库之间的固定路线,给定开始时间,我需要多长时间才能交付此包裹?

我要给我们两个我公司目前正在使用的真实示例。该公司是巴西最大的电子商务之一。

  • 当用户只是在产品目录中导航时,Drools用于对产品进行价格促销和折扣。因此,在为用户浏览器呈现响应之前,我们必须应用与价格,分期付款和运费相关的促销。
  • 在检查产品时,由于客户地址区域,州,年龄,性别,产品数量,每个类别的产品数量,组合的促销,假期等,可能会应用一些促销。每个促销的应用程序都会影响整个产品列表,这需要一个新的规则应用程序,直到结帐达到稳定状态为止。

这确实具有挑战性,但运作得很好。 Drools也在该公司内部的其他环境中使用。

如果我们想学习Drools,最近还会出版一本不错的书。可以在http://www.packtpub.com/drools-jboss-rules-5-0-developers-guide/book中找到它。发行时,我已经使用Drools已有一段时间了,但是通过浏览它可以学习一些新概念。我的一些队友也读过这本书,并同意这本书有助于他们对工具/应用程序的理解。

有一些短暂的跌倒。信息组织得不好。我们必须从头到尾阅读它,否则我们一定会错过一些基础概念,这些概念会妨碍我们在以后学习。此外,示例代码可能会有些困难。总的来说,尽管我会说这将有助于拉平学习曲线。

最简单的事情就是玩游戏,比如说纸牌。扑克可能有点复杂,但是黑桃,老佣人等可能会更容易。