Streams are durable event pipelines that give your code increased limits and the ability to recover from any error.
- Install the Streams package.
Simplest Possible Thing
- From the Streams app, go to the Services tab.
- Click the Log service and view its detail page.
- Click Enqueue Streaming Event then check your email.
See the log email? Here's what happened:
First your event was stored in a record, then the Log service processed it inside a try-catch block with a savepoint. Although this service just sends an email, the key takeaway is this: everything processed safely in an async context with increased limits, without writing code.
- Read the Concepts to learn about streaming events.
- Follow the Hello World Tutorial to arrange services in a saga.
- Explore the Code to see how core services work.
- Act effectively by addressing service issues with the appropriate developer.
- Script business logic that supports business services.
- Configure all component metadata using point and click.
- Observe why and when logic ran - in real time or the past.
- Indicate service progress with images on lists and page layouts.
- Execute resilient services against stored events - failures can always be reprocessed.
- Move business flows including all configuration between orgs with a single container.
- Create testable code using components adhering to an interface.
- Execute logic consistently by running all services under the Automated Process user.
- Ingest millions of raw JSON events for stream processing using the Bulk API .
- Integrate using out of box HTTP / SMTP / SQL adapters.
- Schedule durable jobs using heartbeat events instead of cron and Apex.
- Control scope with clear areas of responsibility
- Rely on a built-in safety net should errors occur.
- Reduce coupling between packages and departments using dynamically typed events
- Publish/Subscribe to business events and broadcast custom durable events using topics.
- Collaborate around right sized components that all stakeholders can understand.
- Visualize scenarios on an interactive canvas with advertised inputs/outputs.
- Integrate with Flows and Processes and enqueue streaming events from workflow rules.
- Compose sagas that draw a direct line from requirement to implementation.
- Audit past and present streaming events - understand which logic ran and when.
- Execute business logic natively - services are built, tested and deployed on platform.
- Snapshot configuration versions and revert to prior versions in near real time.
- Lower project risk by avoiding early commitment to architecture. Experiments cost less.
- Bypass package dependencies - all logic remains under the full control of the business.