This is a guest post by Asif Khan, a Program Architect at Salesforce helping customers maximize their ROI on Salesforce and transform their industries. He has driven development, architecture and product delivery, and describes himself as a hands-on programmer/hacker focused on simplicity and delivery. Prior to salesforce, Asif was at SAP.

Lightning.anyDB helps Salesforce Lightning Connect access data trapped in back office systems. At the heart of every business process innovation is data. As business users/developers/architects we have a deep understanding of the domain we work in. What if we could quickly connect our back office systems to our front office systems such as CRM, call centers, micro-sites and even marketing-driven web pages? What if we could visualize the domain model in Salesforce on any device, anywhere and at any time?

The ever lurking goblin appears: “You need an OData service, you need developers, you need budget, you need code, you need …..”

Before giving up, lets take a look at:


Lightning.anyDB is a lightweight plugin you can download, configure and adapt to expose your data model as an OData service and visualize it using Salesforce Lightning Connect. No code, no dependencies, just click and deploy a customized OData service.

Lightning.anyDB is proven and has solved multiple real world scenarios. Let’s talk about one of them and discuss the details of how this was achieved.

A Real World Problem – Quickly expose insurance policy data to Service Agents and Customers

We’re all familiar with auto insurance so lets use that as our example. A large insurance provider, we’ll call it InsureRUs, wanted to provide Customer Service Representatives (CSRs) with access to more detailed policy data than was currently available from their CRM application, so that they could more effectively support customer requests. Also, as a customer company, InsureRUs would like the additional detail available to customers from their website to further promote cross-sell bundles during self-service.

Problem: Policy data lives on a legacy mainframe. Providing access typically involves a series of coordinated SOA engagements, or worse, an small army of ETL developers for the better part of a year.

Solution: Use Lightning.anyDB to expose the legacy data objects via an OData interface that can be consumed by Salesforce’s Lightning Connect via point and click configuration. The newly available external objects can then be made available to the customer website, added to the Agent’s CRM screens and also accessed from Salesforce1 while representatives are on the road.

The Domain Model

Joe has auto policies with InsureRUs for his, his wife’s, and his daughter’s vehicles. We may want to recommend an umbrella policy to cover all three and qualify for a discount. This will be a better product for Joe and increase his loyalty with InsureRUs. Win-win.

With Salesforce Lightning Connect, we can create Policy, Driver, and Vehicle as External Objects in Salesforce. We can relate standard objects such as Contact and Account to the External Object via lookups. That way, when a Service Agent is viewing a contact, they’ll also see the associated Policy, Vehicle and Driver data in real-time from the legacy system.

This can be extended to include a workflow which scans for policies due for renewal and send automated quotes and offers to customers.


As an architect all you need to do is configure access to your database using the Eclipse Java Persistence API (JPA) editor, push to GitHub and click on the “Deploy to Heroku” button.

Using JPA, we generate ‘plain old Java objects’ (POJOs) from the database entities. And yes, we get the complete relational schema in an object-relational mapping (ORM). Once the model is constructed as POJOs we use the Apache Olingo OData Producer Library to produce the data model constructed as an OData service. All this is assembled using Maven.

So far so good. How do we make this service live? Using the Deploy to Heroku button we are able to pull code from Github, build it and deploy to Heroku.

Voilà! With a click of a “deploy to Heroku” button, the OData Service is live!

Deploying the endpoint

Deploy the standard endpoint by clicking the Heroku button below. The app provides the above domain model (policy, driver, vehicle) as an OData service with capabilities such as CRUD, query, traversal, filter, etc. Create an External Data Source in Lightning Connect to see the sample data in Salesforce.


To configure a custom endpoint for your own data, follow the steps listed at the Lightning.anyDB GitHub repository, configure Lightning Connect and you will soon be serving data from your database into Salesforce using Lightning.anyDB.


Lightning.anyDB helps democratize your back office data. No code, no wait, just click and deploy. Take your data with you anywhere, on any device, with Lightning.anyDB.

Get the latest Salesforce Developer blog posts and podcast episodes via Slack or RSS.

Add to Slack Subscribe to RSS