Authored by Vikram Srivats, Chief Commercial Officer, WaveMaker, Inc
After the grueling stress test of a global pandemic, corporations must now contend with the stresses of war and a weakening macroeconomic environment and yet transform to become modern, composable, and competitive enterprises. Technology executives at the center of this transformation are pursuing bold yet pragmatic strategies, including building and scaling new software-driven business capabilities quickly. For them, the holy grail seems to be democratizing software application development itself – with low-code/no-code (LCNC) approaches – to deliver at speed and at scale to the business.
Professional developers and enterprise architects get involved in governing LCNC development as enterprises become deliberate about policies, processes, and people to scale this movement responsibly. But pro-coders themselves are not yet active adopters of LCNC platforms – they range from interested observers (at best) to those that detest LCNC platforms (for valid reasons).
Based on industry estimates, around 35-40% of a pro coder’s time is spent in setting up, creating guardrails, importing, and integrating with data sources, writing code from scratch, making code secure, testing and retesting applications, managing source control, and versioning, adding internationalization, making them accessible, optimizing for performance, and maintaining or upgrading applications. Another 30% of the time is spent on non-technical or operational activities. That leaves less than half of their productive time for thinking, innovating, and crafting complex and compelling apps and experiences.
Clearly, pro-coders experience pain. So, what should low-code platforms offer to entice pro-coders to adopt and, better yet, embrace them? Let’s dig in.
What if a low-code platform used an open standards-based, popular tech stack (React, Angular, and Bootstrap for UI; Spring for backend; Docker containers)? What if developers could actually see and read real (not model-generated or metadata-driven) code being generated? What if this code was written the way they code?
Pro coders are accustomed to seeing, reading, and understanding real code in a language or framework that is open and widely accepted. So, just give it to them.
Developers need the ability to add fine-grained logic to their applications; that is, writing custom services or creating custom APIs in a code editor alongside the drag-and-drop canvas.
Low-code platforms should offer developers the ability to configure each out-of-the-box widget to a high degree to allow for creating visually captivating experiences.
Imagine if developers could go beyond a standard UI widget library and create their own custom components – building blocks of API-infused UI – and add them to their private library. Sometimes, developers may also need to import pre-built components (React or Angular or GraphQL components exported as standard Web Components) into their low-code development platform and reuse them.
Finally, developers may want to create their own application theme – a combination of fonts, layouts, colors, and styles – to create a differentiated yet consistent branded user experience across one or more applications or products.
Integration and extraction from data sources such as APIs (REST, SOAP, or WebSocket), databases (such as MySQL, Maria DB, PostgreSQL, Oracle DB, SQL Server, IBM DB2, Amazon Redshift, SAP Hana, HSQL, and Mongo DB) or streaming data sources (like Kafka embedded in the app) – must be supported and be effortless.
CRUD operations are usually hardcoded by the developer and take up a lot of time. If a low-code platform could automatically generate all the CRUD APIs once the data source is imported, it cuts down the development time immensely. Similarly, an editable abstraction of the database that replicates the schema of the DB can help developers manipulate the data from within the platform itself.
Once imported, developers should be able to bind their UI easily and quickly to the backend via passing variables. Data from a REST call should then be easily displayed as entities on a page without any workarounds or wordy importing and model definition. Likewise, with a Swagger import, descriptions should be able to handle reusing the same model in multiple endpoints or recursive models.
For user authentication, developers may need to integrate with database, LDAP, Active Directory, SAML, and other authentication providers. SSO should be easily enabled with support for SAML federation and Central Authentication Server (CAS). For authorization, low-code platforms need to support coarse as well as fine-grained permissions that extend across pages, individual widgets on a page, and even individual APIs exposed by the application.
Developers look for protection against OWASP vulnerabilities (XSS, CSRF, brute force attacks, SQL injection) and support of encryption standards such as TLS 1.2+ during app hosting. Ideally, low-code platforms need to be certified by security leaders like Veracode who perform rigorous static and dynamic tests (iAST, SAST, DAST, and SCA).
Through session-less architecture, distributed caching, horizontal scaling through containers, and UI framework-specific performance features (for example, Angular 13 has lazy loading, Brotli compression, tree shaking, Ivy), developers using low-code platforms can build highly performant apps, minimizing chattiness and UI-to-backend roundtrips. As an example, instead of storing the state in a session, it can be backed by a distributed cache (such as Redis) to allow apps to scale horizontally.
Developers cannot be constrained to a vendor-specific app deployment infrastructure. They need the freedom and flexibility to host their apps anywhere – on any public, private, or hybrid Cloud, on K8s clusters, or on bare metal/on-premise infrastructure. Low-code platforms that offer a development model where the UI is decoupled from the backend, can allow UI and backend artifacts to be separately packaged and deployed (UI to CDN; as an example, backend to a standard Java server like Tomcat) using a standard archive or a Docker image.
Developers hand-code some of the most complex apps and systems in use today. They need low-code platforms to step up to the plate and deliver equally complex apps that can be sustainable over the long term in terms of maintenance and enhancements.
For example, low-code platforms need to integrate with 3rd party BPM tools (Camunda, jBPM, Flowable, Activity) that help developers orchestrate detailed workflows/tasks and need to support a full 2-way data exchange with the BPM tool’s runtime engine. Within low-code platforms, developers will expect to easily manipulate complex data (pick a certain number of arrays and use logic to combine them into a new set of arrays) and easily represent complex graphs without custom styling/CSS or tangling with data formats.
Developers may need to conditionally retrieve data using a parent-child relationship, be able to localize and internationalize applications, handle complex core code merges and upgrades with customized apps in deployment, deal with Swagger changes pushed to already imported Swagger files without rewiring all the variables, write and support complex business logic interleaved with visual development, support multiple app themes at runtime, support apps as deep links, set click targets to measure/launch intents or URLs, and so on.
Lock-in is a strict no for developers who value independence and freedom. That starts with access to generated code. Low-code platforms that do well in this space readily offer developers the ability to not only see and read generated code but also to export source code outside of the platform to an IDE of their choice.
Developers also don’t like low-code platforms that force them to use their runtime environment to deploy their apps, effectively locking developers and their employers into the platform through the app’s lifecycle. Lastly, from a licensing perspective, low-code platforms that restrict developers to a limited number of apps, app objects, or end users effectively throttle developers to a commercial model that becomes quickly expensive with usage and more apps.
Developers using cloud-native low-code platforms benefit in terms of collaboration, ease of access, availability, flexibility, security, frequent and easy upgrades, horizontal scaling, and the overall unit economics of the model for their app development and deployment.
Developer-friendly low-code platforms generate code using modern design patterns (for example, a Java maven project) enabling developers to see, extend, and customize code across all layers of the application stack. They enable every user to have a workspace running as a container instance. When an app is built, a repo is automatically created for it in the low-code platform’s source control/Git (and integrated with Prometheus/EFK for logs and metrics).
Finally, developers appreciate low-code platforms that embrace modern standards, say Android Material Design specification for visual design and building interaction across multiple devices using out-of-the-box widgets and themes. They value the ability to create functional, distributable, reusable, API-integrated, and independently testable experience components. Low-code platforms that offer twelve-factor standards assure developers that their apps are trustworthy.
Developers using low-code platforms will want their apps to connect to, integrate with, or be embedded in other hand-coded apps. Beyond iFrame support, low-code platforms that support embedding via a micro frontend approach (such as Single SPA) offer sophisticated functionality for developers to create seamless end-to-end experiences that cover high-code and low-code developed apps.
Professional application development teams tend to use design tools like Figma, Sketch, or UXPin; QA tools like Selenium, Protractor, or Karma for testing web apps; Appium for testing mobile apps; and performance testing tools and app profilers like AppDynamics or New Relic. DevOps teams have a plethora of tools for the build, test, integration, and deployment processes. Post-deployment, developers would like to monitor app performance events, and page tracking via Google Analytics or Adobe Analytics. Low-code platforms that endear themselves to developers will have to play well and integrate seamlessly with these toolsets and design, build, test, release, and monitoring processes.
Lastly, while low-code platforms may provide their own VCS (such as Gitlab), they need to offer easy integration with external repositories like GitHub or Bitbucket. Developers should be able to pull, view, and push changes and merge conflicts between source control systems. They will appreciate low-code platforms that support app versioning from code-level commits to component-level and application-level versioning for releases (including a major or minor version format), allowing multiple versions of the app to co-exist in different deployment environments such as test, stage, or pre-production.
A UI developer or backend developer using low-code platforms should be able to develop a complete application with, for example, a basic knowledge of SQL, JS/Java, and zero DevOps, and transform to full-stack developers. Using the Java world as an example, developers don’t need knowledge of advanced JS framework, HTML5, CSS, Bootstrap, Spring, ORM, REST, advanced SQL, native device programming, mobile integration, building and running Docker scripts, or manual integration with CI/CD pipelines.
For technology stack upgrades for apps built using a low-code platform, developers should be able to open apps in the target version of a low-code platform with the latest tech stack (as an example, Angular 14 for UI). The app upgrade should be automatic, and the transition seamless.
Developers and CTOs/CIOs alike are constantly worrying about creating technical debt for the future. Enterprise-friendly low-code platforms are built on an open-standards-based modern tech stack, shift the burden of tech upgrades to the platform, offer source code that is extensible outside of the platform using commonly available skillsets, and play well with a modern enterprise’s toolsets, practice, and standards.
Originally published in Embedded Computing Design
A freshly minted React Native studio, developer tools, API composer toolkit, Angular 12 update, Azure Repos VCS, MLTS for REST APIs, and the list goes on………
WaveMaker is a composable experience development platform powered by the paradigm of low-code. With every new release, we at WaveMaker, attempt to carve out features that help enterprises and professional developers build captivating user experiences in sync with market demand.
Enterprises can embrace composability only when the tools that they adopt enable it. Keeping that in mind, our team at WaveMaker has built the next big thing for the world of composability through low-code—WaveMaker 11.
Here is what we have got for you this year!
With around 3.8 billion smartphone users worldwide, mobile app builders are constantly looking at ways to drive better engagement, reduce drop-offs and increase in-app growth. In short, mobile app adoption is driven by the user experience that they offer.
On the other hand, ISVs and enterprises find it difficult to create consumer-grade mobile applications with run-of-the-mill tools that are either specific to a device or OS or, simply do not have an integrated platform to create both web and mobile apps. Moreover, customers are not content with responsive web experiences force-fitted within mobile apps. The UI and the associated user experience on web apps are just not good enough.
Building compelling user experiences such as smoother onboarding, faster startup, slick transitions, customer-centric features, native feature accessibility, and contextual awareness becomes easier with an app development platform that is tailor-made to create cross-platform native apps.
These are the factors that our team at WaveMaker kept in mind while crafting the WaveMaker React Native studio. In fact, there is an entire WaveMaker UI component library in the React Native studio that lets customers design and build mobile applications leveraging the low-code productivity that WaveMaker is famous for. Let us look at some of the salient features:
With React Native studio added to its kitty, WaveMaker is raising the bar in mobile app experience development one notch higher. Additionally, all web applications created in WaveMaker can be also made available as Progressive Web Applications, offering a plethora of choices for our customers.
We truly believe that if you are already a WaveMaker subscriber or considering the platform for your mobile app development efforts, the addition of React Native studio to the platform increases the value of your investment substantially.
To know more about the WaveMaker React Native studio, click here.
The application modernization services market size is estimated to grow to $24.8 billion by 2025. A large chunk of this modernization effort can simply be attributed to upgrading the tech stack or modernizing the UI. However, in many cases, the cost of upgradation and the configuration hassles that come with it outweigh the benefits of modernization and as a result, companies are forced to take a step back.
At WaveMaker, we have always promised that upgrading to the latest version of WaveMaker also includes upgrading to the latest tech stack. This is by default.
WaveMaker 11 GA has upgraded to Angular 12 from Angular 11. This simply means that if you open any of your applications previously built on older versions of WaveMaker in WaveMaker 11, they automatically get upgraded to Angular 12. The ROI in terms of cost and time, in this case, is substantially higher when compared to a manual upgrade.
Customers need seamless and smooth user experiences. Building such performant applications needs an API backend that is fast. The new release aims to bring composability to the API layer, allowing multiple APIs to be combined together to create unified experience APIs.
The API Composer Toolkit allows WaveMaker developers to build APIs on top of existing systems that are just right in terms of verbosity and comply with the “Principle of Least Privilege” security rules. Using the Spring framework, this tool allows the creation of unified experience APIs that are designed keeping in mind the ‘backend for the frontend’ design pattern. With API Composer Toolkit, developers can now leverage the use of a single Java Service API that calls multiple APIs(REST/Swagger/Database) and consolidates their responses into one Response Object thereby reducing time and code complexity.
To know more about the API Composer Toolkit, click here.
WaveMaker Studio already comes with a version control system that runs within your platform machine. This is based on Gitlab. Additionally, WaveMaker Teams customers can choose to add an external repo of their choice like their own instance of GitLab, GitHub, or BitBucket. With WaveMaker 11, team admins can configure Azure Repos Version Control System (VCS) for storing project source code. You can now easily set up CI/CD pipelines to build and deploy WaveMaker-built applications on top of your enterprise version control system. Not only is there a reduction in the total cost of ownership of WaveMaker, but it also enables Teams customers to use existing IT infrastructure.
For more information, see Azure Repos Code Repository.
WaveMaker has always stayed true to its promise of building applications that are safe, secure, and easy to run. Enabling an additional security layer by configuring MTLS (Mutual Transport Layer Security) for all REST APIs is a feature directed toward building secure apps. With this feature, when you import APIs into WaveMaker to build your apps, you can now set up the SSL connection between WaveMaker and your APIs to use MTLS.
For more information, see MTLS in the WaveMaker application and a detailed blog about MTLS.
WaveMaker applications are built to 12Factors.app principles. One of the ways WaveMaker apps can be deployed on horizontally scaled infrastructure is to build them to be stateless. With WaveMaker 11, application sessions can now be configured to use a distributed cache. We already support DB, and REDIS and have now added MongoDB to offer more flexibility during the deployment.
Debugging and monitoring your applications can be a daunting task. Make debugging your application easier with WaveMaker Devtool. Installing this chrome extension will let you debug and monitor WaveMaker 11 applications in preview via the ‘inspect’ mode. To further enhance developer productivity, this browser plugin enables developers to track and profile API invocations, page load times, prefab load/render times, etc.
Take advantage of a simple yet powerful pom.xml and create a clear separation of the WaveMaker platform from application-specific dependencies. The new POM contains fewer lines than before and has been remodeled to inherit from the parent POM making it easily readable and comprehensible.
All WaveMaker projects that are using SAML(spring-security-saml2-core) as a security provider will be migrated to a new version of SAML thus removing the dependency on Spring extensions that have reached the end of life.
Teams, a collaborative development environment is now shipped with WaveMaker Enterprise too. Within one enterprise installation, you can onboard multiple Teams, while giving each Team ability to manage projects, roles, and code repositories, add or remove team members, grant permissions, and more. Read this blog to know more about what Teams can do for you.
Our freshly minted React Native studio brings low-code and React Native mobile frameworks together, allowing mobile app composition using prefabs. For a WaveMaker developer, there is no new learning curve; for a mobile developer, there is the flexibility of low-code, the feature-rich app development framework, and the support for easy composability.
This new release is a milestone for WaveMaker. This release, while offering composability at the API layer, allows unified experience development. Additionally, the API Mock Server increases developer productivity with mock APIs that can be created during development. This enables UI development teams to continue building the experiences using low code without the need for a fully developed/functional API.
WaveMaker 11 GA brings with it a host of other features that increases the value proposition of being subscribed to WaveMaker. From Flex Layout Widgets, Java 11 upgrade, and pagination for imported APIs, to multi-version studios, WaveMaker 11 GA aims to increase the value proposition for WaveMaker subscribers and prospects alike. With this release, we can truly say that composability and seamless native mobile app development is just an upgrade away!
WaveMaker 11 GA - Build Components. Compose Journeys. Differentiate the Experience
To read the full list of features in WaveMaker 11, please read the release notes here.
A byte about visual modeling and programming
Visual modeling and visual programming techniques transform numbers into visual elements such as charts, maps, graphs, and tables using standard graphical notations. Data visualization is crucial in supporting real-time decision making and has become a core feature in modern application development platforms. Visual modeling and programming not only allow you to build a model of your system or application, but also to model systems easier, faster and more accurately on the front-end, while maintaining the syntaxes and semantics at the back-end.
Today’s software and application demands require a ready-to-use foundation before anything is built on it. To eliminate iterations in your application development lifecycle, a powerful approach is to adopt model-driven development. By using a model as a starting point to describe your business semantics and then generating application artifacts from that model, you can deliver applications faster with higher productivity.
What low-code platforms have brought to the table in terms of visual modeling and programming, is easy-to-use, drag and drop features, and customizable widgets, helping you to create critical and device-agnostic applications with responsive dashboards.
Whether it is full or partial dependency, find out what type of Model-Driven App Development Approach suits your business and application development needs.
Take Visual Modeling and Programming to Next Level Using Low-Code
“It took a single developer 1 week to build an entire application!” Find out how low-code addressed a real-world problem using visual modelling techniques.
Advantages of using WaveMaker for visual modeling and programming
Visual programming and visual modeling just got easier. You can instantly create a chart, plot a map, or build a dashboard to visualize data from any source using WaveMaker. By using built-in widgets and prefabs, you can build applications within days without any need for coding.
It’s a data-driven world! Whether the objective is to visualize data, modernize legacy systems, or deliver a personalized experience, business-critical applications are being developed at greater speed. To develop customized applications at greater speed, low-code provides professional developers with the much-needed agility.
Find out how you can enhance your visual programming and visual modeling techniques using low-code.
Low-code means different things to different people. While the industry is exploding with low-code platforms, ours is purpose-built for professional developers. If you are already using a low-code platform or shopping for one, there are many critical factors to consider. Read on..
Will I be the owner of the code?
The code should be yours to mix, extend, customize, transfer or export
What should “no lock-in” mean to me?
No shackles of run-time cost, proprietary architecture, and limited infra options
Will the developers need to be certified to use the platform?
You want quick learning and future-proofing your teams’ skills
Is my vendor’s pricing strategy sustainable?
Scaling up shouldn’t disproportionately increase the cost of doing business
With over 2 decades of experience in the application development and modernization field, our product evangelists have enlisted 12 critical capabilities to consider while comparing various low-code platforms.
Find out how the 5 most popular low-code platforms stack up on each of these capabilities. Download the document for an objective, quick, and consumable take on the comparison of low-code platforms
Reduce repetitive development work and save heaps in time and effort.
Explore the unique requirements of enterprise application development and learn how to choose the right enterprise application development software.
Enterprise Application Development is a complex process of creating application for business purposes. They are complex, customized for critical business requirements and can be deployed on the cloud, on a variety of platforms across corporate networks, intranet etc. Designing and developing such enterprise applications means satisfying hundreds or thousands of separate requirements.
An enterprise applications are large multi user, multi developer and a multi component applications that can work on large chunks of data and utilise extensive parallel processing, network distributed resources and complex logic. These applications can be deployed across multiple platforms and operate simultaneously with many other applications.Enterprise applications are business oriented and deployed to meet specific business requirements. They encode business policies, processes, rules and entities and are developed with specific business requirements in mind. Hence, these applications require special tools in the form of enterprise application development software to cater to their unique needs.
Though traditional application development methodologies, are known for having clear objectives, stable requirements and measurable progress of development, they are time consuming, have minimum iterations and there is very little customer interaction. Hence, traditional application development methodologies and tools are unable to fulfill the demands of modern enterprise applications.The failure is not just for web applications, traditional methodologies are not a perfect match for mobile application development as well. Some of their shortcomings are
Hence it can be summed up that Enterprises today are in the look out for better tools, applications and software as the traditional methodologies could not gain much success.
New and Emerging trends in Enterprise Application is impacting application development in a big way. Let us see the key trends :
Usability (UX) – Usability is the norm of the day in when it comes to Enterprise Architecture. Users expect their apps to be more intuitive and provide more relevant content suited to their own business needs. In the coming year, developers will have to focus more on ease of usability and responsive design.
Consumerization of IT– Consumerization of IT has impacted Enterprise Application’s changing landscape. Technology today is consumer oriented. Business imperatives are given utmost importance.
Commodity Computing (cloud), horizontal scaling – Applications today are hosted , developed and customised on the cloud . Cloud computing has increased accessibility and ease of operation for users of Enterprise application development.
Rapid Application Delivery & Low-code Development – RAD or Low-code development is the new trend in Enterprise. Minimal Coding is making Enterprise Application Development more business centric and easy. Customers are involved at each phase of development.
Loose Coupling (APIs, Microservices, Composable architecture) – With the introduction of Loose Coupling and microservices enterprise applications are delivered as an independent runtime service with a well defined API. The Microservices approach allow faster delivery of smaller incremental changes to an application.
Modern enterprise Application development focusses on reducing application development timelines and at the same time addresses a whole gamut of other related aspects of modern web applications required for today’s modern Enterprise. Modern day application is rapid in terms of timeline, cost, and usability . We call them RAD ( Rapid Application Development) and they emphasizes on:
Ready-made Application Infrastructure: Providing a browser based development environment. No more hassle of installing, setup, ongoing configuration etc.
Usability: Making sure good-looking and rich user interactive applications can be developed. Increased attention to creating pixel perfect responsive UI applications on both Desktop as well as Mobile Devices.
Full Stack Development: By leveraging modern client side frameworks and server side technologies, Modern RAD is now capable to auto generate code for the entire application (client side, Server side as well as integration touch points to external systems and services via APIs).
Pre-Defined Best of Breed Technology Stack: Providing a pre-defined well tested best of breed of software components as the technology stack for application development. No more worries about enterprises having to maintain multiple teams to support complex permutations of technology stacks.
Business User Participation: Simplifying the application development process such that technical business users can work together with professional developers in developing the application. This greatly benefits enterprises as business user comes in with domain knowledge and can validate the implementation, as it is being developed.
API-led Integration: Providing REST API based integration approach such that application can easily integrate to an internal, external as well as Cloud based service. This allows for faster, easier development and avoids reinventing the wheel again.
WaveMaker is an award winning rapidly Enterprise application development and delivery platform that helps create enterprise grade web and mobile apps. With over 10 years of market presence, thousands of developers use it to create applications 67% faster.
WaveMaker’s software platform revolutionizes how enterprises build, deliver and manage modern custom applications, improving business agility and fostering innovation. WaveMaker leverages the latest trends and technologies in Rapid App Development (RAD) such as multi-device auto-responsive interfaces and componentized app assembly, Docker for app-optimized container deployment on private infrastructures, and APIs and Microservices Architecture (MSA) for scalable integration.
Get Started with a free 30 day trial of WaveMaker Enterprise Web Application Platform.
A RAD approach to build future-ready apps
One way to drive the adoption of applications is to build one that’s customized to the user. When you have teams within teams, from cross-functional to self-managing teams, every user, from an IT leader to a line of business (LoB) executive, demands modern applications designed to their requirements. The essence of agile enterprises is to create value and flexibility for business users with fluid IT capabilities.
IT cannot deliver all the custom apps that your business needs Address the pace of your application development needs with Custom Application Development Services
RAD platforms such as WaveMaker are revolutionizing how enterprises build, deliver, and manage modern custom applications. Improve business agility, foster innovation and accelerate application development.
Accelerate the journey to cloud-native, omnichannel, microservices-based enterprise-grade applications with a composable experience platform powered by low-code.
A McKinsey survey found that in 2021, “companies devoted more resources to their digital and technology capabilities during the pandemic, even as they cut resources from other parts of the business.”
This should come as no surprise given the dramatic change in business models, competitive landscape, and customer behavior seen in the last couple of years. In response, enterprises across the globe are modernizing their application stack to increase agility and performance, and provide compelling customer experiences.
Application modernization is the process of identifying legacy apps—which are typically on-premise, monolithic, and written in outdated languages—and modernizing them into cloud-native, omnichannel, microservices-based, feature-rich digital applications rich with intuitive customer experiences.
It is important to note that application modernization is not just about upgrading the software. It is often also accompanied by a modernization of processes to be more agile with shorter release cycles and the transformation of the organization itself to be more experimental and innovative.
An application modernization initiative is driven by changes across the three levels of the app: Experience, integration, and architecture.
Upgrading the user experience (UX) layer for a more modern, responsive, cross-platform design to deliver personalized experiences to customers.
Making legacy data accessible through channels like the cloud, mobile, web, etc. via APIs. A well-managed API serves as a mechanism for enterprises to leverage their digital assets and build new products around their core capabilities.
Transforming the architectural foundation of applications by adopting modern technologies to enable agility, scalability, portability, speed-to-market, development efficiency, and ongoing innovation.
Using hybrid architectures including public and private clouds allowing an enterprise to move workloads between the two platforms. Sensitive data can be hosted on a private cloud for security while big data applications can be stored on a public cloud for cost efficiency.
Leveraging modular, distributed, small, single-purpose applications called microservices that deliver services using APIs. Microservices is poised to take scalability and continuous delivery to the next levels in the years to come.
Building portability and reducing infra dependency with containers, which wrap up an application in a complete filesystem that has everything it needs to run: code, runtime, system tools, and system libraries. This enables it to run smoothly regardless of any environment.
Transforming development methodologies from traditional waterfall towards DevOps and DevSecOps models, bringing agility, speed, and efficiency into enterprise teams. It empowers technology teams with experimentation and innovation capabilities, so they can adapt to market needs more effectively.
Traditionally, applications are built around operational efficiency—delivering the best possible service in the cheapest way they can. Today, this is not enough. Organizations need more. They need:
In the rapidly changing world, customers demand their banking app or online shopping app to deliver the same sticky and personalized experience that their social media and gaming app offers. Legacy applications are unable to deliver this. To meet the customers where they are and deliver on their needs, enterprises need application modernization.
Enterprises can not afford to build an internal team or outsource to an external vendor and wait for months to launch new features. For instance, when the pandemic hit and banks needed to sell online, they couldn’t wait a year to develop that capability. Today, taking digital experiences to the market quickly can be the most powerful competitive advantage. Legacy apps can’t enable that. IT modernization has the potential to reduce defects and time-to-market by up to 60%.
Legacy monolithic applications are large and take up significant resources to function. Application modernization breaks them down into smaller, manageable microservices, using only the resources that are absolutely necessary. Additionally, by leveraging composability, enterprises and software vendors can also create a repository of functional components that can be retrofit into existing applications, gradually replacing existing functionalities while not disturbing existing processes and thereby, reducing costs. With containers, modern libraries, and dynamic scaling of cloud platforms, organizations can save both real and opportunity costs of running enterprise applications.
Every day, new threats are emerging online. Monitoring and protecting legacy applications can be a mammoth endeavor in itself. Application modernization enables enterprises to build more secure applications, shifting security left in the development process. Moreover, it also makes it easier to address security threats and deploy patches faster and more effectively.
Legacy applications are often written in languages and follow processes that do not have the talent pool available to develop and maintain them. Containerization allows polyglot teams to function effectively together, setting up dev environments faster and ensuring that the app works on production environments the same way it did on the developer’s machine. With a composable approach, functional components created by IT teams can further be reused by business developers and implementation teams to quickly modernize smaller bits of applications. In fact, with IT modernization, enterprises increase employee productivity by up to 30% and motivation by up to 40%.
More often than not, application modernization is not merely changing the software to a modern environment. It is accompanied by a cultural change towards building smaller services, deploying them in smaller cycles, receiving feedback, and optimizing continuously. To leverage cloud platforms, containers, DevOps processes, etc., the organization needs to transform itself into an agile and adaptive enterprise—a change that powers sustainable growth and profitability.
While the benefits are overwhelming, enterprises continue to struggle to adopt application modernization for a range of reasons.
Application modernization initiatives often involve the transformation of mammoth applications. This not only requires technologists who understand cloud-native, microservices-based app development but also have a clear grasp of business logic and industry acumen. This combination of subject matter expertise and technology skills is a challenge to find.
IT leaders often fear disruption of their mission-critical enterprise applications, and rightly so. Moreover, the enterprise technology landscape can be so complex and precarious that touching one app can bring the entire deck of cards down. Therefore, creating the right application modernization strategy that ensures a smooth transition from legacy to modern applications remains a challenge.
Large-scale application modernization projects can be expensive, whether you’re building with an internal team or outsourcing it to an external vendor. Without a clear view of the return on investment, IT leaders struggle without the budgets to launch app modernization projects.
A recent study found that enterprises use an average of 200 applications, with security, engineering, and IT using the most. While some of these are SaaS products, most tend to be legacy apps. Modernizing them all at once would be a significant burden on the company’s bottom line. Without repeatable architectures and composability, the redundancy of work will also be high.
For any technology initiative to demonstrate value, it needs to meet the needs of the business. When IT and business teams don’t talk to each other, they run the risk of launching application modernization initiatives that don’t drive business results. This affects the organization’s—teams, leaders and the board included—enthusiasm towards application modernization.
For decades, enterprises have attempted to modernize their applications with little success. A recent BCG study showed that “70% of digital transformations fall short of their objectives, often with profound consequences.” Once bitten, twice shy, IT leaders resist taking the plunge again.
Not all application modernization initiatives are the same. To ensure success, enterprises need to adopt an app modernization strategy that works for them. Here are some pointers to keep in mind.
It is not uncommon for enterprises to choose the oldest application to modernize first. This app modernization strategy, even when the project is successful, falls short of the business transformation it can deliver. Instead, we recommend that enterprises choose applications that offer the most valuable business capabilities. When an app modernization initiative delivers ROI, it makes it easier for the entire organization to get behind it.
Gartner suggests that enterprises evaluate potential apps to modernize on six drivers. Three of them are business-related: business fit, business value, and agility; and the other three are technology-related: cost, complexity, and risk. The best opportunities offer transformation across multiple drivers.
Whether you’re beginning a pilot project, or modernizing your nth application, a clear, strong, relevant, outcome-driven business case shields you against the risks of failure in several ways.
Instead of entirely dumping the enterprise application for a modernized one, organizations must consider a progressive approach to breaking down monolithic apps for microservices-based ones. By integrating legacy systems with modern apps through APIs, enterprises can continue their business as usual without disruption, while building future-proof tech along the way.
We believe that for application modernization to deliver on its promises, it must impact at three levels: Infrastructure, development, and delivery. A strong app modernization strategy must enable multi-cloud leverage, rapid and error-free containerized delivery to create open standards, multi-channel and microservices-based apps.
Time-sensitive and cost-conscious projects can not wait for months to build. They need the speed that can only be delivered through automation, simplified integrations, dynamic scale, etc. They need to minimize redundancies and reuse existing builds. They need a robust low-code platform to accelerate enterprise application development.
Low-code is a modern approach to agile software development. A low-code development platform helps developers create products visually by abstracting and automating commonly used components. Developers can easily drag and drop commonly used features instead of having to code extensively.
Addressing all of the above challenges intuitively, low-code is one of the best app modernization tools available today.
A good low-code platform serves as an app modernization tool that abstracts and automates processes at every stage of the software development lifecycle. How to choose the right platform for rapid app modernization with low-code?
While choosing the low-code platform for your application modernization strategy, ask yourself the following questions.
A good low-code platform can be the app modernization tool of choice for professional coders, who want to build powerful, long-lived applications that offer a differentiated experience on the web and mobile, which can evolve with user needs.
A good low-code platform needs to have the foundation of open standards in order to ensure an open and extensible approach to application delivery. Also, the platform should use a best-of-breed application stack for developing full-stack applications.
A good low-code platform must enable out-of-the-box integrations for data and services. It must offer custom integrations to be built and reused across apps. It must also enable integrations with legacy applications for implementing incremental development.
For instance, the information and digital systems office of the State of Geneva incrementally modernized over 40 applications using WaveMaker while keeping the integrations intact for seamless BAU.
A good low-code platform must offer the ability to create applications using a single code base that can adapt to any native platform or operating system, be it iOS, Android, Windows Mobile, BlackBerry/RIM, etc.
Canadian foodservice distributor, Flanagan, leveraged WaveMaker to achieve this. They reached out to WaveMaker to replace the existing application with a modern and responsive interface that provided a better, more consistent user experience across browsers and devices.
An end-to-end low-code platform will offer the ability to scale applications and handle private cloud needs. This will be in the form of features for rapid and continuous provisioning, deployment, instant scale-ability, and maximum utilization of resources.
A robust platform will take an API-first approach to application delivery, making it easy to import data from any service and bind it to UI components.
A sustainability-focused low-code platform ensures maintainability, where the code generated follows design patterns, is well-organized, uses standard naming conventions, and generates documentation that developers can understand and maintain.
A secure low-code platform will support flexible authentication and authorization mechanisms as well as integration support for popular identity management systems like AD, LDAP, SSO, and OAuth.
A flexible low-code platform will allow customizations in the form of leveraging their existing systems or the ability to allow custom coding or integrations with modern AI and IoT-based systems.
A good low-code platform not only accelerates the development of your first app but also strengthens the foundations of ongoing modernization. For instance, with a composable experience platform, you can create custom user journeys such as completing a transaction or creating a dashboard. This user journey can then be used to build new apps — all it takes is to plug and play. At each new app, users can customize it, if needed.
This is what J.J Richards, a WaveMaker customer, did while building a comprehensive set of 10 critical applications using a lean team within just 18 months!
A good low-code platform should have the latest tech stack that allows you to build a modern responsive UI in your apps. The platform should make it easy to move your workload, i.e your applications to multi-clouds with containerization. Furthermore, the platform should be flexible in integrating or adapting to newer technologies and trends entering the market.
Like the Bank of Social Security, the Netherlands did while transitioning their mission-critical applications from the Microsoft framework to Java low-code in mere months.
WaveMaker is the most open, extensible, and flexible Low-code Platform that complements your enterprise application delivery while keeping in mind the requirements of Software Developers, Citizen Developers/Business Users, IT Architects, and CIOs.
|Bank of Social Security, Netherlands modernized legacy apps and built new ones with WaveMaker.
Read case study
|The information and digital systems office of the State of Geneva built 40+ applications with complex integrations using WaveMaker.
Read case study
|Australian waste management company achieves rapid modernization of 10 critical applications leveraging WaveMaker.
Read case study
|Canada’s largest independent foodservice distributor improved user experience with WaveMaker.
Read case study
Start a 30-day, free trial today at www.wavemaker.com/get-started
The years 2020-21 will be remembered for the pandemic and the subsequent resurgence. It will also be remembered for the time where over half the world’s population pulled out their mobile phones to buy groceries, order food, get paid for services, shop for clothes, and even pay for healthcare. While the pandemic ravaged nations, humans quickly adapted to new ways of transacting. Financial transactions through almost any app of any industry became a reality and more or less a force of habit.
What made that drastic leap possible was set in motion years ago with the advent of Open APIs. The emergence of public APIs and regulatory changes such as PSD2 spearheaded the ‘Open Banking' revolution. A flurry of fintech companies followed, offering to ‘embed' financial services in non-financial apps. Financial capabilities once considered the privilege of banks, became a necessary touchpoint in the customer journey of any brand. While banks still held dominion over regulatory licensing, fintech was able to squeeze in financial offerings between the layers of ‘bank' and ‘brand' with alacrity: Thus leading to the emergence and rise of ‘embedded finance'.
In fact, according to Juniper Research, in 2021 alone, the ‘embedded finance’ market is said to be valued at $43 billion and is set to soar by 215% by 2026.
Uber and Lyft are some of the most well-known early adopters of embedded finance.. Tackling the simple pain-point of cab riders (searching for cash, taking out a credit card, toggling between apps), Uber introduced embedded payment in its cab booking app. Its early success in alleviating a major pain point in customer experience spawned a rush for embedded payments in large, digital savvy, non-traditional players ranging from e-commerce (Amazon) to food delivery apps (Deliveroo). Fintech with technical know-how and financial acumen followed suit with offerings customizable for banks and brands.
This led to the emergence of another layer between fintech and banks, what is called Banking-as-a-Service (BaaS). Unlike Open Banking that offered only data, BaaS offers APIs for banking services that fall under the ambit of regulatory services. The fact that these APIs could now be leveraged in any digital customer journey opened up a plethora of value propositions for brands, hitherto not possible--retailers providing a ‘Buy Now, Pay Later'(BNPL) option, car dealers offering loans and insurance, and utility providers launching wallets.
The customer-share pie for financial services became open to all.
What started as embedded payments has now evolved into multiple use cases such as embedded insurance, embedded banking, embedded credit, and embedded investment. The use case list has expanded to every industry from retail to HR and has the potential to morph further. While digital-savvy, large enterprises are quick to adopt, small businesses are also jumping into the fray. Uber which was only offering payment services, now offers loans to its drivers and an Uber debit card for a checking account to its users. On the other hand, banks, both new and traditional, are opening up new avenues to reach out to their customers.
For brands, it is the customer journey that matters. For banks, it is high volume and less cost. A win-win in any case.
If we look at banking trends over the decades, the underlying driving force that has spawned thousands of new players in the financial services industry is most surely -- APIs. From Open Banking to now Banking-as-a-Service, companies that have proactively embraced the evolution of APIs have been successful in embedding financial services. However, it is easier said than done.
Banks/ Providers typically have an API-only approach. There is no touch and feel. The graphical elements or abstractions on top of these APIs need to be recrafted and customized per brand, per use case. With virtually every bank jumping into the bandwagon, brands (especially SMBs) look for technical expertise to evaluate and buy from the exhaustive list of APIs. Navigating the labyrinth of APIs would also involve sourcing and integrating APIs from multiple providers, brands, and third parties. To build a digital layer over the APIs, the brand has to either depend on its own IT and available tools, or they have to turn to fintech or ISVs that can help them leverage the power of these APIs on an integrable platform.
Businesses spend inordinate amounts of money and time to consume complex APIs and launch embedded finance services. Traditional hand-coding while integrating with APIs is cumbersome and can lead to latency in time-to-market. Subsequently, many businesses lose their first-mover’s advantage.
Low-code platforms can help businesses in two ways to gain momentum:
A low-code platform can now act as an aggregator of financial and non-financial APIs and provide a contextual layer that is customized per brand/bank.
Battling out on fierce financial terrain, are large and small brands and FIs. Whether it is ‘Buy’ or ‘Build’, businesses, fintech, and ISVs agree that application development platforms need to offer two very important aspects while integrating APIs: flexibility and security.
Low-code platforms that come with inbuilt security and a “whatever-whenever-wherever” facilitation effectively neutralize these two major concerns faced by incumbents of the financial services industry.
Over the past two years, industries have shown resilience and adaptability like never before. Embedding finance into a consumer app has become a norm. A norm that took wings years before but gained momentum in the past two years. The hyper-acceleration of embedded finance in financial and non-financial applications is the phenomenon of businesses reacting to unforeseen circumstances in the most creative manner. Low-code platforms like WaveMaker can assist small and large brands in consuming and integrating disparate APIs with ease and provide a contextual consumer interface abstraction over them.
The synergy created by low-code, embedded finance, rapid application tools, and digital transformation in general, are shaping the face of what creative adaptability looks like.
Forrester finds that, in 2020, over 27% of organizations improved their customer experience (CX) index scores, a big number compared to the few who were making progress in the years before.
“To emerge successfully from this global crisis, brands must build experiences that help them engage with their customers at an emotional level,” wrote Forrester SVP, Sharyn Leaver.
So, how do enterprises engage customers at an emotional level when the predominant
channel of interaction is now digital?
By delivering insights-driven, personalized, contextual, end-to-end digital customer experiences anytime, anywhere, across channels and devices.
To achieve this, at accelerated time-to-value and scale, enterprises need a springboard: A Digital Experience Platform.
Gartner defines a Digital Experience Platform (DXP), as an integrated set of technologies, based on a common platform, that provides a broad range of audiences with consistent, secure, and personalized access to information and applications across many digital touchpoints.
Most enterprises have the business engine and the digital engagement hub, even if some of them might be legacy software. However, the digital customer experience layer needs to respond to rapidly evolving needs, offering opportunities for experimentation and rapid implementation. It is here that low-code can help. Here’s how.
In most industries, IT is designed around the organizational structure, not customer needs. For instance, the technology architecture of a retail organization is driven by the supply chain — divided into inventory, point of sale, customer relationship management, e-commerce, etc. So, if a customer wants to check on the company’s website whether a product is available in their nearby store, it would be next to impossible because the e-commerce engine doesn’t speak to the inventory management system.
A digital experience platform can enable enterprises to address such use cases without elaborate investments in product development. When the business engine is built on customer-oriented architecture, deploying applications as microservices, loosely coupled, and API-driven with functional encapsulation, the low-code customer experience suite empowers you to drag and drop any combination of features and functionalities to create a new app. It effortlessly abstracts the various business engines to create apps with little manual programming.
No customer wants to search and scroll endlessly on their shopping app to find the product they want. Nor do they want to manually drag and drop features into their interface to personalize it themselves. They want personalized experiences that are meaningful, engaging, and, most importantly, efficient.
A digital experience platform can leverage advanced analytics to deliver that. The low-code customer experience suite can form the abstraction over the analytics engine to bring together user, interaction, and business data to create a 360-degree view of the customer. It can enable dynamic user experiences, ensuring continuity of customer relationships, displaying cross-sell/up-sell opportunities contextually.
In the era of ‘hand-off’ between devices, customers demand a smooth omnichannel experience from enterprises. For instance, an e-commerce customer today wants to add items to their cart from any device, anywhere, anytime, and purchase them all together when they’re ready.
Digital experience platforms are built to enable this seamlessly. By integrating various digital business engines, the low-code customer experience suite allows you to build omnichannel customer journeys — effortlessly moving from one channel to another, ensuring continuity of engagement across devices.
Traditional applications are optimized for short-term transactions, while digital experience platforms are built to create long-term customer value. For instance, an e-commerce application is typically built around capabilities like search and checkout, focussing on the efficiency of shopping. But customers today are seeking more engagement. Perhaps why social commerce — blending of social media like Instagram and shopping — is gaining popularity, as it stresses the ‘experience' of shopping.
The digital customer experience suite enables enterprises, especially in industries like banking, media, retail, or fashion to design websites, portals, apps, etc. to deliver personalized, contextual, relevant, and timely content to improve stickiness and loyalty.
Today, saying “you need to come to the store to get this done” is a sure-shot way of losing a customer, especially given that the cost of switching to a new provider is the lowest it has ever been. However, traditional shelf-ware is heavily restrictive in the functionalities they can offer.
Digital experience platforms enable you to deliver end-to-end digital service. With the customer engagement suite, enterprises can:
In 2018, PwC found 32% of customers say they would stop doing business with a brand after one bad experience, even if they had loved it before. On the other hand, customers are willing to pay a 7-16% price premium for a good experience. This becomes even more telling in the post-pandemic era.
Today, just offering a digital avenue isn’t enough. The digital channel(s) is the storefront, relationship manager, customer service, marketing, sales, product catalog — all rolled into one. The true success of a digital channel is in dynamically adapting to customer needs. A digital experience platform helps you achieve that.
With a robust low-code customer experience suite built with WaveMaker, you can accelerate your digital experience platform journey significantly. Its ability to provide features such as a composable architecture, scalability, cloud-native capabilities, customizability, repeatability and security strengths enable your application teams to create differentiated experiences at a fraction of the time and cost.
To see how low-code can accelerate your digital platform journey, try a demo of WaveMaker today.
Authored by Gopi Mishra, Principal Architect - Development, WaveMaker, Inc
Enterprises are increasingly using ‘Direct-to-Consumer’ digital initiatives. They are parallelly digitizing their internal processes with increased velocity. These changes bring with them a tide of security threats. From insider threats to exposed marketplaces, there is always a security hazard lurking around the corner--one that can assume mammoth proportions if security doesn’t become an ingrained part of application development. In fact, according to a report by cyber security firm 'Checkpoint', cyberattacks on organizations worldwide jumped by 29% during the first half of 2021 as compared to the same period in the previous year.
So if an enterprise is adopting the web, mobile, and cloud, and directly selling to the consumer, it would be paramount that the IT team prioritizes the security of its product, and most importantly ingrain the best practices of weaving security into the development process.
Who better to don the mantle of defense than the ‘developer’? After all, when it comes to the security of an application, ‘developers’ are the first line of defense!
A ‘Defense-In-Depth’ approach to security for applications is a layered approach to security. What it essentially means, is that developers should take necessary action to mitigate security risks at every layer, be it the front-end (client), middle-tier, database services, or even the network layer. To do that, developers need to collaborate with various stakeholders: customers, DevOps teams, IT-networking, and the security teams handling the necessary infrastructure.
A developer has to have the same approach while developing secure applications using a low-code platform. WaveMaker comes fortified with SAST tested auto-generated code that is VeracodeTM verified. While developers working with WaveMaker can rest assured of the inherent security of the platform, there are a few best practices that a one can follow while using WaveMaker low-code to develop secure applications.
Developers need to think about security primarily in three areas: Data, Business Logic, and Coding. Data in itself could be static or could be in transmission. Depending on its state, the developer needs to keep an eye out for the following checkpoints:
Secure data in motion from being intercepted
While security best practices can help developers immensely, what is more important, is that they develop a ‘security mindset’. Security must be a priority and not an afterthought. While developing applications using ‘Agile Practices’, security should be a criterion in the ‘Definition of Done’ of user stories. Bigger pieces should be taken up as enabler stories. Regular penetration tests should be performed early in the development stage and should be a part of every sprint release. A security loophole caught early in the game will alleviate future pain points, bring down costs and reduce technical debt.
Being secure is not an option, it is an inarguable conclusion. Developers with a finer sense of security will hold this as their mantra.
Gopi is a software architect with over 15 years of experience in the financial tech and IT domain including 9 years he spent on mastering mobile architecture design. He presently leads a team of low-code developers and mentors them about best practices in software development. In his free time, he loves to read non-fiction, watch history channels or binge-watch movies.