Salesforce is a goldmine of information about potential clients: names, addresses, contact information, licenses, even their favorite coffee order. Once you close the deal and the account is now a paying customer, it’s crucial that you get the information out of Salesforce and instantly spread it to the rest of your organization. In other words, you should event enable Salesforce.

Do it well and you enhance your initial customer experience with insights from the sales process.

Don’t do it well, and your newly minted customer must supply information you already know, or even worse, faces a delay while you onboard them.

Your best bet: combine Solace and Boomi to create beautiful event-driven integration that distributes Salesforce information in real-time and lets you easily add on new functionality. I will talk about how to event enable Salesforce in a minute. But first, let’s talk about Tommy the Taxi Driver:

Adopting a new strategy in a real-time world

Portrait of handsome taxi driver outdoors

Tommy works for NYC Modern Taxi Company. Solace is following the journey of NYC Modern Taxi company, a traditional taxi company struggling to compete with ride sharing. Even though NYC Modern Taxi is completely made up (what, the name didn’t give it away?), they face many of the challenges I have encountered with customers.:

  • Create a better experience for customer and employees by using real-time data.
  • Integrate legacy technology with innovative tech like IoT and connected devices
  • Speed up the process for getting innovative ideas to market and reduce development cost

NYC Modern Taxi company uses Solace in combination with Boomi to address many different use cases, from IoT to analytics to SaaS integration. Today’s challenge: encouraging Tommy the Taxi Driver to use the brand-new NYC Modern Taxi ridesharing app.

After some discussion with the taxi cab psychologists, the business side of NYC Modern Taxi Company developed a 4-step strategy:

  • Treat drivers like prospective clients Treat drivers like prospective clients: each driver is an “account” in Salesforce and has an assigned  account rep.
  • Each account rep has an unlimited coffee budget Each account rep has an unlimited coffee budget with which to woo drivers.
  • Once the coffee does its job, the driver agrees to use the ap Once the coffee does its job, the driver agrees to use the app.
  • the driver gets onboarded into the operations database As quickly as possible, the driver gets onboarded into the operations database.

The question now is: what’s the best way to make it work?

Dead ends: “annoying sibling” polling and REST calls

Figure 1: The Goal

NYC Modern Taxi Company knows that Salesforce contains a wealth of information. But they are concerned about how to get the information out of Salesforce and across the enterprise.

The first method is what highly technical folks call the “annoying sibling technique” — constantly polling the Salesforce REST API to see if there’s been a recent update.

However, that solution means that one of the goals of the project won’t happen because polling consumes resources and slows down information movement.

While that isn’t ideal, NYC Modern Taxi might be willing to try it. But even after they pestered the information out of Salesforce, NYC Modern Taxi would still need to get the information to the right place at the right time. They could connect multiple microservices using REST. But then the other requirements become challenging because:

  • REST make it hard to push data to hundreds and potentially thousands of mobile apps used by drivers
  • Adding features down the line means changing existing code, manually adding in another endpoint and potentially slowing everything down.

Point #2 is key because while version 1 has its scope locked in, imagine what version 2 could do:

  • Initiate a background check with a security company
  • Populate key fields in the accounting software that sends checks out to drivers (boring but helpful)
  • Analyze driver likes and dislikes using Artificial intelligence. Key question: what makes a driver commit to using the app: free coffee consistently? Random acts of coffee? Playing hard to get with coffee?
  • Generate social media buzz using Tommy the Taxi Driver’s Instagram account
  • Integrate with coffee shop APIs for automatic entry of driver’s coffee orders as “favorites”

Yielding to Event-Driven Integration

Given the challenges involved, REST isn’t the right fit for NYC Modern Taxi. But what is the alternative to the annoying sibling/point-to-point architecture? The answer: event driven integration with Solace and Boomi.

Rather than using brittle, tightly coupled REST calls, Solace distributes events throughout NYC Modern Taxi, which means:

  • Applications around NYC Modern Taxi know about business events faster by eliminating polling
  • Simultaneous connectivity to vast numbers of mobile apps and IoT devices through other messaging open standard protocols like MQTT and/or AMQP
  • Adding new, innovative applications doesn’t affect existing components because the architecture is now loosely coupled. That means features can evolve quickly (and Tommy’s Instagram can rack up more “likes”)

Using Boomi, things get even better:

  • Huge numbers of easy-to-use connectors to things like Salesforce Platform Events (stay tuned for more), databases, email and other applications.
  • Access to the content of each event, for graphical mapping and content-based routing

Mapping out a Solution

Now that NYC Modern Taxi has a new architectural concept in mind (event-based integration), they’ve identified that determining where events are heading and what the content looks like can be a little difficult. Luckily, there is a solution. Solace PubSub+ Event Portal (or as some call it, the Google Maps of Microservices) discovers and presents the flow of events in a visual form.

Using the Event Portal, NYC Modern Taxi can map out how events flow through the enterprise and design what the schemas and topic strings will look like. That shared knowledge is important during the design phase of a project, but it’s also key during the implementation phase as well. You’ll see how Event Portal helps in that regard a little later.

Figure 3: The Salesforce portion of the NYC Modern Taxi Event-Driven Architecture

Bustin’ Events Straight Outta Salesforce

Before NYC Modern Taxi can be fully-event driven, they need to get events out of Salesforce.

The magic starts with triggers. Within Salesforce, every change to an account (including the ones for Tommy and other drivers) can fire a trigger written in a language called Apex.

Apex is a powerful language; it can execute logic, run more queries, make REST calls, and more. But this is where things really get interesting: Apex can produce Salesforce Platform Events.

Platform Events is an internal message bus that comes with Salesforce. It lets both internal and external applications listen for events. It’s not the most flexible event broker, it’s only focused on Salesforce events, but it gets the job done. It also has a snazzy logo that looks like an antenna. And it just so happens that Boomi has a built-in connector that brings Platform Events out of Salesforce and into NYC Modern Taxi’s integration stack.

Now the implementation is getting somewhere! The next logical step is to intelligently distribute the information from Salesforce to other interested applications. Enter Solace. The Solace PubSub+ Connector for Boomi can help with:

  • Transforming events from Salesforce into a standard
  • Formulating a finer-grained topic string
  • Publishing events

From there, the event can go to any application within NYC Modern Taxi. Adding in more applications and devices is as simple as adding a subscription to get the information flow going. Mobile applications, data lakes, Instagram accounts, and more can be added without disturbing the existing code.

Down to the Nitty Gritty: Event Enable Salesforce

Now NYC Taxi has an enterprise architecture and knows how events will get from Salesforce into the target system. The only thing left to do is create it.

Luckily, NYC Modern Taxi has a giant head start on implementation. When developers start building solutions in Boomi, the PubSub+ Connector gives them access to the architect-defined schemas and topics previously defined in the design phase in the PubSub+ Event Portal. No more guessing about what the data looks like, or which topic to subscribe to. It’s all at your fingertips.

Hit the Event-Enabling Trifecta: Salesforce, Boomi and Solace

Reading about the implementation is one thing, getting to see Tommy’s Salesforce data speed through NYC Modern Taxi in real-time is a whole ‘nother enchilada. Check out the CodeLab for this post: you’ll get free access to Boomi, Solace, and Salesforce and get to see the solution in action. Extra credit if you can connect it to Instagram!

We’d love to hear your feedback in our Solace Developer Community. Even better, showcase your solution there to share it with the community!

Jesse Menning

As an architect in Solace’s Office of the CTO, Jesse helps organizations of all kinds design integration systems that take advantage of event-driven architecture and microservices to deliver amazing performance, robustness, and scalability. Prior to his tenure with Solace, Jesse was an independent consultant who helped companies design application infrastructure and middleware systems around IBM products like MQ, WebSphere, DataPower Gateway, Application Connect Enterprise and Transformation Extender.

Jesse holds a BA from Hope College and a masters from the University of Michigan, and has achieved certification with both Boomi and Mulesoft technologies. When he’s not designing the fastest, most robust, most scalable enterprise computing systems in the world, Jesse enjoys playing hockey, skiing and swimming.

Join Our Developer Community

Join the Solace Developer Community to discuss and share PubSub+ API hints, new features, useful integrations, demos, and sample code!

JOIN THE DISCUSSION