Kalyana Venkata (00:08):
Let's see an example of how an API-led approach can help play a key role in modernizing the LPI process and deliver a modern integrated experience for end users.
Kalyana Venkata (00:21):
In today's demo, we are going to look at the permit application and approval process using Salesforce, MuleSoft, and ESRI through the lens of three personas. Geoff Duckwall, a salon owner, Brenda Miller, a caseworker and Jeremy Smith, an enterprise architect. Geoff Duckwall is the owner of a leisure salon. And he wants to expand his current business to an adjacent location. So Geoff logs into the Salesforce community portal, which already knows about his existing business and where it is located. He starts the permit process by viewing his current salon's location. And this location is retrieved real-time from ESRI using MuleSoft. Geoff identifies a location next to his salon using the drawing tools provided by ESRI to map the location.
Kalyana Venkata (01:19):
Once the location is marked, Geoff clicks on the start permit to start the permit application process and capture the details of the permit. He's asked a few questions about the permit through a self-based guided process where he has to fill in some information about the project he is currently doing. So he mentioned the type of work, has building expansion, delegated the work to a contractor whose name is ACME Constructions, mentioned the name of the project as expanding salon. And if there are any supporting documents for his project that he can upload right here. Review the application and clicks on continue to submit the application.
Kalyana Venkata (02:18):
So once the application is submitted, it will be submitted as a permit application and the location that he marked on ESRI will now be added into the ESRI layer using MuleSoft. Now in the past, this process used to be a very lengthy ordeal with no interaction with live maps and absolutely no real time insight into the status of his permit application. Now, as you saw, Geoff can engage with maps real time. He can add the location. He can view his current location on the maps real-time and also track the status of the application using the dashboard. Now, once Geoff's application is submitted, it is assigned to Brenda, a caseworker who actually reviews, approves the application and issues the permit. Now, Brenda logs into the Salesforce ORG.
Kalyana Venkata (03:20):
She sees that Geoff's application is in her queue, so she pulls the application, reviews the application details, and also reviews the location that Geoff has added using maps by reviewing the location on the map. Once she's satisfied with all the details, she goes ahead and accepts the application as a first step.
Kalyana Venkata (03:56):
Now, at this stage, typically it gets assigned to an inspector who will visit the location, inspects it for any violations and approves it. Once the inspection is approved, both Brenda and Geoff can track the status of the application right from the individual portals, without having to log into the various systems as it used to happen earlier. Now, once approved by the inspection team, Brenda now ensures that the application meets all the guidelines and any requirements imposed by the city are all met before she issues the license. Now she goes ahead and issues a license for the business expansion plan submitted by Geoff.
Kalyana Venkata (04:50):
So earlier it used to be a challenge for Brenda to get visibility into the location the constituents requests permits for. As you saw, Brenda now can review, track, approve, and issue licenses and permits, and also get a 360 view of the LPI applications all from one single platform. She can also track the status and also know the application state at any point of time, all within the platform. Now that's what we call an enhanced experience. A truly web first, digital experience and a more connected experience to both Brenda and Geoff.
Kalyana Venkata (05:35):
Now that we have seen this unified end user experience which brought in data into Salesforce and integrated with ESRI, let's move over to Jeremy, our agency enterprise architect who made this possible through the use of APIs and see how he created this connected experience with the MuleSoft Anypoint Platform. So as the first step, before creating any APIs, he logs into Anypoint Platform and goes into the exchange to see what resources are available out of the box that he can reuse.
Kalyana Venkata (06:09):
Anypoint Exchange is an essential repository or a marketplace of resources for Anypoint Platform, which includes connectors, templates, examples, APIs specifications, policies, and more. They can be easily discovered and reused in any projects. He sees that there are a lot of out of the box connectors to connect to various systems in his ecosystem such as Salesforce, Amazon S3, Box, Database, SAP, et cetera, and also an API specification and a template provided by MuleSoft to integrate with ESRI. He can go into the specification to understand how the API specification works. He can explore the various methods provisioned by the specification and also mock and test the API right from the portal to see how the API works.
Kalyana Venkata (07:07):
With the API for ESRI already available, he decided to create a similar system APIs to integrate with Salesforce and Box. So he's a big proponent of design first approach. So Jeremy goes into the Anypoint Design Center to design these API specifications. Anypoint Design Center is a web based API design environment that lets you design APIs using text editor or visual data. Jeremy used a visual editor to create the API specifications for Salesforce and Box. As he designs the specification using the guided process provided by the visual editor, the design center also automatically builds or generates the code for RAML and OAS standards. He can also mock the APIs, simulate them and test the APIs right from the design center, even before they're implemented. And he can then publish the APIs to the exchange so that the other stakeholders in the organization can discover them and use this APIs in their projects. Now with the APIs now designed, the next step is to implement his APIs.
Kalyana Venkata (08:28):
And for that Jeremy used Anypoint Studio. Anypoint Studio is an IDE, is our IDE environment with a graphical drag and drop configuration driven user interface to build integrations and APIs. You can connect systems, integrate applications and implement APIs graphically with no code low code assembly. With over 200 plus out of the box connectors to choose from you can implement your APIs and integrations in absolutely no time. You can search for an ad connector's APIs and templates into the studio connecting to the exchange right from the studio. So say you want to add the Box connector, you can search for Box and add it to the project. So similar to Box, you can also add a Salesforce connector or you can also import the ESRI specification to your projects for implementation. As you see Jeremy already implemented the system APIs using the connectors that he added from the exchange. He also implemented a process API by reusing the system APIs and accessing the data from the underlying systems of record. Another biggest challenge Jeremy had in the past was with the data transformations.
Kalyana Venkata (10:00):
But he doesn't have to worry about the transformations anymore with MuleSoft because MuleSoft provides DataWeave, a high-performance data transformation utility which enables him to perform highly complex transformations while providing a simple drag and drop interface. Supported by DataSense in the background it automatically sense the input and output structures and provides the auto mapping recommendations for the developers as they implement these API integrations. So he doesn't have to worry about writing or maintaining any complex interwoven data transformation scripts anymore using DataWeave.
Kalyana Venkata (10:38):
With the APIs now developed they can be tested with the Mule runtime that is bundled with Anypoint Studio even before they can be promoted and deployed to any higher environments. And once the testing is complete, they can be deployed into any higher environment, right from Studio or they can be built and integrate and deployed using your current CI/CD process.
Kalyana Venkata (11:08):
Once deployed, Jeremy goes to runtime manager that provides him a unified view of all the applications, servers that are currently deployed into an environment. He can also deploy the application, or start and stop or delete an application using runtime manager. You can view logs or manage and monitor the applications, their CPU consumption, memory consumption, and also create alerts to get notified when a particular application or server event occurs. Now that the APIs are deployed, Jeremy wants to manage, secure and govern the APIs using API manager. Now with API manager, he can secure access to API and control API traffic by automatically enforcing pre-built custom policies.
Kalyana Venkata (12:10):
He can add or remove out of the box policies for API security, IP white listing, IP blacklisting, client ID enforcement, message logging, spike control, identity management, all can be applied at runtime with absolutely no downtime to the application. You can also manage client access using contracts. He can create SLA tiers to control access to customers. He can also create proxies using existing SOAP or REST services, or create new APIs from OAS and RAML definitions. He can group APIs and the products, and you can also track the API's usage, performance and identify errors using API analytics. As you see, by leveraging APIs, Jeremy was able to integrate the systems used in this building permit request process by integrating with data from ESRI, GIS, into Salesforce, as well as pulling relevant data from systems across the enterprise into a single portal, streamline the entire review process for everyone.