There is a new trend to move ?everything? to the Composite Application Editor UI. Meaning, anyone who has the skill set to assemble components and applications can also wire business logic and conditions into the application. I have actually prototyped a few components that can provide ?switch? based logic patterns where the assembler can identify new outputs based on the input. For instance, a switch component can be wired to a loan application component which publishes the loan amount. The switch component could evaluate the amount and publish different outputs based on that value. The conditions and outputs are defined by the assembler ? not the developer. A basic flow diagram showing this is below.
The outputs, <= $1,000 and < $1,000, are defined by the assembler via the CAE preferences dialog. The component I created is setup to have N number of conditions the assembler can define. The first state component I created was a simple string evaluator. The component had an input of text and was then evaluated to any specific output properties created by the assembler. If the match was a hit, the output property was published. I actually called that component a ?state component? since it emulates a simple state machine. You could accomplish things like executing different actions based on the data sent into the ?Evaluate? action:
In that sample I just sent the following preferences for the component in CAE:
com.ibm.ca.state_PENDING = ?Pending?
com.ibm.ca.state_OPEN = ?Open?
com.ibm.ca.state_CLOSED = ?Closed?
The component looks for all ?com.ibm.ca.state_*? patterns and dynamically registers new output parameters matching the values. This allows the component to have meaningful output parameters to the assembler in CAE ? as shown in the diagram.
Let me know if you think this could be valuable.