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: NEW
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: 2021-10-15 11:52 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
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


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