With K2[blackpearl], Our biz processes can use SmartObjects, Processes and SmartObjects can fire events and our custom events can access SmartObjects. Thinking about this …We could use SmartObjects as the published interface to integrate systems. This approach will reduce coupling and increase reuse.
Imagine we have a Customer SmartObject. On creation of the object we could kick off a set of processes and pass the object IDs on to them. The process instances can load the customer SmartObjects, route tasks to people and get them action things around these customers. The processes can then fire events and pass data as payload. Our custom events can pick up these and work with other SmartObjects.
The external system code only needs to know about a set of SmartObjects. We could have wrappers that abstract the manipulation of these SmartObjects. We get automatic reporting, security and server scalability and suddenly it becomes a very neat solution.