Bug 1133990 - Provide two-way communication with a referenced services in Rules
Summary: Provide two-way communication with a referenced services in Rules
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: Rules / jBPM integration
Version: 6.1.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: ---
Assignee: Rob Cernich
QA Contact: Matej Melko
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-08-26 15:20 UTC by Tomas Rohovsky
Modified: 2025-02-10 03:42 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-02-10 03:42:53 UTC
Type: Feature Request
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SWITCHYARD-2285 0 Major Closed Provide two-way communication with a referenced services in Rules 2015-12-21 09:47:52 UTC

Description Tomas Rohovsky 2014-08-26 15:20:21 UTC
Current implementation of reference invocation is based on a channel. A channel is one-way communication mechanism. I am not sure how much is it a valid use-case to have two-way communication in Drools, but two-way communication would be nice.

(04:11:20 PM) errantepiphany: trohovsk: Drools Channels are indeed one-way. We have a SwitchYard Service Channel that invokes SwitchYard service references. It's just there as a convenience.
(04:11:25 PM) errantepiphany: trohovsk: If you want to do anything fancier in Drools, you should probably create a helper class, or a drools function, or similar, that executes the service reference.
(04:11:55 PM) kcbabo: errantepiphany: agree - part of this is using functionality that makes sense for a given implementation type
(04:12:20 PM) kcbabo: errantepiphany: we shouldn't force a round peg into a square hole for some of these use cases
(04:13:31 PM) errantepiphany: kcbabo: we could create a static function that could be imported by drl code that wanted to use it. They would just have to use "import function" in their drl: http://goo.gl/NrmNCc
(04:15:07 PM) errantepiphany: kcbabo: that could be a way of in-out vs. just in-only meps from drl.
(04:17:04 PM) kcbabo: errantepiphany: possible - functions appear to require compilation as part of building the knowledge package
(04:17:27 PM) kcbabo: errantepiphany: so class path would have to be managed in that case
(04:17:43 PM) kcbabo: errantepiphany: actually, the timing of the compilation is an assumption on my part
(04:17:59 PM) kcbabo: errantepiphany: I guess it could happen at runtime as well, but the same consideration applies
(04:18:22 PM) errantepiphany: kcbabo: True. And really, creating a function isn't that hard to do in regular code. and people could just reuse the SwitchYardServiceInvoker (which both our Channel and WorkItemHandler impls reuse).
(04:18:36 PM) kcbabo: errantepiphany: I guess the idea would be that the function returns the body of the out message
(04:18:46 PM) errantepiphany: yup
(04:18:49 PM) kcbabo: errantepiphany: which could grow into asking for context properties as well
(04:19:06 PM) kcbabo: I don't think we could make an assumption on which parts are actually inserted as facts
(04:19:08 PM) errantepiphany: kcbabo: or the function could return the Exchange
(04:19:24 PM) kcbabo: so that's something that the user would have to do in their RHS code once they get the result
(04:19:34 PM) errantepiphany: kcbabo: or we just stay out of making assumptions, and people write their own functions…
(04:19:43 PM) kcbabo: right
(04:20:08 PM) errantepiphany: kcbabo: That's the problem with creating this stuff for specific use-cases. They make sense for some people, but not everyone. And assumptions are dangerous.
(04:20:31 PM) kcbabo: errantepiphany: agreed

Comment 1 JBoss JIRA Server 2015-12-21 09:47:53 UTC
David virgil naranjo <david.virgil.naranjo> updated the status of jira SWITCHYARD-2285 to Closed

Comment 5 Red Hat Bugzilla 2025-02-10 03:42:53 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.


Note You need to log in before you can comment on or make changes to this bug.