How to make ERP and CRM data available to the workforce when it is time to deploy a mobile application to perform tasks in the field?
This is a very common use case faced by our customers faced, which we will cover in this new article.
Easy stuff right? How many times do we saw that kind of apps? Tons of times you may say… let’s first dig a bit into the case.
The customer case
The customer runs a business focused on engineering, developing and assemble complex HVAC systems that after having been tested internally will be installed on the field: powering hospitals, malls, industrial plants and factories. All over Europe.
After 20+ years of activity and constant growth of their business, making them a top player in the sector, they decided to grow up even more but this time the challenge is not only related to new acquisitions on the market: they first need to review their internal processes and the way they currently manage all the production workflows to better perform, gain agility and respond quickly to new challenges.
Managers and CEO agreed that digitization here is a key component if they would continue to grow, considering the fact that currently all of the processes are being exchanged within each employee via paper documents from the engineering department to the production manager who handle the entire scheduling and production processes.
More over they need to manage the deployment and installation phases where are involved a team of installers and even recurring maintenances of the implant.
Data mobilization needs
This work force digitization process have highlighted some key points, like:
- to provide access to information both to internal employees and who is on the field, those infos should come from a single source of truth and they have to reach specific employees based on roles and tasks assigned
- in case of urgent tasks, it will be great to directly have the ability to send push notifications to a target team or employee based on their availability and experience
- collect information from the field on the status and progress of work orders, time logging, work shifts and team management, warehouse and inventory management, etc.
- remote access to the knowledge base: such work documentation, FAQ, pictures and how-tos
- warranty check/activation and product lifecycle management
Build vs Buy
When it comes to provide access to data to people on the field there aren’t as many ready-made solutions out of the box that can truly encompass every point without the need to deeply customize many or sometimes most of the aspects of the solution.
After a technical analysis the client based its comparison on this main aspects and requirements:
- app should work integrated with the ERP, taking it as a single source of truth, without the need to import / export or manually enter info double time
- data should be available as soon as possible without waiting for batch imports to run to align different systems, let’s say “near real-time”
- work force should be able to perform their job even when there’s no internet connection available
- devices scenario may vary, work force will use rugged Android devices but managers prefer having the Apple iPad as companion for their daily tasks
- User experience is key: employees should benefit from using the solution being satisfied on their job with precise instructions and simple access to data in the shortest time possible
- when will comes the time to replace the ERP they would prefer not to have to change the entire work force management solution and redo the training, documentation, troubleshooting once again…
Current ERP provider
The current ERP software is an international product, supported and maintained on its personalizations by a local Italian partner who also developed the specific vertical for engineering and maintenances. The product uses a self-hosted Microsoft SQL Server 2019 database.
The ERP vendor doesn’t directly provide a specific module for a Mobile app but they built some XML APIs and interfaces for making this possible and following this way the partner built their custom modules and the mobile app they propose to customers.
Unfortunately the mobile app, as it is, does not provide features other than the one that could be found in the CRM area. Seems they built that targeting sales force employees, but of course it could be “enriched” with the required features for this specific sector but they have constraints based on current APIs availability that reflects this on a rigid mobile database schema that strictly depends on the ERP side that decides pretty much everything with its logics.
A new release is coming soon, saying it will be more flexible and graphically enjoyable.
Third-party WFM solution
A “pluggable” third-party solution may benefit for the time-to-market point of view especially in terms of experienced consultancy: they for sure have many customers with similar use case if compared to this one.
When it comes to buy an entire solution ready out-of-the-box you have to embrace some points that comes up when the technical people starts to ask questions like architecture, flexibility, scalability etc…
Digging a bit it turns out that the mobile side have been entirely made using a proprietary framework which, through the definition of XML files, can generate UI screen and UI logics while data comes to the mobile DB (based on sqlite) from a proprietary replication mechanism.
The server application is a java based monolith, installed in a single-node server on top of an Oracle database into which everything will be stored: data, images, documents… it has been designed in this way.
Integration with the ERP will be achieved via exchange of data from database tables and files, requiring both partners to jointly develop and then maintain specific batch procedure that will run on hourly / daily basis to keep track of changes and then serve the mobile clients.
Custom tailor made solution
The proposed custom solution comes from Us, MOLO17, certified Advanced Couchbase partner. Couchbase is a NoSQL database that has been discovered by the IT department as the perfect solution for this use case: it delivers data right to the mobile and back natively without the need to develop anything custom or third-party tools.
We proposed a different approach rather than the common software-to-software integrations usually found: we suggested to use GlueSync as bridge between their MS SQL Server database (used by the ERP) and the Couchbase NoSQL database which will be used as a operational database for syncing data to mobile clients.
Bridging the two databases unlocks interesting opportunities:
- it enables real-time collaborations between who uses the ERP and who uses the mobile app thanks to its direct access to row-level changes in the RDBMS (via CDC)
- the ERP partner should just provide the access to the RDBMS and tables/columns definition, there’s no need to develop custom APIs layers
- end to end encryption: all along the process the data is secured by SSL encryption (RDBMS <> GlueSync <> Couchbase <> Mobile) and stored secured into the device with an encrypted database, see this for more details
- easy to configure and adapt even if the ERP will change: just need to configure tables and fields name that requires to be kept in sync and the job is done. When the ERP will change this fields can be remapped in the configuration file and there’s also support for on-the-fly data modelling from SQL to NoSQL via custom SQL queries.
Comparing the three candidates
Here we have a quick but useful comparison grid which has led the decisions of managers and IT department
|Needs \ Solutions||Current ERP||Third-party WFM solution||Custom (based on Couchbase)|
|ERP integration||✅ ready out-of-the-box (licenses applies per client)||✅ need a custom development||✅ via GlueSync connector|
|Near real-time capability||✅||👎||✅ Sync Gateway syncs data to the edge in real-time|
|Offline support||👎||✅||✅ Couchbase lite is meant for that|
|Multiplatform support||👎||Partial||✅ Couchbase lite supports every mobile platform|
|User experience||A new version will be available “soon” but no details available||👎||✅ tailor made|
|ERP dependency / integration simplicity||strictly dependent, nothing can be reused||a custom integration is required each time||✅ via GlueSync connector|
It is hard to make such kind of choices, especially when they involve all processes and people. Even harder is to find the proper technical partner but the comparison grid helped a lot with also the support of some aspects related to the business side of the deal:
- licenses: only the custom solution has no dependency regarding per-client licenses
- the user experience really matter for the company and in that project they do not want that this new project will be rejected by the employees due to lack of simplicity and sense of gratification during usage
- scalability and performances: benefits from having a modern infrastructure are clear, it works real-time in exchanging data to and from the current system and gives unmatched performances without having to struggle when the number of clients will grow in the future.
The final choice has been made pursuing the road of custom software development based on the proposed solutions which has Couchbase NoSQL database under the hood.
Feedback and results
The overall user experience received back as feedback from the field was amazing: clients receives instantly the data as soon as they are connected to the network and newly freshly available data is fetched from the server without the need to refresh anything on the screen and data created by the users are sent back to the server without annoying anyone about loadings or pending uploads, it just works flawlessly!
What about the ERP sync process? Client’s IT people simply forgot about it: an integration made in just 3 days of reading the tables names and selecting which field is needed and which not. The result is a smooth sync process working over WAN between the AWS Cloud where Couchbase and GlueSync have been deployed and the client’s premises where the SQL Server instance runs the rest of the business.
Wanna have the feeling of the sync process? Take a look at this video recorded for a similar use case.
In terms of benefits for the IT they are no more scared about having to scale up the resources on the servers running the ERP and the SQL database: they just serve the same amount of workload as before the introduction of the mobile apps, who carries all the “heavy load” is Couchbase with GlueSync that carries the data between the parties acting as a persisted queue when needed.
What should come next? We covered logistics, manufacturing… wouldn’t be interesting to talk about a new customer just arrived with its brands to disrupt in the 👕 👚 industry? I couldn’t say more 🤫… until the next article!
Read more about GlueSync series.