Software Automation, today, has been the bent of mind in almost all sectors - fast-moving consumer goods, manufacturing, banking and finance, infrastructure, telecom, and more. The post-Covid world has posed serious challenges to both humans and industries. Industries and Plants are grappling with absent migrant laborers with the social distancing exigencies. As a result, plant closures and productivity losses have led to huge losses in businesses. So much so, many businesses are considering automation of their shop floors with robots.
Given the context above, the bare minimum the IT industry can do to foster the pressing need for automation is a speedy and convenient software delivery model to the business stakeholders.
While low-code platforms like Wavemaker have been around for rapid software development, the business logic if automated with workflows further accelerates this.
Wavemaker has been farsighted in this paradigm and has capabilities for integrating with automated workflow engines already in place. A Wavemaker application can integrate with the open-source lightweight BPM product - Camunda.
An organization made up of multiple nations wanted a solution that is completely open source and not locked into any commercial software. So WaveMaker's application architecture of code generation in open source technologies combined with Camunda’s open source Engine was the clincher.[/vc_column_text][/vc_column][vc_column el_class="hide-mobile" width="1/6"][/vc_column][/vc_row][vc_row bottom_padding="30" class="builder-advantages"][vc_column width="1/1"][vc_row_inner][vc_column_inner width="5/6"][vc_column_text]This organization has a Mechanical Plant with thousands of machines, requiring the automation of inspection and assessment of maintenance Tasks for its machines.
This includes
- Task identification
- Request for approvals for the identified Tasks
- Creation of Task Sequences
- Logging results of Assessments in the Database
- Review of Assessments, and further studies if required
Each of these steps typically requires the intervention, across the hierarchy, of Subject Matter Research Officers (SMRO), Subject Matter Experts (SME), and Maintenance Management Officers (MMOs).
A step like the Assessment of a task has its own workflow.
Implementing the entire business logic to such granular levels using traditional development methods would impede the speed of development, efficiency and tracking and so a lightweight Workflow Engine is a good fit.[/vc_column_text][/vc_column_inner][vc_column_inner el_class="hide-mobile" width="1/6"][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width="5/6"][vc_column_text]The business stakeholders for the plant chose Wavemaker which provided an easy modular implementation along with Camunda.
- Wavemaker provides widgets for quick development (using the drag and drop features) of clean User Interfaces.
- The Workflow Graphical representation is made using the Camunda Modeler.
- The Rules or Decisions are set up in a Decision Management table in Camunda.
- A REST endpoint for invoking the Camunda workflow is created and imported into Wavemaker.
- Java code with Spring-based REST APIs for all CRUD operations on each database entity is generated when the Maintenance Task Database (MTDB) is imported into the WaveMaker Application.
- Wavemaker provides pre-processing / post-processing hooks for customizations before and after the DB Calls.
- The Business Rules are externalized to Camunda decision flows so that any change in business rules does not impact the Wavemaker Application.
Here is a snippet of the Interaction Diagram at a high level -[/vc_column_text][minti_image img="23885"][vc_column_text]The Wavemaker Application and the Camunda Workflow can be deployed separately in different cloud instances so as to be able to scale them horizontally. [/vc_column_text][/vc_column_inner][vc_column_inner el_class="hide-mobile" width="1/6"][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row]
The life of an application is as long as the platform that supports it. Starting April 15, 2020, new application creation on Google AppMaker will be disabled and on January 19, 2021, the App Maker editor and user apps are shut down. As administrators, end-users, and developers using Google AppMaker search for alternatives, Google put this out in their blog post as choices for migration of applications.
- If you are using App Maker to automate business processes: Use AppSheet, a new addition to the application development portfolio that has capabilities similar to App Maker. Stored in Cloud SQL and App Sheet, App Maker data supports Cloud SQL databases, allowing you to build an application on the existing database linked to your App Maker app.
- If you are using App Maker to develop apps: Use App Engine to build and deploy applications on a fully managed platform. With data stored in Cloud SQL, App Maker allows you to build an App Engine application on the existing Cloud SQL database linked to your App Maker app.
- If you are using App Maker for data collection: Use Google Forms, which has many new features that were not available when App Maker launched.
- If you are using AppMaker for basic form and simple business process automation: Use Google AppSheet and FormMaker as no code products suit you well. They are good for simple data collection, form generation, and data persistence.
For full-fledged app development, Google is recommending customers to move to AppEngine which is Google’s PaaS platform to build applications in a traditional fashion. This alternative is unlike using a visual app development and delivery mechanism that provides greater productivity and faster time to market. However, the burden will now fall upon development teams to learn, integrate and manage application development and deployment. There are several challenges with introducing new technologies, re-learning takes time and it costs. Finding technical resources such as full-stack developers who will understand end-to-end application development is another challenge that enterprises will have to address. However, if you have a choice of integrating a platform that is user-friendly, requires minimal coding, and ensures upskilling of development teams, migration will be easier.
WaveMaker is positioned uniquely to provide a very good path for application development teams looking to migrate their applications to an open standards-based, scalable low-code platform. With WaveMaker, application development teams are assured of 3x faster productivity, a developer-friendly environment with a fully customized modern code stack, availability of complete app source code, and most importantly no vendor lock-in. Best of all, WaveMaker provides all the enterprise capabilities around web-scale scalability, enterprise security, and CI/CD mechanisms required for continuous and reliable delivery of your applications on any cloud of your choice.
Moreover, WaveMaker has inbuilt support for easy integration with external database SQL sources, RESTful integration, role-based app security controls, widget components library, and the ability to extend them and final deployment options on containers, Kubernetes, or VMs.
To better understand how WaveMaker is easier and better to use, here’s a comparison with Google App Maker:
Features |
WaveMaker |
Google App Maker |
“No Vendor Lock-in" |
Applications developed are based on proven open-source technologies and the platform libraries are available under open source license making maintenance of applications easier.. |
Uses proprietary technologies making the generated code (including platform libraries) difficult to maintain without deep knowledge of how the platform works. |
Integrations |
- Supports API and web services integration.
- Creates and imports databases.
- Provides a range of out-of-the-box integrations to instantly add powerful functionality to your apps.
- You can also create custom integrations, called Prefabs, and reuse them across apps.
|
- Integrates with Google Analytics and other applications in the G Suite bundle.
- As multiple tools are used for integration, database integration sometimes requires writing custom Java code.
|
IDE Interoperability |
Offers two-way IDE interoperability and an open-source runtime library, making application customization free from lock-in. |
Its cloud-based IDE does not allow exporting project code to external IDEs and re-import it to the platform. |
Customization |
- The platform appeals equally to citizen developers and professional developers or enterprise development teams.
- Supports the creation of complex, real-world enterprise applications.
- Supports ‘2-pass development’ that allows business users first to create applications and then enables technical teams to customize, if required.
|
- Supports simpler use cases and focuses on citizen developers.
- Lack of customization and flexibility required by various stakeholders.
|
Deployment |
- 1-click preview and deployment
- Packaging for Android and iOS app stores.
- Supports the flexibility of exporting WAR files of your applications, allowing deployment of applications independently.
|
- Provides deployment to a public cloud, private cloud, and on-premise environment.
- Lacks the flexibility to deploy applications independently.
|
If you are an existing AppMaker customer, we would love to partner with you on your application development journey!
Start Free Trial
By Swetha Kundaram, Senior Technical Writer, WaveMaker
After months of hard work, we have released a new documentation site for WaveMaker app developers. Besides frequent product releases, bug fixes, and new features, we are focused on improving the app development experience further.
The revamped WaveMaker Docs is a complete developer's guide to building enterprise-grade applications with a low-code solution. Our aim with this redesign is to simplify your day-to-day development activities and to comply with global documentation standards. By providing a better user experience, faster load time, and mobile-optimized access, we aim to positively impact the app development experience.
What’s new?
The new refreshing look and feel make the guide user-friendly and visually appealing. Using a well-organized tree-based structure, navigation across modules and related topics is easier. Added to this, to provide more accessibility, we have made our documentation open-source, which is powered by Git with the markdown data source. This means you can directly contribute to our docs. If you have a better solution for an older problem, please contribute to our docs. We will happily accept your pull request.
As we are in the process of continuous improvement you may notice some alignment issues due to recent migration and possibly a few broken pages. Please bear with us as we work on making the docs more stable. If you notice anything broken, send us a report and we will fix it right away.
Only the beginning
At Wave Maker, we believe in the power of modernization and hope our new design helps you find solutions easily and makes your WaveMaker app development process faster and better. As we continue to renovate, we aspire to empower you with all that you need to develop enterprise-grade applications rapidly, in reality.
As web application development evolved, usage of JavaScript skyrocketed. To address the variance in support of JavaScript, HTML across the different browser versions libraries like jQuery evolved to offer a layer of abstraction for the web developers, so that they can just focus on writing their application logic instead of worrying about the vagaries of browser support. Single-page web applications started to become the norm as more code started to be written in JavaScript than ever before. JavaScript has also become the language of choice to deliver applications that run on desktop browsers and mobile phones. So web applications written in JavaScript are now in the run-in environments with huge variations in parameters such as device CPU & memory, network bandwidth, browser support.
Powering this scale of growth needed the emergence of more JavaScript frameworks that provide abstractions over this diversity of hosting environments packaging up the best practices in loading times, memory usage, and responsiveness. There is simply no way to deliver a high-quality user experience without basing application development on top of these quickly evolving JavaScript frameworks such as Angular. Leave it to the smart folks in the Angular team to worry about keeping up with the evolving web application requirements while the application developers’ energies are productively engaged with solving the business problem at hand.
WaveMaker generates Angular code
WaveMaker is the only Rapid application development platform with open-standards-based code generation using Angular & Spring. Our 110+ UI components are implemented as Angular components built into libraries. When the user starts building a page in WaveMaker, the product starts generating Angular code in the background. The generated code imports the UI components user dropped into the page and then wires them up using data binding.
The code generated by WaveMaker is fully customizable, allowing developers to write custom business logic in javascript. Using WaveMaker our customers have built a line of business apps, customer-facing portals, and mobile applications in several verticals such as insurance, banking, manufacturing, healthcare, retail, etc.
Build full-stack teams and boost their productivity
WaveMaker offers ready to use and well-tested component library and a visual development environment to drag-n-drop these components to design a page. WaveMaker abstracts away all the Angular concepts like routing, scoping, security (auth guards), i18n, and service integration with REST, SOAP & databases, etc. The developer focuses on building application capabilities like user interface & interaction, representing data with widgets like Forms, Table, Lists or Charts, etc., defining access control for both UI components and APIs.
Mobile-First application development
WaveMaker UI components built using Angular are device responsive and designed to suit mobile-first apps. WaveMaker platform enables hybrid mobile application development, using device-native capabilities through Cordova combined with the power of responsive Angular widgets.
Bring in existing UI components
While WaveMaker has 110+ UI components and this list is ever-growing, we realize that teams may want to build reusable UI components to further decrease the time it takes to build applications in WaveMaker. WaveMaker supports importing reusable JavaScript components that are packaged as Angular.io elements, web components, or jQuery widgets. Using a WaveMaker feature called “prefabs” existing UI components can be imported and these will stay accessible alongside the standard WaveMaker UI components and can be easily dragged and dropped onto the page that is getting developed.
Keep your application on the latest version of Angular
When users develop an app, WaveMaker generates application metadata that does not depend on a specific Angular version. From the metadata the Angular code is generated by the platform, keeping the app agnostic of any specific version of Angular. This means that the app will stay using the latest versions of Angular as WaveMaker rolls out the support for those versions. By simply upgrading WaveMaker versions the application will start reaping the benefits of staying on the latest version of Angular. There is no need to spend time in big stack upgrade projects that consume the productivity of your team.
Build applications that load faster
One of the benefits of Angular is that the framework comes with tools that support very advanced build strategies that reduce your application’s footprint. This is very important to the application's load time as the amount of JavaScript that is getting downloaded from the cloud uses up critical resources such as network bandwidth, device CPU. Smaller the application footprint, the faster the app loads. When you attempt to deploy the WaveMaker app, we internally use ng build --prod mode with tree shaking enabled so that each page includes only the WaveMaker UI components that it uses and not all of the library. Essentially, the WaveMaker platform takes care of all the build optimizations and keeps the application footprint as optimal as possible to give better performance and first-time load experience.
Easy to deploy onto a CDN
WaveMaker builds which are triggered when the Deploy button is clicked can produce different bundles for frontend, backend code enabling the frontend code to be deployed on a CDN. Each of the resources the page depends on includes a fingerprint that represents the contents of the resource. This means that CDN that is serving static assets can be configured to set cache headers allowing browsers to cache the content and further optimizing the load times for returning users. Because of the content-based fingerprinting incremental releases of the WaveMaker application will only link to newer static assets if there was a change. In most cases, WaveMaker UI components for a page are already in the browser’s cache.