Building Micro Apps With Citrix Workspace & DreamFactory E-Book
An enterprise-grade API as a service platform available in the cloud or on-premise. Generate database APIs instantly to build applications in Citrix Workspace faster.
Access the portion of the application you need without leaving your workspace
It is entirely possible you’ve never heard of the term “microapp”. In a nutshell, a micro app is an application that does precisely what a particular employee or department requires. They perform custom and specific tasks without having to enter a monolith application. It typically consists of three components:
This paves the way for convenient interactions whether the employee is seated at their desk or walking through the airport with phone in hand. Interactions with microapps tend to require less than one minute of an employee’s time.
Microstrategy had been used for forecasting and analysis, delivering key business metrics to company executives across the entire organization. The self-service system had allowed users to create their own custom reports from a broad base of underlying company data. With countless hours of time and effort invested in creating these reports, it was vital that all this work was not simply discarded with the migration to the new system.
“One senior executive had created over 2000 Bespoke reports,” Williams recounts.
Williams was given the role of helping the supply chain business unit to navigate the new waters. His task was to analyze the content of the old Microstrategy reports and map this to the data source within the new system, allowing users to recreate critical reports.
“Most of the work was manual: Tracking all the fields and renaming the data sources,” Williams explains. “Being an engineer, I thought that I could create an application to automate a lot of this process.”
Avoiding Backend Backlog
Certain that he could create something of significant value for the entire business, Williams wanted to produce a rapid proof of concept.
“I wanted something that was fast and that I could just show people: here is what I am talking about, this is the value,” Williams continues.
To create a new application under the company's existing five-star application process, Williams would have had to develop the backend himself in Java or .Net. Before he got to the real task of creating his new application, he would have needed to spend weeks of time on process, approval and configuration of the security and access rights to the highly sensitive data on the underlying SQL server.
“I hadn't programmed in a while and this was not my main job. I knew that if I had to go to my boss and discuss the time and resources needed to build a backend application, the idea would be shot down straight away,” says Williams.
Convinced there must be a simpler way, he started exploring the potential of AngularJS applications, using REST services on the backend. Searching online for suitable backend REST platforms, Williams came across a talk from Ben Busse, chief developer evangelist for DreamFactory.
“I was amazed, I wondered if it really was that easy,” he recounts.
The Power of Frontend Focus
With the ability to focus on frontend development, Williams could get straight to the task of showcasing exactly what his application could do. He was able to create a more intuitive, user-friendly application. The user interface incorporated animation and made the application more touch friendly – an important factor with 70% of his company using Windows 8 notebooks.
“Some might say this is the easy part, but it is actually a lot harder to get the frontend right so that people know exactly what they are doing,” argues Williams. “For the project to work, I needed buy-in from the end users. And for them, frontend usability is the bulk of the application.”
The new application allows users to recreate their old reports themselves within the new SAP Business Objects system. By logging in with their user-id, the system shows staff all of the reports they had access to in the old Microstrategy system. Selecting a report reveals the underlying details of its contents and matches these through to the new data source. Users are shown the exact columns they need in order to recreate the report themselves.
Having originally built the application for his role in the company's supply chain department, Williams has created a valuable tool for the entire organization.
“The initial dataset is based around supply chain information, but the application works across the whole company, and IT are keen to let everyone use it,” he explains. “Having been able to focus on the application, the users love it and more users want it.”
Outside the Enterprise
Like many developers, Williams also maintains his side projects outside of work. Having discovered DreamFactory, he is excited about the prospects for using the DSP in his broader development.
“It's great, just downloading the user management part of any application with all security built in,” William says. “I have been chatting with the DreamFactory dev team online about creating authenticated logins from LinkedIn, Google+ and Facebook.
”As someone who “dabbles” in mobile app development, the availability of client SDKs for HTML5, native iOS and Android is also appealing.
“I have used Facebook's Parse platform, but it’s a paid-for solution, you have no control over it and no control over your data. If your application grows and you want to start doing more specific things with your data, you really can’t do that within Parse,” Williams recounts.
“It is appealing to have complete control of the backend, you can run DreamFactory on Amazon and you are able to do whatever you want with your data. It is also great to have the option to install the DSP anywhere, in-cloud or on-premises.”
As a start, Williams installed the open source DreamFactory platform locally on his MacBook, using a dedicated Mac OS X package from the Bitnami website. From the admin interface he connected securely to a MySQL database instance he had set up for his project. DreamFactory then automatically generated a comprehensive MySQL REST API for the database. The entire setup process took less than ten minutes: from installation to using the live REST API for his new application.
“I liked the tool, I liked the fact it was just easy and straightforward. It had a slight learning curve, but this was fast, and after this, everything was just easy and straightforward,” says Williams.
“The hardest part was populating the MySQL database before I started with DreamFactory. I had to extract the data, transform it and write a few scripts, but these are pretty straightforward things if you know what you are doing,” he continues.
With the database in place, DreamFactory took care of all the remaining backend functionality. DreamFactory exposed the underlying MySQL database as a straightforward REST API, allowing Williams to get straight into developing his frontend AngularJS application.
“The middle layer that talks to the database and then pushes data to your app can get pretty complex depending on what you are trying to do. DreamFactory just takes that out,” he explains.
DreamFactory’s built-in user management gave Williams all of the necessary security and access controls out-of-the-box. Williams had not simply cut corners or bypassed the time-consuming backend configuration: by using the DSP, he had downloaded a solid, ready-made, open source solution.
“DreamFactory streamlines everything and makes it easy to concentrate on building your frontend application,” he says. “I had found something that was just click, click, click.....connect, and you're good to go.”