Originally published by Vijay Pullur, CEO WaveMaker, in App Developer Magazine.
Recognized by Forrester in the The Forrester Wave™: Low-Code Development Platforms For Professional
Developers, Q2 2021
Recognized by Forrester in the The Forrester Wave™: Low-Code Development Platforms For Professional Developers, Q2 2021
Get the report to learn why CIOs and enterprise leaders are embracing composability
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.
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.
Authored by Akhil Pillai, Principal Engineer, WaveMaker, Inc
The web has been a unique platform to develop applications for decades. Of late, platform-specific applications have created a lot of buzz, mainly owing to their reliability and extensive features. Some of them work offline, some have hardware capabilities while some of them can notify users of important updates. PWAs or Progressive Web Applications are the web’s newest attempt at matching the level of reliability and richness that these native applications offer.
Progressive Web Apps are just plain old web applications with newer capabilities enabled on modern browsers using progressive enhancement. That is, even if the modern features are not supported by the browser, the user still gets the core experience of a web app. PWAs make use of web-platform features like service workers and manifests to give users an experience on par with native apps.
Some of the features that PWAs offer are:
PWAs allow users to install them through prompts that are either on the browser or implemented by the developer. Once installed, they mimic native apps that are available on home screens, docks, or taskbars. The application opens up as a different window rather than as a tab in a browser and is shown as part of the app switcher, thus tightly integrating it with the platform.
Speed is crucial to keep the user interested and reduce bounce rates. Google's research shows that an increase in page load times from 1 to 10 seconds leads to a 123% increase in bounce rates. The capability of PWAs to cache resources and load them from the cache greatly increases speed and performance. This not only helps with load times but also helps when the network is slow or there is no network at all. This means even when offline you have access to your favorite application unless network connections are indispensable.
Being a web application, PWAs can be easily shared using URLs. Anybody with a URL can install a PWA on any platform with a supported browser. This greatly reduces the effort it takes to distribute an app through an app store. Managing versions are made easy too with auto-updates or prompted updates that allow partial updates. With this feature, gone are the days when we had to download entire applications for just a small change in text.
One of the biggest flexes that native applications had over web applications is the ability to push updates to the user. Though web applications could show notifications, they needed to be running in a window to do so. PWAs have overcome this hurdle through service workers. A service worker is a piece of code that runs in the background even after the web application is closed by the user. This allows the web application to run background tasks and receive notifications. This makes it easy to keep the user engaged even when the application is not running.
PWAs are inherently secure. The service worker, which is the core part of a PWA, is only activated if the connection is secure. If the connection is not established over a secure HTTPS protocol, PWAs behave just like normal web applications.
Though these are some of the main features that PWAs offer, there is much more to them like background sync and hardware communication among others.
Most of the features directly or indirectly affect the way users interact with web applications. This in turn drives business decisions. For example, giving a native feel to a web application is made easier with PWA. This allows businesses to ship applications faster while skipping app stores and their complex policies. PWAs while reducing development effort also reduce the associated development cost. Faster loading times give a big boost to customer retention while notification capabilities keep the user engaged.
In terms of data supporting these tall claims, let's take the case of Twitter. Twitter saw a 65% increase in pages per session, 75% more Tweets, and a 20% decrease in bounce rate. Nikkei saw 2.3 times more organic traffic, 58% more subscriptions, and 49% more daily active users. Hulu replaced their platform-specific desktop experience with a Progressive Web App and saw a 27% increase in return visits. As they say, numbers don't lie. PWAs are definitely influencing customer interaction with applications.
PWAs combine the native feel of platform-specific applications with the dynamic nature of web applications. But how do we implement all these features? Using vanilla JavaScript and HTML to implement such rich features would take a lot of time and effort. Of course, libraries like Angular and Workbox can help but WaveMaker goes a step further. With the latest 10.9 release, PWA is officially in its beta stage on WaveMaker. All the user has to do is enable an ‘app.pwa.enabled' flag in the profile they use for production. Detailed instructions can be found here.
WaveMaker uses Angular’s built-in support for PWA and throws in a bit of its own magic to enable these features. As soon as the flag is enabled, two of the most prominent features are baked right into the WaveMaker web applications - installability and caching. Notifications are also enabled by default that can be made to work with a few app-specific changes. WaveMaker also allows the user to choose a custom icon for the installable app. What better than having your brand image in your user’s app drawer!
At WaveMaker we realize that continuous improvement and innovation is the path to creating customer satisfaction. As of now, PWA features that are in the beta stage are subject to continuous improvement. The way forward is to enhance features like notifications and to gradually add features dictated by customer interests.
PWAs are here to stay and WaveMaker will help your business embrace the technology with as little code as possible.
Watch this video to know more.
Akhil Pillai is a full-stack developer with more than 10 years of experience in software development. He is a technology enthusiast and a polyglot with a soft spot for machine learning. In his free time, he loves to read technical content and listen to music.
Mankind and the systems that it relies on are in a constant state of flux. From the transportation systems we travel in, to the medicines we take, evolution has been a constant phenomenon in human life. If that were not so, we would still be stuck in stone-age. Development tools are no different. From low-level languages like COBOL to high-level languages like Java and Python, coding has evolved to make application development easy. Similarly, IDEs are constantly evolving to make the developer’s life easy. From text editors to GUI-based IDEs to IDEs that even autocomplete your code, development environments have come a long way. Low-code is the next eventual milestone.
Hi! I am Sagar Vemala, from Hyderabad, India and I work for WaveMaker, Inc. After completing my engineering course, I joined WaveMaker as an intern where I was introduced to low-code development and I found the concept of converting ideas into products rapidly; absolutely fascinating! I had an offer in hand to join a reputed technology company as a developer even before I was offered an internship at WaveMaker, but I must say that the internship introduced me to a whole new world of application development and I decided to stay. When I started as a full-time developer at WaveMaker, I was warned by my peers about being labeled as a ‘low-code developer’ but my gut instincts told me that I was making the right decision. Looking back, am glad I stuck to my decision. A low-code developer’s job is not restricted to simple coding, it is an expansive sea of learning, of thinking outside the box and more importantly, it is a job that solves a problem.
In this context, I would like to share my experiences from my journey, clear some misconceptions and present my point of view about my career as a low-code developer. Here are a few pertinent questions that I get asked about low-code:
If it is just drag and drop, then what is there for a developer to do?
I learned Java on notepad++. While it is the best way to learn Java, it is not necessarily the best way to develop faster. Seeing me code on a text editor, my friend introduced my novice self to the Eclipse IDE and it is there that I was introduced to the world of GUI IDEs with cool features like generating import statements, getters, and setters methods automatically.
My ‘world of coding’ just became so much more flexible.
The first time I saw how WaveMaker worked, it was déjà vu--Once again a complicated process had been made so much easier. My life as a developer is made ‘easier’ by WaveMaker. Here is how:
WaveMaker has a real code-behind approach and allows full customization and extension on every level. I consider WaveMaker as an advanced IDE (RAD) which generates open standards-based code following best architectural practices. It offloads monotonous tasks like setting up the project and environment, managing framework, and library upgrades and allows me to focus on the problem at hand. Also, it helps developers by providing configurational code for standard features like multi-language support, security, and scalability. With all that being taken care of by WaveMaker, I can focus on areas where my knowledge and experience are needed, like solving requirements and writing business and integration logic.
By being a low-code developer, am I restricting my learning and knowledge?
Absolutely not! I see myself as a problem solver and not just as a developer. I get to work on so many layers of technologies, right from designing the DB schema to preparing the backend to composing the UI and deploying the app.
In a traditional setup, this would require a large team of dedicated backend and front-end developers working for months to build an app. In today’s world, there is an imminent danger of irrelevance by the time an app is developed. With WaveMaker, a small team does the job in weeks that would traditionally take months and as a plus, I get to dip my toes in every kind of technology.
As development became more agile and the time frame became shorter, I got to work on many applications across different domains. At times, I would digest requirements directly from the client. With total control over development at all layers, I was able to provide accurate estimates. After observing diverse apps getting built, I started to think about another important aspect of development--user experience. This skill that I picked up while using low-code helped me deliver applications even without the help of a business analyst or a user interaction designer. My learning outside just coding, sky-rocketed.
I also got the opportunity to work with DBAs, senior developers, technical team leads, and architects of various enterprises as a WaveMaker SME. All apprehensions about not being ‘technical enough' disappeared after my conversations with them and I believe that I was able to add value to decisions that are agnostic of WaveMaker.
In a nutshell, the horizon of my learning expanded.
If the platform generates most of the code, won't that make developer's learning gloomy and less interesting?
Circling back to the point of learning, let’s elucidate with an example. Let’s say, a ‘traditional’ JavaScript developer has just started learning Angular. If the said person follows the documentation of a ‘to-do’ app and merely replicates the steps without understanding the intricacies of how Angular is helping, will the person be able to actually ‘learn’ and contribute to projects? No, right? The same logic applies here as well. There is learning in any sphere of creation. Developers who aspire to work with WaveMaker low-code need to use or will learn the below-mentioned skills to understand WaveMaker generated code and make the best use of it.
As a low-code developer, am I stuck? What is the future of a low-code developer?
I strongly believe that low-code may not be a hammer for every nail but is a necessary tool in the developer kit. Enterprises have and will adopt this methodology into their practices for years to come. Digital transformation has become ubiquitous with every enterprise and if an enterprise is looking at ways to create safe, scalable, and modern products with faster go-to-market, low-code is a safe bet. According to Gartner, the low-code development market is predicted to reach a worldwide total of $13.8 billion in 2021. In fact, the demand for low-code developers has been rising exponentially.
After having worked for WaveMaker for more than 5 years, I find myself with an abundance of choice and skills. I have the skills and knowledge to go the full-stack way, I can lead teams of low-code developers, I can be a solution architect, or I can choose to use low-code for hybrid development. There is a myriad of opportunities and options available. You only have to choose.
Finally, I think I chose the road less taken, even though opinions around me were not as positive about low-code, as they are today, I feel I made an interesting choice that fueled a unique career for me, and that has made all the difference.
Sagar Vemala has been with WaveMaker since 2015 and has implemented several customer projects as part of the professional services team. He has built a variety of API-driven applications in workforce planning, inventory management, finance and insurance. If you are developing an application and plan to use low-code, Sagar can share best practices using WaveMaker. Write to him at info@wavemaker.com
Tech-savvy users are swiping left aggressively and swiping right selectively. No, we are not talking about dating apps. We are talking about how quickly the customers of today are changing their banking preferences. Loyalty is a fickle emotion. As Jeffrey Gitomer says “You don't earn loyalty in a day. You earn loyalty day-by-day", by responding to the customer's needs every single day. Otherwise, they just move on.
How responsive banks are to the changing needs of the customer will now decide their longevity. Or else, it’s a swipe left for sure.
With so much at stake, what can banks do to retain their customer’s loyalty?
Going digital is an obvious answer, but then everyone is doing it. Every bank of repute has a digital face--some, more advanced than others. What spruces up the relationship between the customer and the banking app is the customer journey. It is all about how the relationship started and how it sustains--the qualities that keep the customer engaged, the features that make a banking app sticky. So what are the features in a banking application that entices customers, and how does the WaveMaker low-code platform help?
Though a banking application may not necessarily be composed of all of the above, it should at the very least be provided compatible platforms that enable the development of these features leading to the creation of a composable banking app. So the question one may ask is, does WaveMaker as a low-code platform support the integration of these features into a composable banking app?
The answer is a resounding yes!
A developer working on WaveMaker can take two approaches:
One, use the built-in prefabs to quickly conjure up a banking-specific component.
Two, integrate third-party banking components into the application.
This is helped by two factors:
WaveMaker allows seamless collaboration of ecosystem partners with ease--the foundation of a composable banking architecture. It helps banks, BaaS players, fintech, and ISVs respond to what customers ask for--modern experiences, intuitive interfaces with stunning visual components, security, smooth onboarding, and device-agnostic feature-rich applications. WaveMaker with its API-first approach, prefabs, support for all major databases, and vault-like security with VeracodeTM certified code has all the qualities to broker a long-lasting partnership with the bank and the customer with agility.
Banks can expand the reuse of legacy core banking, offer services to brands as a BaaS player, or launch greenfield initiatives; with WaveMaker, the possibilities are endless.
So, this time when the user swipes right, banks can swipe right back at them!
By Vikram Srivats, Vice President, WaveMaker
Enough has been said and written about the effect of the pandemic in hyper-accelerating the shift to digital – for enterprises and consumers alike. This is one widely accepted fact we can note and move on from.
The combination of low-code development and BaaS APIs are enabling more companies than ever to add banking services to existing apps and products
However, another rising wave has been afoot for a few years now – something that Bain Capital Ventures (BCV) thinks is far greater than the Internet, Cloud, and Mobile combined (yes, you read that right) – with a projected market value of $3.6 trillion by 2030. BCV heralds this wave as the Fourth Platform: financial services in an embedded (or integrated) form within technology-driven businesses.
Andreesen-Horowitz (a16z) and CB Insights talk about this being the banking industry’s “AWS moment”, with new Banking-as-a-Service (BaaS) players offering all (or parts of) the banking stack as-a-service for a new crop of fintech and tech-driven brands. a16z further predicts that every company will become a fintech company – embedding finance across digital and traditional brands – by leveraging offerings from BaaS providers.
Embedded finance and BaaS are two sides of the same coin. Brands and fintech offer embedded financial services to consumers and businesses while BaaS providers are the suppliers and enablers for those brands and fintech.
Two trends collide to form one massive opportunity
With the pandemic driving a tectonic shift to online, virtual, and instant gratification, embedded finance allows brands and disruptive new financial products to gain and delight customers, increase share-of-wallet and create stickiness. From a customer standpoint, the financial experience is in the moment, contextual and seamless within the brand experience – to the extent that the finance is almost invisible.
For example, think of Apple – which now offers a credit card backed by Goldman Sachs – or Shopify – going above and beyond by offering embedded payments, balance accounts, and loans to aspiring e-commerce businesses. With the likes of Amazon, Google, Doordash, Chime and Affirm, the list of embedded finance and BaaS-powered use cases and players is growing rapidly.
This growth is primarily fueled by a whole slew of capable BaaS players – Synapse, Treasury Prime, Stripe, Marqeta, Bond, Finastra, Railsbank, Solarisbank, Unit, Galileo, BBVA Open Platform, GPS, and many more – offering differentiated and compelling technical and financial propositions. These BaaS players in turn have partnerships with one or more banks and offer APIs (sometimes a single API) for a brand or fintech customer to call and access the offered financial service via the API.
In a way, things have come full circle – from the software powering financial services (core and engagement platforms) at FIs, we now have banking subsumed into software and offered via APIs.
BaaS APIs are becoming the new currency in the world of financial services
With this BaaS revolution going on in the background, the low-code market has grown exponentially, with more than 100 platform providers – with different specializations – competing for market share.
Microsoft, Mendix, OutSystems, and ServiceNow are some of the leading players while there are specialist challenger firms more focused on specific personas (professional developers, citizen developers, and business process users) and target areas (apps, workflow, automation, analytics, and so on).
To say that low-code adoption was propelled further by the pandemic is an understatement. Whether for businesses urgently wanting to digitally transform or for more advanced corporations, low-code has comfortably hit its stride as a new paradigm in software development.
Now, with over 2,000 fintech launched in 2019, the rise and maturity of BaaS offerings and differentiated embedded finance use cases/opportunities, and a world where APIs rule, developers are now the first customers of the banking and financial services capability stack.
Brands and fintech, banks and third-party software developers, independent software vendors, and system integrators need to find, attract, hire, train, mentor, motivate, manage and drive world-class development teams to deliver business outcomes.
They must do all this in the face of non-trivial challenges:
A breed of developer-friendly, open, API-driven, modern, enterprise-grade low-code platforms could be the answer. Here is how:
In 2020, Microsoft cited research predicting that more than 500 million new apps will be built in the next five years, which is more than the total number of apps built in the last 40 years, even as companies struggle to find software developers. According to KPMG, despite the overall market softness in H1 2020, H2 rebounded and saw almost $72 billion in fintech investment (across PE, VC, and M&A deals). Klarna, Revolut, and Chime raised mega rounds north of $500 million each. KPMG goes on to predict that embedded finance will emerge as the *new North Star* in fintech.
Low-code development layered on BaaS APIs may be embedded finance’s hockey stick moment
Embedded fintech and low-code development are massive scale markets in their own right. The next 1,000 or 10,000 fintech, FIs, and brands that deliver embedded financial services will need to be laser-focused on their customers and business to compete and win. Agility, automation, and reuse will underpin composable enterprises and personalized experiences, and modern, powerful low-code platforms already are delivering complex, compelling and contextual experiences for discerning development and business teams globally.
To further explore banking solutions by WaveMaker, please view our exclusive BFSI offerings here.
Or, start a conversation with our expert consultants for solutions to your unique requirements.
Originally published in Fintech Futures
WaveMaker 10.8 brings capabilities and features that harness the power of artifacts and prefabs on the WaveMaker low-code platform--especially for teams. Prefabs are custom widgets that can be reused across projects within a team. With this release, the platform consolidates its strength on prebuilt software components by making collaboration across teams faster and easier to manage.
WaveMaker continues to enable enterprise IT teams, ISVs, and all stakeholders to co-create value faster and better with low-code.
Artifacts are reusable components that can be developed and maintained independently. Various components such as prefabs, project shells, template bundles, and themes come under the umbrella of artifacts on the WaveMaker low-code platform. V10.8 allows the sharing of a central repository of artifacts in teams promoting collaboration between team members.
Team members can view a list of all available artifacts providing clear visibility. Developers have complete access to the repository of available components and are free to choose the artifact version that suits their requirements best. This in turn makes activities such as documentation, maintaining change logs, and version control of artifacts a seamless process.
With 10.8, developers creating and using artifacts across teams and projects can manage their workflows seamlessly. Consider a scenario where a developer publishes an artifact and waits for approval from the team admin. The admin can then review the artifact on the team portal and approve the same, making it accessible for all developers to use or reject it and send it back with changes.
Not just that, the same prefab or artifact can be versioned multiple times with each version visible to all team members. Developers can search and view available prefabs under projects, teams, or system prefabs and import specific versions into the projects.
Different projects can use different versions of the same prefab with a scope for upgrading. Developers can choose versions that suit their requirements with the help of changelogs and get real-time notifications of newer versions. Minor patch updates on prefabs can be published independently using branch support. Development teams can update patches and upgrades seamlessly without disrupting the existing environment and projects.
For ISVs, having access to the latest versions of artifacts is of great value. This allows for both forward and backward compatibility with respect to prefabs with minimum disruption. With every new update, WaveMaker continues to bring developers together, fostering collaboration, and helping them build powerful applications.
To know more about WaveMaker 10.8.0, please read the release notes here.
Create, publish and consume APIs effortlessly with WaveMaker low-code platform
Digital transformation is no longer a buzzword. It has become a way of life for enterprises that want to stay in business. In the current post-pandemic era, business maturity is being evaluated in terms of digital maturity. The road to digital adoption has many emerging technologies in force but working silently behind the scenes and aiding this rapid acceleration, is the unseen ‘super glue’ of all business services - Application Programming Interfaces (API). Technically, APIs have been around for two decades at different levels of operability but it is only in recent years that there has been an explosion of sorts in the usage of APIs.
The demand for multichannel experiences and the everything-on-cloud approach has accelerated the use of APIs. Whether it be composable architecture or microservices, APIs enable the kind of business collaborations that were unheard of before. The partnering of transportation services with a bank, retail shops with payment apps, and banks offering investment opportunities, loans, currency transactions, and payment services on an e-commerce platform have all been made possible by the growth of APIs. Similarly, offloading certain business tasks to ecosystem partners and liberating internal services from silos has been fueled by the synergy between APIs.
API-driven development is the practice of designing and building the API contract first and then developing the application around the contract. Also, known as the API-first approach, this paradigm involves the front-end developers building mocks around APIs and creating refined end-user experiences. In parallel, the back-end developers implement the underlying logic of the APIs.
Dedicated test suites are created around these APIs and, in a way, they foster the idea of test-driven development. In an API lifecycle, the API Publisher designs and deploys the API whereas the API Consumer discovers and integrates the APIs. Each of these roles has multiple functions associated with them and those functions define the characteristics of the API.
WaveMaker is an open standards-based, developer-centric low-code platform built for modern development practices. The platform enables app developers to play the role of an API Publisher and API consumer. The platform has a natively integrated component called the API Designer which is used to ease the process of designing, creating, and consuming APIs.
WaveMaker offers an API-driven development platform with:
A developer-friendly low-code platform abstracts the complexities of API management and provides UI-based connectors to work on the endpoints without having to hand-code. WaveMaker scores high on effortless API creation and management with an API-driven approach and an in-built API designer. The platform’s inbuilt adherence to the rules of the API game and its innate ability to convert any service as an API makes the job of all stakeholders so much easier.
APIs have become an inherent part of software building. Programmableweb (API directory) had a listing of mere 54 APIs in 2005. Today there are close to 24000 APIs listed there, and this is excluding the internal enterprise-level APIs and the ones that haven’t been made discoverable yet. Fuelling this expansion are tools and platforms that help us design, manage, test, produce, and consume APIs. Rapidly, easily and securely.
Imagine your enterprise architecture, not as a collection of disparate business processes with some loosely defined interdependencies, but as a neatly fit, well composed, well maintained, synchronized set of autonomous and API-driven Packaged Business Capabilities (PBC). Each process fitting into another like a well-thought-out jigsaw puzzle. What’s more, the scope for adding more such processes is unlimited and the pieces to the puzzle are interchangeable. Such a modular architecture makes it possible for each of these PBCs to have separate life cycles of its own which can then be deployed, tested, and reused causing minimum disruption.
If this visualization evokes your interest, welcome to the world of ‘composable architecture’.
PBCs are in fact, products by themselves either built in-house or by SaaS vendors or best of breed application factories. According to Gartner, by 2023, 30% of applications will be sold as PBCs.
A composable approach to application development helps businesses deliver the needed solutions at the pace of modern business change. - Louis Vistola, Devops.com
CIOs are using composability to tackle disruptions - pandemics, natural disasters, market fluctuations, and changing customer needs. Composable architecture brings several benefits to the composable enterprise concept, specifically the agility and innovation to respond to changing business needs. It reduces the need to build configurability reducing complexity and thereby reducing the QA cycles. Other than the possibility of unlimited scaling, it also focuses on shortening the gap between IT and business, bringing deep personalizations based on roles, and the ability to build new business models.
As organizations move towards digital transformation, the low code plus composable combination offers maximum flexibility, delivering value at greater speed. - Elizabeth Wallace, RTInsights.com
Low-code is built on the premise of visually composing applications and services with the help of built-in components. Therefore, a low-code platform like WaveMaker becomes a plausible choice for the rapid development and integration of PBCs. However, where, in the journey of building a composable architecture does a low code platform play its part?
Depending on the size and affordability of the enterprise, a low-code platform can don many hats.
The list is exhaustive.
A low-code development platform like WaveMaker comes with an innate plug and play approach, and can do a lot of heavy lifting for an organization looking at composability. Let’s see how.
Application Programming Interface (API) management market size is set to
grow from USD 1.2 billion in 2018 to USD 5.1 billion by 2023
Application Programming Interfaces(APIs) are the catalysts in creating a well-composed architecture. PBCs expose their functionalities using APIs. When all processes within an enterprise are API-enabled, developers and business collaborators can access them seamlessly to suit their needs resulting in faster delivery and increased composability. All communication across enterprise applications is streamlined with the help of APIs.
WaveMaker enables an API-driven app development approach. The platform extends its capabilities beyond just publishing, wrapping, and sharing APIs within the enterprise, by also enabling partners and third-party developers to consume APIs vital to their business. Representational State Transfer(REST) APIs are autogenerated for any application that is created on the WaveMaker low-code platform. For every service that is imported on the platform whether it be database, Java, SOAP, or a third-party service, an API is auto-generated. This enables easy composability of critical services like databases and third-party functionalities into the application canvas and the larger ecosystem of applications. The platform has a feature called ‘API designer’ where all APIs available to the application can be viewed, tested, and customized.
Wavemaker is also OpenAPI Specification 2.0 (OAS) compliant and extends the functionality of OpenAPIs by integrating REST endpoints in a Web/Mobile application. Once a REST endpoint is generated, it can be easily integrated with any of the 100+ UI widgets available on the platform without the hassles of hand-coding. What’s more, applications within the enterprise can talk to each other.
All platform-generated APIs deliver enterprise-grade security, OAuth capabilities, and users are provided with fine-grained control over the usage of APIs.
Within the WaveMaker studio, “Prefabs” are customizable, reusable, distributable, components/widgets that help in accelerating digital app development. ‘Prefabs’ are the building blocks that enable composable architecture through WaveMaker. These groups of components are gathered in the Design-Toolbox within the WaveMaker Studio. More than 100 prefabs covering a wide range of features cater to different use cases throughout the product. Every enterprise customer owns an artifact repository of components that can be as granular as a UI widget or an entire workflow such as a Loan application microapp.
Similar to an application, prefabs have their own development cycle - a prefab is developed, tested, and deployed independently. Additionally, it can be retrofitted to suit varying business scenarios and repurposed. In fusion teams, Prefabs can be created by developers and can be consumed by non-developers (business users and citizen developers) to exponentially accelerate development. WaveMaker users can just gather (drag and drop) the necessary prefabs from the enterprise repository and then compose an entirely new application with the centralized built-in module.
You can find a detailed article on prefabs here.
“The golden rule: can you make a change to a service and deploy it by itself without changing anything else?” - Sam Newman, Building Microservices
Microservices are known for their composability, but are microservices akin to PBCs? A PBC is composed of several microservices and in some cases, a microservice can act as a PBC providing a tangible business capability. Therefore, the ability to support microservices is a crucial tenet for a low-code application development platform that enables composable architecture.
Since REST APIs are auto-generated in WaveMaker, Microservices are inherently supported. Some of these APIs are available for further customization based on the app integration needs and as Sam Newmann says, the primary benefit of using microservices is that you can change and deploy a service with minimum disruption - An important principle when it comes to composability.
Integration of features and modules happens more often at the customer experience layer. Micro Frontends, in the microservices world, is a scalable design practice that enables users to produce composable independent modules which can serve in building a new app or progressively integrate features to an existing app. WaveMaker is the only low-code platform to support Micro Frontend modules extending rapid development benefits to Micro Frontend development. It adopts the runtime integration approach for Micro Frontends & works with the Single-spa framework.
WaveMaker also enables seamless deployment of business services into the choice of infrastructure. Enabling business services as individually versioned microservices makes the entire CI/CD process effortless leading to what we call Zero DevOps.
Low-code platforms and composable architecture share a symbiotic relationship. They have shared goals namely agility, velocity, collaboration, and the ability to build powerful applications that can be plugged into the enterprise ecosystem without disruption. Technical tools and platforms that allow enterprises to pivot and adapt rapidly are the need of the hour. Composable architecture requires the ability to utilize several modern technologies such as API enablement, reusable software components, support for REST and SOAP services, modern CI/CD technologies combined with microservices (Kubernetes), multi-cloud enablement, and data protection.
WaveMaker is an open low-code platform that delivers all these and more.
Enabling composable architecture with custom-built software components
In WaveMaker, ‘Prefabs’ are customizable widgets that enable composable architecture. They are reusable, distributable, and independently testable micro applications that can be dragged and dropped into any WaveMaker project. They cover a wide landscape of operations and are present in the enterprise repository of every customer. As of now, the WaveMaker studio contains more than 100 different prefabs ready to be plugged into any application canvas of choice.
Prefabs can be rendered for diversely different business scenarios and can be reused by multiple teams within an enterprise. They can emulate commonly used components like ‘Location Indicator’ or can even abstract independent business workflows like ‘Account Management. Prefabs are ideal for blended teams consisting of business users and IT developers within the enterprise
Composable architecture is the ability to create applications with prebuilt software components. It is akin to creating a Lego model. Similar to the model, software components interlock with each other to create a larger artifact – the application. Just like a model, a singular component can be removed, repurposed, or fit elsewhere to suit the changing needs. What’s more, new blocks(read components) can be added to the model to make it larger and stronger. Prefabs are the Lego ‘building blocks’ of the WaveMaker platform. These components could be as fine-grained as a ‘list box’ or as macro as an entire workflow. What’s important is that these various components can be easily placed into the application canvas with seamless synchronization. Simply put, the components can talk to the application. Prefabs are not just abstractions in UI format, they are also components with characteristics and behavior. One that can be easily integrated with the help of exposed methods and events. This plug-and-play model of orchestration is made possible by their respective REST APIs. During application deployment, WaveMaker resolves all prefab dependencies and deploys the app as one single component onto a Docker container. As the application expands, further prefabs can be added to the canvas ensuring scalability and flexibility.
Prefabs can be effectively used to talk to complex API calls. This can be done by abstracting these calls with a UI layer in the form of a prefab. A business user then can simply drag and drop the prefab into their WaveMaker project and set custom properties to suit their application. Their behavior is invoked by the associated events or method calls. From OAuth APIs to third-party widgets, prefabs come to the rescue by encapsulating the complexity in a UI shell.
Developers can create custom component repositories solely for use in a single application (application repository). Additionally, an enterprise can create a custom prefabs repository, one that contains software components customized to their brand. Independent contributors can even publish prefabs to the general repository of the platform that can be reused across enterprises.
Third-party widgets can be repurposed as prefabs on the WaveMaker platform. This can be done easily by just importing the widget-specific files to the platform and then abstracting it with a UI element to create a completely new component. They can further leverage the extended features of the external widgets to customize it even further. Popular prefabs like YouTube, GoogleMaps, Docusign, and QRCode ship with WaveMaker. Additionally, OAuth services for Facebook, LinkedIn, Instagram are rendered through prefabs on the WaveMaker platform. A similar repository for WaveMaker Online is currently being developed.
A multitude of benefits follows the usage of prefabs. Reusability, encapsulation of functionality, scalability, speed of composition, building blocks of composable architecture, and consistent quality are some of the given advantages. WaveMaker customers, especially ISVs and core software builders use prefabs for easy customization and faster implementations.
In the banking & financial software world, prefabs can be domain-specific and an extremely crucial asset to deliver differentiated brand experiences to banking customers. For instance, general workflows such as loan repayment, account management, transaction management, and user management can be developed as prefabs in the enterprise repository which can then be retrofitted into custom banking solutions.
At WaveMaker, we understand the dynamics of the market in terms of the need for speed and differentiated brand experiences. Prefabs enable composable architecture, faster go-to-market, and hyper customization to empower core software builders developing modern applications and platforms.
You can find a detailed guide to prefabs here.
The UI layer in itself can be composed of multiple widgets available in the WaveMaker repository which are bound to the corresponding backend services repository. A prefab, just like any other widget exposes its properties, methods, and events which can be configured or invoked respectively. Once created, all the user needs to do is drag and drop it into the application. The developer can then customize it further if the use case demands. In some cases, prefabs can be used only as a UI component with no APIs involved.
Let’s take the FB post (FaceBook) prefab (provided as default) in WaveMaker studio as an example. This prefab has a UI layer that is used to accept inputs from the user. The inputs are posted as a message on the user’s FB wall. The message, in turn, is sent through REST APIs to the backend business logic which communicates with the Facebook server to post the message. Once created, the same prefab can then be reused across any application within an enterprise for the same use case.
A prefab is also a powerful way to abstract the many layers of complexity associated with API consumption. Consider talking to OAuth authentication, comprehending signature, parameters, security, and understanding the syntax and semantics- a lot of which can be overwhelming for application builders, especially those from a non-development background.
A prefab makes the job easier by abstracting these complexities and providing a simple interface to the user. For instance, if not for the FB post prefab, one would have to directly connect to the Facebook API, increasing complexity and time for development. Instead, all the developer needs to do is drag and drop the FB post prefab and then bind the necessary data to it. With this ready-to-use prefab, the complexities of the API layer are abstracted and presented in the form of UI components that can be further consumed by exposed properties, methods, and events.
What’s more, an enterprise can create a custom prefabs repository with a standardized look and feel that can be reused across applications that are built in the WaveMaker ecosystem.
Customization is not restricted to internally available widgets. If one needs to use a third-party widget, all that the user needs to do is to import the widget’s necessary files into the platform and bind them to a UI element thus masking it in the form of a prefab. Developers can leverage extended features of external widgets, or build an entirely new UI element by integrating with 3rd party libraries. The ability to create prefabs and to take a component-based approach helps slash development times and promote reusability among remote teams.
Disaggregate and aggregate. That is the idea behind composable architecture. Disaggregate into simpler business components across your development platform and aggregate only the ones that you need to build your application. Breaking down the complexities of an application into its business components and then composing new applications with relevant components leads to delivering new functionalities faster for business users, customers, and all stakeholders.
It is all ‘Plug and Play’.
Prefabs in WaveMaker enable composable architecture by allowing users to drag and drop custom business components onto a larger application canvas and integrate them with their respective REST APIs. Applications can then be built as stackable layers of prefabs. In fact, a prefab can contain another prefab thereby creating a tier of layered apps. All the REST APIS in the prefab can also be published for sharing and consumption by other applications. During application deployment, WaveMaker resolves all prefab dependencies and deploys the app as one single component into a Docker container. As the application and its needs grow, development teams can cater to that growth by adding or reusing corresponding prefabs providing further scalability.
Prefabs can be published solely for an application (application repository), in the general artifact repository of an enterprise, or for public consumption on the WaveMaker platform (requiring admin approval). Popular prefabs like YouTube, GoogleMaps, Docusign, and QRCode ship with WaveMaker. Additionally, OAuth services for Facebook, LinkedIn, Instagram are rendered through prefabs on the WaveMaker platform. A similar repository for WaveMaker Online is currently being developed.
A multitude of benefits follows the usage of prefabs. Reusability, encapsulation of functionality, scalability, speed of composition, building blocks of composable architecture, and consistent quality are some of the given advantages. WaveMaker customers, especially ISVs and core software builders use prefabs for easy customization and faster implementations.
In the banking & financial software world, prefabs can be domain-specific and an extremely crucial asset to deliver differentiated brand experiences to banking customers. Imagine just having to drag and drop an entire workflow or process in the form of a widget from a central repository of banking components. One that can be customized and rendered based on locale, style, and brand. WaveMaker customers use prefabs to create custom-made banking solutions for their clients. For instance, general workflows such as loan repayment, account management, transaction management, and user management are developed as prefabs in their enterprise repository which can then be retrofitted into custom banking solutions.
Prefabs enable composable architecture, faster go-to-market, and hyper customization. At WaveMaker, we understand the dynamics of the market in terms of the need for speed and differentiated brand experiences. Continuous enrichment of our prefabs repository is a consolidation of our efforts in enabling enterprises and core software builders across the globe.
By Mayur Shah, Senior Director – Product Management, WaveMaker
The low-code market is seeing meteoric rise across the world, as companies try to keep up with digitization demands and shrinking IT budgets. Even as we witness increasing low-code adoption among professional as well as citizen developers, an intriguing question comes to mind – What lies ahead for low-code, and could it ever become a mainstream approach for modern development teams?
The answer may well be an open source, low-code platform that offers high productivity, while supporting seamless integration with the overall fabric of modern software development practices within an enterprise.
It’s feasible to assume that low-code will evolve to become open low-code, resulting in greater innovation and agility.
To further understand what this means, let’s dive deeper. What are open systems?
According to Wikipedia, open systems are computer systems that provide some combination of interoperability, portability and open software standards.
Over the years, the software industry has seen great benefits from designing, implementing and consuming open systems. TCP/IP protocol standards, UNIX systems, Web browsers, REST APIs – all of these are shining examples of open standards that went on to become highly successful and widely adopted. By remaining open, they enabled higher interoperability, streamlined development and fostered rapid innovation.
Low-code is now at a critical stage in its adoption curve. For the last few years, we have seen citizen developers successfully execute shadow IT with low-code and churn out applications at a breathtaking pace. Today, low-code platforms are hardened for enterprise use, are programmed to understand the scalability and security needs of a complex application and have integration capabilities mature enough to seamlessly fit in with existing tools and technologies. As a result, we are now seeing greater adoption of low-code within the professional development community, covering a diverse set of use cases from simple dashboards to complex applications. The natural next evolution of low-code is that it becomes mainstream within enterprise IT, and is used to build mission-critical applications and systems. So, how does this next phase play out for application development?
The approaches and techniques of modern software development teams has changed dramatically to meet the demands of modern, software-enabled business. Developer velocity and organizational agility have become key benchmarks for high performing software development teams, as those metrics have a direct correlation with software excellence and superior business performance. According to a research report by McKinsey, teams that belong to the top quartile with regards to developer velocity score have 60% higher total shareholder returns and 20% higher operating margins. Such teams can experiment faster and release code to production without delays.
As application teams continue to embrace low-code for mainstream development, it is vital that low-code platforms support developers so they are encouraged to employ modern application development and delivery best practices. Low-code should introduce minimal disruptions to a developer’s working practices and workflow. Also, it is important that low-code can integrate seamlessly with the fabric of the overall enterprise application architecture. This can happen if a low-code-platform is open standards-based and flexible so that the rest of the enterprise application infrastructure can coexist with it.
Developers like control, flexibility and a unified experience. They find comfort in sticking to their preferred languages, tools and application development and delivery workflows. A low-code platform that offers productivity with equal flexibility, with a focus on building robust enterprise architecture, is bound to be the future of application development. Platforms should focus on providing a unified developer experience across concept, design, integration, development and deployment stages of the app life cycle, employing a technology stack that is modern, best-of-breed and cloud-native. It’s equally important to provide a way for developers to easily bring any external innovations into the low-code platform.
Many low-code platforms do not generate 100% of an application’s code. Also, most of the code generated by proprietary platforms is also proprietary, and quite often remains hidden and not easily accessible or extensible. A platform that generates open standards-based, real code is a great asset, especially for professional developers building complex applications that require extensive customization and deep integration with enterprise tooling (security, testing, debugging, integration etc.). The code generated should be based on developer-friendly, best-of-breed application stacks and standard design patterns. This way, application teams will have complete familiarity with and understanding of the code. Enabling full export of the code allows teams to own the code created by the platform.
The application architecture should be loosely coupled, supporting microservices and micro front ends that can be independently built, deployed and scaled. This way, architecture can support cloud-native application development easily. Also, all other aspects of the application life cycle should allow for plug-and-play capability. This includes, but is not limited to, plugging in custom UI components (widgets, templates), custom security providers, custom back end code, logging frameworks, event driven systems, etc. A plug-and-play model ensures that development teams can integrate custom providers that are fine-tuned for the enterprise.
Modern application development practices have evolved to allow teams to experiment faster and release code to production at a never-seen-before pace. Optimizations in performance and scalability have resulted in applications that can support millions of end users. As developers warm up to low-code, the platforms should align with and implement all modern development practices while building applications. The idea is to minimize friction in a developer’s journey towards low-code, so that they continue to leverage the same design principles, application tooling and enterprise integrations as they do in the complex programming world.
Developers need a way to continuously deploy software so there is always a version of the application ready for production. Low-code platforms should support an IaC option, so code generated is always deployable seamlessly on the developer’s infrastructure of choice. Platform should integrate to build, test and release systems (version control systems, CI/CD, artifact repos, container image repos, Kubernetes clusters and public or private cloud instances, for example). This way, artifacts built by low-code are continuously integrated and deployed to the enterprise’s operational systems.
Low-code is at an inflection point within enterprises, as it becomes the platform of choice for digital transformation and application modernization. This is the opportunity for low-code platforms to become a key ingredient of an enterprise application architecture. An open low-code approach will allow application development teams to benefit from the underlying best practices prevalent within the organization.
Low-code is not merely a productivity tool; it has the potential to be a technological and cultural catalyst that drives enterprise innovation and business agility.
Originally published in DevOps.com
“Because they are so long-lived, atoms really get around” says Bill Bryson in his book, ‘A Short History Of Nearly Everything.’
A programmer from the 90s could say the same about ‘Java’.
Ubiquitous in its presence for nearly a quarter of a century, Java's journey is one of many milestones. From its inception in 1995 as an unopposed ‘internet programming language' to the' de facto standard for Microservices' today, Java has evolved to become an all-pervasive technology. Name any major product, and Java is behind the scenes. Google, LinkedIn, Uber, Netflix, Spotify – all have been built by Java. From mobile applications to desktop, embedded systems to web servers, scientific to business applications, there is a bit of Java in everything.
The same could be said about Java-backed architectures. Microservices is one such architecture of repertoire. Departing from complex monolithic systems, microservices are based on providing functionality in the form of decoupled services. These independently deployable services are in turn developed and maintained by small teams. The result is a framework based on independent but collaborating functionalities. Reusability, testability, maintainability, scalability, and easy deployment are key benefits of a well-defined microservice.
The Java ecosystem has well-established frameworks for developing microservices. Microservices demand modularized architecture and a lightweight messaging system for data exchange. Something that Java can provide easily.
Java’s foray into the world of microservices or to put things into perspective, microservices’ consolidation as an architecture of significance rose with the advent of Java Spring boot, Jersey, and Swagger.
Of the three, Spring Boot rules the roost when it comes to creating decoupled, independent, and interactive services. It helps in developing services rapidly because it follows a convention-based programming paradigm rather than a configuration-based one. Its purpose-built features make it easy to build and run microservices at scale. Coupled with Java Spring Cloud, administration and testing of applications becomes easier. Applications can start small and then iterate faster to scale up, that too on multiple platforms with reduced cost- One of the reasons why Java Spring Boot is considered the de facto standard for microservices.
Java Spring Boot has matured over the years. Being an Open-Source framework it is backed by a large community resulting in an extensive array of readily available expertise in Spring and all its components.
While we talk about Spring Boot and its natural fit in microservices, let’s talk about another enabler in terms of microservices – Low-code platforms.
Abstraction- A common goal for both low-code and microservices. How does a low-code platform aid in simplifying a complex solution?
While the services themselves aim to be simple, the architecture and interactions in a microservice can be complex. Low-code can help simplify these complexities. Low-code platforms such as WaveMaker can effectively model microservices by providing front-end visualization to the back-end complexity. In some cases, low-code can be used to add a layer of abstraction on top of the enterprise microservices to provide end-users with a clean interface. In other scenarios, it can act as an orchestrator between services created with different platforms. A low-code aimed at professional developers may also allow them to write custom code for services.
Continuous delivery, unwavering stability, and unhindered scalability form the ethos of microservices. Java Low-Code platforms enabled by Spring Boot offer these key advantages in the world of microservices. Let’s see how.
Aimed at professional developers, WaveMaker is a powerful, enterprise-grade Java low-code platform. Built on the foundation of sound Java pedigree, WaveMaker was launched as a multi-tenant cloud edition in 2015 by a team of middleware experts. WaveMaker uses a proven open standard stack – Java Spring, Bootstrap, Angular, and Docker to enable app development on the cloud.
It offers flexibility and speed with component-based microservices and auto containerized deployments to the cloud. The platform allows for one-click API creation, where microservices are auto-created and developers can use existing database logic and reuse existing Java code in IDE’s of their choice.
These APIs enable developers to write business logic or integrate with third-party libraries. How are these APIs generated?
For every Java Service created in WaveMaker, its REST API contract is auto-generated and is available for integration with the front end. But the developer only has to use the unique ‘API Designer' present in WaveMaker. This API designer helps create custom API with auto-generated API endpoints. WaveMaker then uses the concept of ‘Variables' to interact with the REST API layer to access the services.
All this while, the structure oiling the machinery is the Java Spring Framework. In fact, in WaveMaker, the Services Layer is auto-generated using Spring. Custom queries, procedures, and Java Services can further be used to extend the app functionality.
Scalability is another factor that WaveMaker caters to in the form of ‘Spring Sessions’. Since WaveMaker generates open standards code based on Spring for the back end, horizontal scaling for applications can be achieved using Spring Session Module. Java Spring best practices are ingrained into WaveMaker.
Built with Java and used by professional developers, WaveMaker is a common intersection point between Low-Code, Java Spring Framework, and Microservices. As Java continues to evolve and grow, WaveMaker follows a similar path emulating its success.
WaveMaker v10.7 is here!
In this release, you will find capabilities and features that aim to empower professional developers to build complex and scalable applications using low-code. As always, WaveMaker aligns itself with the latest technology stack and industry best practices for modern software delivery.
With v10.7, WaveMaker continues to enable enterprise IT teams and ISVs to build faster and build better with low-code. Here’s how.
Do you have multiple teams working in parallel on different features and hotfixes? WaveMaker in its earlier releases provided support for an array of source code repositories like Git, GitLab, and BitBucket to support version control. WaveMaker 10.7 goes one step further. Software teams that have adopted Agile or Scaled Agile (SAFe) need to work on multiple streams of development simultaneously. To support this, WaveMaker creates a project workspace mirroring branches created in the corresponding Git repository. This allows them to deploy new features to production continuously and rapidly while teams work on the next version of the app. ‘Branching’ makes it easier to manage large-scale projects with multiple release trains and versions during its life cycle.
Enterprises are leveraging data warehouses to examine and analyze petabytes of data and gain valuable insights. AWS Redshift is one such data warehouse of importance. If you are a low-code user interested in strengthening your data capabilities through Redshift, WaveMaker 10.7 is just right for you. Developers can now connect to the underlying RedShift database schema in a matter of minutes with a few clicks and create logical data models mirroring the Redshift data source. They can then proceed to leverage the 150+ UI widgets and templates that WaveMaker provides to rapidly visualize data from the RedShift data source.
Are you looking to create purpose-built applications to automate interactions that are tedious to achieve in SAP? Now you can import your SAP HANA database into WaveMaker and build that application without having to copy the data.
In Version 10.7, WaveMaker supports a native integration to the SAP HANA database as a primary data storage. Application developers can then easily model on top of the HANA DB with WaveMaker’s in-built visual tools and expand S / 4 HANA’s existing database. They can even build new web / mobile apps with the power of the SAP HANA database. WaveMaker facilitates developers to leverage the advantages of this in-memory cloud DBaaS (Database as a service) with just a few clicks.
In addition to these, WaveMaker now provides support for all new versions of existing databases such as MySQL, PostgreSQL, and MS SQL Server. To see a list of all the databases and their versions that we support, click here.
Many Enterprises have strict guidelines on accessing private repositories for application build and dependency management. With this release, all UI artifacts required for generating the Angular app will be published to Node Package Manager (NPM) repository. This removes any dependency on external cloud servers (S3 or Maven providers). Additionally, customers currently integrating WaveMaker to their custom CI/CD pipelines can now pull the dependencies from standard npm repositories while pushing the application across the pipeline.
WaveMaker has strengthened its security credentials with the achievement of “Veracode™ Verified Standard (Veracode Seal)” for WaveMaker generated application code. Going beyond addressing OWASP’s top 10 vulnerabilities, Veracode scans run extensive checks on WaveMaker generated code and at all times WaveMaker comes out unscathed. This in effect, translates to faster and easier development because developers can now focus on building the software rather than worry about its security aspects. Apart from fortifying the platform, WaveMaker application developers can easily implement constraints on the number of concurrent logins that are allowed for their application users. WaveMaker supports myriad ways to integrate SSO into its application. In WaveMaker 10.7, the SSO flow is optimized to let application users log in automatically if their SSO session is still active.
WaveMaker continues to strive to provide the “best-of-breed” technology stack to all its users. With this release, WaveMaker-built apps can leverage newer versions of several open-source libraries including spring framework, spring-security, ngx-bootstrap, logging to name a few. The complete list can be found here. In addition to these WaveMaker 10.7 has added several features keeping customer requirements in mind.
Optimizing the queries that read the database metadata has resulted in faster import of the Database Schema. On-Demand pagination and Infinite Scroll support on table widget, the ability to group data shown in dropdown menus, search auto-complete widgets are some new enhancements to keep an eye out for. To see the complete list of new features, please read our release notes here.
With each release, WaveMaker strives to bring low-code closer to modern development teams building serious applications. Keep watching this space, there is a lot more to come.
3950 – That is the number of known data breaches that organizations across the world and over different domains reported in 2020 (Verizon-2020 Data Breach report). The number of records affected? – a staggering 36 billion. (Risk Based Security, 2020 report). The spotlight on application security has never been so bright. The havoc caused by security loopholes discovered in production is immense both in terms of money and value, not to speak of the mistrust it instills in the customer and the chain reaction thereof. Additionally, the pandemic has stewed a culture of digital transformation in enterprises like never before. In such a scenario, security is of paramount importance.
AppSec is showing an increasing left-shift trend in the development cycle of applications. In today’s dynamic market, businesses cannot afford to make a mistake. Preemptive and Proactive is the new mantra. The advantages of weeding out security vulnerabilities at the development stage of the product far outweigh the time spent on finding vulnerabilities at a later stage. At an age and time when clients are looking for rapid go-to-market solutions, any tool that reduces cost and effort without compromising on the security of the application is welcomed with open arms by development teams in both ISVs and enterprises alike.
WaveMaker offers comprehensive security solutions both at the application level and at the code level. The platform itself enables secure coding practices making apps hardened for penetration testing and enterprise-grade security. On an application level, WaveMaker provides standard safeguard methods such as Authentication and Authorization, SSL encryption, User OnBoarding, OAuth, OpenIDConnect, and integration with service providers like LDAP or AD. Additionally, the apps can be configured to protect against ‘OWASP Top 10 vulnerabilities’ including CSRF and XSS attacks.
Recently WaveMaker added another feather to its cap by strengthening its security credentials with the achievement of “Veracode™ Verified Standard (Veracode Seal)” for WaveMaker generated application code. With that, WaveMaker becomes the first Java Low-Code platform to achieve Veracode certification.
By using the WaveMaker low-code platform, customers are putting immense faith in our app-generated code. Obtaining a certification from one of the most respected and trusted names in the security industry namely Veracode, fortifies that faith.
Professional developers using open standards technologies often need to rely on security scans and traditional black-box testing post-development. With WaveMaker, the generated application code is pre-tested using the Veracode static code analysis tool (Veracode SAST). Additionally, Veracode SAST mitigates false positives. This in effect, translates to faster and easier development because developers can now focus on building the software rather than worry about its security aspects.
Development teams, especially those building software platforms and solutions, depend on low-code for its speed, but much of their time ends up being spent in finding and reporting the vulnerabilities issues at a later stage,” said Deepak Anupalli, Head of Product at WaveMaker. “WaveMaker enables professional developers to not just build faster, but to churn out quality, secure application code. The WaveMaker Veracode certification is the latest milestone in our continued efforts on being developer-centric.
Joining the Veracode verified community is an assurance to developers and ISVs that security checks are already in place. The platform also assures safety with regards to third-party open-source libraries. It essentially means that the security of all components encompasses all vulnerability checks listed in the CVE library. What’s more, with every release, WaveMaker updates its libraries against potential and newer vulnerabilities.
ISVs using low-code find their customers stressing on compliance and mitigation of all security issues, and rightly so. Using prerelease analytical tools such as Veracode SAST to test the security of low-code generated code acts as a differentiator for teams building software platforms and solutions. The tradeoff in terms of time, effort, and money for all stakeholders are immense. For ISVs, inbuilt security becomes a pre-ticked item on their checklist. Effort spent on inspecting code for security inadequacies can be economically distributed towards building better, resilient, and agile software.
Our customers have ever-increasing demands for IT compliance and cyber risk mitigation. Knowing our WaveMaker applications are Veracode Verified out-of-the-box saves considerable time and effort to lock down our solution and gives me peace of mind knowing we are built on top of a modern and secure platform,” said Kevin McCarthy, CTO at Neverfail Inc, a WaveMaker customer.
Enterprises are aggressively pursuing digital transformation solutions. Security hygiene needs to be weaved tightly into these solutions. According to the Forrester Report on security, 2021, twenty-one percent of tactical IT security support of organizations said that their firm will prioritize building security into the development processes. For enterprises looking towards low-code platforms, a Veracode partnership with Wavemaker brings relief and assurance in times of shrinking delivery timelines. An Out-of-the-box attestation by the Veracode platform solidifies the commitment from WaveMaker to our customers that the applications they develop are secure and compliant by design.
Comprehensive scrutiny of our low-code platform with every release provides an in-depth view of the security of the app-generated code. Early mitigation ensures that security loopholes do not trickle down to the applications which are built with the low-code. WaveMaker joining hands with Veracode ensures that the security of WaveMaker generated code is a given.
Start building powerful applications with a low-code platform that does not compromise on code security.
Enterprises, on average, use about 1000 cloud apps, even though CIO think it's only 30-40. As one can tell, the enterprise software landscape is complex. Organizations work with a wide range of applications that don't speak to each other, look/work very unlike each other, often unable to even exist in the same tech environment.
This is especially true in the financial services industry, where banks and financial institutions are inching towards end-to-end digitization. COVID-19 has only hurried this digital transformation, forcing businesses to catch up or fall behind. In trying to balance the complexity and the hurry, organizations often lose out on building robust software.
While handling the minutiae, they forget the first principles.
In this article, we explore how low-code can help financial software builders focus on first principles to create robust, integrable and sustainable applications for their customers.
If you are building an enterprise application today, it must be:
“
I think [low-code platforms are] probably the most important technology tool that CIOs need to look at. We do not have enough staff and our staff who are strong at App Dev really need to focus on the customer-facing pieces that are going to move the needle”, says Issac Sacolick of Star CIO. The fundamental benefit of a low-code framework is that it abstracts and automates the programming process to accelerate software development. In doing so, it helps you create applications that are consistent, integrable, sustainable and secure. Here's how.
Low-code opens doors to modern architecture
By 2022, 90% of all apps will feature microservices architectures that improve the ability to design, debug, update, and leverage third-party code.
Development teams across the globe understand the advantages of microservices-based architecture, and are adopting it rapidly. But, among traditional development teams, this can be a tedious process. Modernizing monolithic legacy software or building new microservices-based products involves not just changes to development processes, but also setting up DevOps teams, changes to organizational culture etc.
Low-code systems can help leap past these obstacles. A robust low-code platform can help professional developers build microservices-based applications at scale.
Low-code enables reusability with components and prefabs
Developer time is wasted in repeatable processes. Be it basic UI templates or complex forms, tables and interactive charts, low-code frameworks can help automate parts of development. In fact, you can also generate from your own data model, and navigate through data and their relationships right from the low-code platform. This can come especially handy when ISVs need to rapidly customize their applications for each of their customers.
A low-code platform can help accelerate development with out-of-the-box widgets, templates, prefabs and more.
Low-code is prime for building cloud-native apps
A robust low-code platform can take you beyond just ‘cloud-ready' development. With zero DevOps, auto-generated APIs, auto-scaling, app-sizing, proactive monitoring etc. Cloud-native low-code application development is now possible without a bastion of cloud experts on your team. It can also enable one-click deployment across multi-cloud or hybrid-cloud environments.
A low-code platform can automate many of the development and operational aspects of building cloud-native apps.
Low-code accelerates the development of omnichannel apps
Omni-channel customers spend an average of 4% more each time in the store and 10% more online than single-channel customers.
Financial software builders face pressure to build apps that offer a consistent and seamless omnichannel experience. Customers want to access information, make transactions, raise requests and speak to agents across their online banking solutions, mobile banking solutions and in-person channels. They want to have a continuous and engaged experience across them all.
To achieve this, traditional app development teams have a multi-functional team of mobile developers, web developers and core application developers replicating the application for each channel. Low-code tools eliminate the need for this, and create responsive applications by default. They also have built-in components and widgets that facilitate seamless engagement across channels.
By automating the adaptability and responsiveness of your app, low-code platforms accelerate superior omnichannel experiences, without corresponding investments.
Low-code platforms build integrable apps
Low-code abstracts a set of complex processes to accelerate development. APIs are an important part of that. They enable applications to access and consume vast amounts of data from multiple sources. They also integrate across upstream and downstream layers to connect information and application components. For instance, API helps banks or financial institutions to enable their services or share transaction data to a third party like Google Pay. It provides the flexibility of communication between two parties, increases workflow efficiency, enables real-time data sharing, and improves customer experience.
A low-code platform can help financial software builders make apps with composable APIs from underlying services and entities.
Low-code helps build secure applications from the start
The auto-generation of code in low-code tools brings with it security measures built-in at all application layers. With a good low-code platform, you can configure compliance levels, customize authentication and authorization, and even enable platform-driven automatic upgrades free from security vulnerabilities.
For instance, code generated by WaveMaker, our low-code platform, is open standards-based. The platform enables secure coding practices making apps hardened for penetration testing and enterprise-grade security. Given that it's also ‘Veracode™ Verified', WaveMaker drastically reduces the time developers spend in rounding off security for their apps. This verification covers third-party open-source libraries you use to generate code and all vulnerability checks listed in the CVE library. In all, it significantly de-risks application teams from compliance and security issues, without compromising on speed of delivery.
A low-code platform enables organizations to incorporate security at every stage of application development.
If you're an independent software vendor developing software for the financial services industry, a robust low-code platform can accelerate your product development, and enable rapid customizations at scale. To gain maximum leverage from your low-code platform, make sure they empower you to focus on first principles.
For all these and more, consider WaveMaker.
Know more about WaveMaker's banking solutions & financial offerings
By Vikram Srivats, Vice President, WaveMaker
So far, the low-code bastion has been mostly custom applications (built by “citizen” developers) – which are, sort of, spectrally opposite to core software platforms built by professional coders.
The tide is now turning.
Software platforms, specifically in the banking world, are embracing – even infusing – low-code capabilities – either through build or buy (license, OEM) routes.
But first, the backdrop: It is no secret that banks – and all financial intermediaries in general – are rushing to digitally innovate their business and transform their technology. And we know that these interventions target both top and bottom-line impact, while purporting to deliver speed, agility and simplicity in operations. Add in a host of headwinds – pandemic induced credit losses, muted revenues in a low-interest environment, rise in challenger banks that are digital-only, and fintechs that threaten to drive new non-interest business models on a modern tech platform – and you have a real test of banks’ resilience over the next 4-5 years.
To make good on the digital innovation and technology transformation theme, banks must buy or build banking software (core and channel facing systems) based on 4 foundational pillars:
With this backdrop, market-leading digital banking systems – cores and application portfolios – are increasingly turning to low-code capabilities (and third-party low-code platforms) as a significant intervention.
Here are 4 value plays that low-code drives for banking systems providers:
In short, Low-Code + Banking Software = Results (digital innovation and tech transformation).
Temenos, a Swiss banking system provider, bought Kony (a digital banking SaaS company and a low-code platform vendor) for $600m in 2019. EdgeVerve, a wholly owned subsidiary of Infosys, a $14b IT consulting and services provider, has built-in low-code capability in its Finacle Digital Engagement Suite per leading analysts that profile digital banking systems. In mid-2020, new age composable banking platform provider, Mambu, partnered with Argentina-headquartered Veritran, an enterprise low-code platform provider, for the Latin America market.
Per Forrester, EdgeVerve and Temenos feature as Leaders in their Wave reports on digital banking platforms (processing and engagement) across 2019 and 2020. Mambu is a Challenger per Gartner’s Magic Quadrant for Retail Core Banking. Low-code capability infusion seems to be clearly correlated with leadership in the banking software domain. We should expect other leading players – TCS, Oracle, Finastra and FIS – to follow suit.
And future banking platforms with leaner digital cores will only serve to further drive the embedded adoption and proliferation of low-code capabilities – whether homegrown or licensed as OEM from third party low-code platform providers.
Epilogue:
A recent McKinsey report on the banking industry points out that the COVID-19 pandemic will cause $3.7 trillion of revenues – more than half of the total financial intermediation industry revenues – to be foregone and never come back. In that same scenario, return on equity would fall from 8.9% in 2019 to 1.5% in 2021, with North America bottoming out at -1.1%.
It is not all doom and gloom though.
The report points out that there is a hopeful picture – if banks do the hard work on productivity and capital management, their ROE can return to pre-pandemic levels by 2024.
What has all this got to do with low-code development?
(Hint: low-code => high productivity)
2024 awaits the resilient and transformed banking industry.
To futher explore banking solutions by WaveMaker, please visit:
next.wavemaker.com/banking-financial-services/
Or, start a conversation with our expert consultants for solutions to your unique requirements.
Originally published in Finextra
“One in four retail branches to close in Europe,” predicted a study mid-last year. This comes as no surprise, given the number of challengers that core banking systems of traditional banks face today. For instance, neobanks — mobile-centric retail banks, often without physical branches — have tripled in number in the last three years. Over 30 neobanks went live in the middle of a global pandemic, including niche ones like Daylight, a US bank for LGBT+ members. This isn't euro-centric either; there is a significant boom in digital banking across Asia and Africa too.
As the pandemic forces customers to do as much interaction as possible online, “70% of account openings, deposits, consumer loans, and credit card applications will happen remotely over the next three years.” Enabling digital banking experiences of existing offerings is only one part of the story. To truly emerge successful in the 21st century, banks and financial institutions also need to devise innovative new offerings for the digital banking world.
More importantly, this needs to be rapid, agile, adaptable, and scalable. It is here that low-code software development will play a crucial role.
Low-code accelerates the app development journey significantly, often by over 50%, while also reducing costs proportionately. This can be game-changing for banks and financial institutions that wish to offer innovative services to their customers.
Whether you need an app that lets users buy cryptocurrency or simply complete their Know Your Customer (KYC) compliance remotely, a financial services and banking low-code platform can help you develop and deploy it within weeks, if not days! In fact, that’s what a Fortune 100 insurance company did with WaveMaker. They used the WaveMaker platform to swiftly develop innovative applications, with 80% less coding than traditional development would have needed, and without any additional investment in skilled resources.
Low-code achieves this with:
One of the biggest costs associated with application development tends to be technical debt.
With rapid advancement in technology, banks and financial institutions are expected to deliver a sleek and enjoyable experience for the end user, forcing them to regularly modernize their applications. They must do this without compromise on the complex and highly secure backend technology that powers it.
A low-code platform can help banks achieve this, while also minimizing technical debt in the long term. It does so with:
Studies show that “80% of consumers are more likely to make a purchase when brands offer personalized experiences.” The risk of not personalizing is high too: Gartner found that brands risk losing 38% of customers to poor personalization efforts.
Enabling unique, personalized digital banking experiences for customers will differentiate leaders from the laggards. Same goes for the various B2B customers of independent software vendors (ISVs) in the banking industry for core banking software.
Banking Low-code can make such personalization for the financial services industry not only possible, but also scalable and effective. For instance, a 65-year old, California-based credit scoring and financial data analysis company personalized the lending experience for over 1,500+ banks with WaveMaker. Low-code powers this with:
Not all banks and financial institutions have the luxury of large in-house technology teams to build their applications. Several specialized ISVs who develop apps exclusively for the banking and financial services industry, are in need of efficient ways to build and reuse application components.
It is here that white-labeling of low-code platforms like WaveMaker can help. Low-code platforms can be customized for different user personas and can help by:
As we speak today, the financial services industry is going through a sea change. From being a supporting function, IT today shapes business models, operations and even service delivery entirely. And as PWC recommends, simplifying legacy systems, taking SaaS beyond cloud based core banking low-code, adopting robotics/AI, and preparing enterprise architecture to connect to anything — from enterprise databases and big data to IoT — will become top priority for global players in the financial services industry.
Banking Low-code can offer the speed, flexibility, and customizability needed to create personalized banking experiences for customers.
Explore WaveMaker use cases for banking & financial services
In 2020, Forrester had predicted that 50% of developers will use a low-code product. And then the pandemic happened. Instead of derailing the prediction — like the pandemic did for most trends of last year — it accelerated it. So much so that Forrester predicts that the “accelerated adoption of low-code platforms will change how teams organize.”
Today, low-code is no longer one of the many tools that help development, but a strategic initiative that fundamentally shapes the way software delivery will happen. Enterprises already understand this. For independent software vendors (ISVs) though, this can be a different ball game.
As a ‘software company', most ISVs pride themselves on having excellent developers, building products that are robust, customizable, secure and scalable. For long, low-code development was seen as a means for citizen developers or business users to build prototypes, which then the ‘real developers' built by hand. With reason.
Most low-code development platforms available today can not handle complex business logic or application requirements.
Until now.
If there is one change that 2020 has brought to the world, it's the widespread acceptance of remote work. For employees to work remotely, enterprise software needs to work remotely as well. This shift to the cloud, and perhaps a SaaS model, requires ISVs to rapidly modernize their software. Low-code can enable that.
Low-code can make software development faster by 10 times, as compared to traditional methods. Features like reusable elements, drag-and-drop and process modelling let individual developers or small teams release in days or weeks! Pair it with an agile-DevOps process, and it can modernize legacy applications to support enterprise needs of the future, without any disruption to current paying customers.
With low-code:
ISVs often maintain multiple implementations of their products for each customer. Even when on cloud, modernizing applications across these implementations — and their customizations — can be a complex endeavor.
Low-code platforms like WaveMaker leverage component-based models and micro-services with session-less architecture to build large, customizable applications at scale. With simple API integrations, ISVs can also ensure their applications work seamlessly with a wide range of other software that the client uses.
With low-code:
The biggest advantage of low-code development is that it doesn't require ‘specialists' for every function. A lean team of professionals can use low-code to build or modernize an entire application. With powerful abstractions over technical programming, low-code platforms can empower development teams, making it easier for non-specialists, junior programmers and even citizen developers to build software.
Low-code reduces expenses both for the ISV and their end customers. It also frees ISVs from the expense of regular maintenance, while reducing development costs multi-fold.
With low-code:
Unlike most low-code platforms, WaveMaker is built to handle extreme customization, enterprise-grade security and scale, all of which are essential for ISVs.
If you’re an ISV looking to leverage enterprise-grade low-code technology to modernize your application, get a demo or contact us here.
Understand the importance of custom applications in accelerating digital transformation. A step-by-step approach that recognizes the role of people, process and technology to deliver successful transformation.
The Geneca study mentioned earlier also found that 80% IT professionals admit that they spend at least half their time on rework. The primary reason is that business and IT exert discrete spheres of influence at the various stages of application delivery. While business drives the requirement analysis and production phases, IT drives the development and QA phases of the traditional software development life cycle. The business-IT gap can be bridged by creating an engaging environment at every stage of application delivery. Rapid Application Development simplifies 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 users with domain knowledge can validate the implementation as it is being developed. Consequently, rework is greatly reduced and cost overrun is avoid to a large extent.
The linear approach of conventional software development models presents significant opportunities to reduce waste and fast-forward delivery. Using the value chains technique to analyze software delivery, it can be found that wait times, handoffs, task switching and defects contribute to the cycle times. The reasons can range from securing sign-offs to waiting for environment setup. Rapid Application Development tools that offer visual development, instant testing and deployment have helped many organizations achieve substantial reduction in waste, thereby speeding up application delivery.
Until now, organizations have looked at the benefits of RAD only at the application level. However, Rapid Application Development benefits are even greater at the enterprise IT portfolio level. To understand that, you need to look at enterprise application from the lens of their rate of change, as explained by Gartner in their Pace-Layered Application Strategy. Basically, Gartner has defined three application categories, or “layers,” to distinguish application types based on their rate of change. A closer examination reveal that these layers also denote the proportion of focus and budget traditionally accorded by enterprises. However, competitive advantage lies with companies that focus the most on the top tier, the ‘Systems of Innovation’. RAD tools are ideal for such systems that require the most experimentation and experience the highest rate of change. Hence, organizations have turned to Rapid Application Development to build their innovation pyramid by laying the most emphasis on ‘Systems of Innovation’.
Device proliferation and consumerization of IT has led to rising end-user expectations from today’s applications. Enterprises have come to expect speed, agility and scalability at the lowest possible TCO. Meanwhile, an explosion of APIs and front-end technologies has multiplied the technological burden on developers to deal with the smorgasbord of front-end technologies and devices. Using Rapid Application Development, organizations can stay on top of these changes by delivering applications at the speed of business.
The benefits of Rapid Application Development have a direct bearing on the cost and schedule of enterprise application development. In fact, organizations that used WaveMaker RAD Platform have experienced:
lower maintenance costs than traditional software life cycle
Mobile has swiftly risen to become the leading digital platform. What started in the consumer space has now also engulfed Enterprises. Every application within Enterprises that is being redesigned, recreated or freshly created starts with a Mobile initiative today.
While a native app provides the best user experience, developing native apps is a costly affair. It requires developing the application on each device separately and requires highly skilled developers who can code in Objective-C/Swift for iOS, and/or Java for Android devices. Many enterprises want to balance the need for great user experience with simplicity and speed of developing the application. This is where hybrid mobile apps come in. With hybrid mobile app development, businesses can create apps using a single code base that can adapt to any mobile operating system.
Did you know that by 2016 more than half the mobile apps deployed will be hybrid?
Hybrid mobile apps are built with a combination of web technologies like HTML5, CSS, and JavaScript using frameworks that provides set of APIs to access device capabilities.
Two of the most popular mobile app development frameworks are Apache Cordova and Microsoft’s Xamarin. However, both of these frameworks have their shortcomings. So, how do you choose the best framework to deliver mobile apps for your enterprise? Here we provide a detailed comparison of the Cordova, Xamarin and WaveMaker to help you choose the right platform for your mobile app delivery needs.
Xamarin | Cordova | WaveMaker |
Mono .NET, C# based solution for cross-platform mobile. But, you still need to know Objective C or Java | HTML5, CSS3 & JavaScript | Basics of JavaScript syntax |
Need platform-specific development environments for building apps. Mac for IOS, Windows for Windows Mobile etc. | Development can be done on any platform | Browser based RAD Studio, for building apps for any platform. Cordova-based |
SDK installation and regular maintenance upgrades need to be done for development | SDK installation is required only for building installer | No SDK installation required for development and testing |
For testing device features, use emulator or build mobile installer for the respective platforms, Mac, Windows etc. | For testing device features, use emulator or build mobile installer for the respective platforms, Mac, Windows etc. | WaveLens app can be installed on specific device you wish to test. No need to build platform-specific mobile installer for testing |
App’s source code is tightly coupled with the Mobile platform version e.g. Android 5.0 (lollipop) or 6.0 (Marshmallow), IOS 9 or 10 | App source code is independent of the platform | Single app source to support multiple platforms |
Xamarin Forms makes re-usability of code and components. However 30% of code still needs to be natively implemented | Need to find right frameworks around Cordova for re-usable components or build on your own | WaveMaker widget Library offers wide range of integrated UI/data components like Forms, Lists, Grid, Filter etc. |
Native look-n-feel | Need to build for each platform | Look-n-feel for each platform taken care of by themes |
Xamarin | Cordova | WaveMaker |
Supports MVC or MVVM pattern for app development | Need to find the right framework | MVC framework |
Mono .Net / C# based multi platform framework | HTML5, Javascript based cross-platform framework | HTML5, Angular, Cordova-based application & Java backend |
Separate apps need to be built for each platform with their own UI | Only one app need to be built for all platforms | Only one app need to be built for all platforms |
Native widgets for each platform | HTML widgets only | HTML widgets, customized with native look-n-feel for each platform |
Need to rely on Microsoft Technologies for deploying backend Services, higher TCO for development and deployment | Open source framework, no specific vendor lock-in | Open standards based code, no vendor lock-in |
Xamarin has TestCloud to test apps | No Test Cloud platform | WaveMaker platform has single-click cloud deployment platform & UI testing capabilities using WaveLens app |
Mobile builds on developer machine | Either build on developer machine using SDKs or use PhoneGap build service | Single-click build service for Android and integration with PhoneGap build service |
Native performance | Performance is based on browser capabilities | Widgets are optimized for better performance on browser capabilities |
Xamarin | Cordova | WaveMaker |
Steep learning curve for Enterprise IT development team. Learn Xamarin codebase and platform-specific programming | Any web developer can be trained to build mobile interface using Cordova | Requires learning the RAD platform, with understanding of web development skills |
High maintenance to keep up with platform upgrades and for each platform | Low maintenance because of cross-platform. But, plugins need to be upgraded if platform compatibility is not met | Platform takes care of upgrading the plugins, and also migration of applications to take care of backward compatibility |
Visual Studio has integrated development environment for building apps, visual designer etc. | No specific development IDE, developers could use Eclipse, IDEA or any other Java/Javascript based IDE of their choice | WaveMaker Studio is WYSIWYG browser based development environment |
Integration with code repository for collaboration | No integrated development environment | Out-of-the-box collaboration & version control based on Git/SVN etc. |
Extensions can be added through components & plugins | Cordova plugins | WaveMaker prefabs for building service/API integrated UI Components |
In the journey of digital transformation, the path to modernization could be a challenging one. When faced with technology modernization, dealing with legacy systems such as 5250-based, green screen applications, tightly coupled business logic, monolithic code base structures and limited knowledge of the application architecture, what choice do you have? You take a look at what's trending in the market. You observe that there is an increase in the spending on enterprise low-code technology (to the tune of $21.2 billion by 2022). Consequently, you decide to get on the bandwagon.
You choose a low-code development platform and begin the process of modernizing your applications. Fast forward a few months and you realize that the easy to use, drag-and-drop feature is great to build a prototype but the platform falls short in etching out the intricacies of a serious enterprise application. You also realize that when you want to scale up and build more applications and increase the number of users there is an additional cost. Added to that you have runtime dependency and added cost of deployment on infra of your choice. These among many other challenges edge you towards a reality check and it makes you wonder whether, in the urgency to modernize and be competitive, was the low-code development platform a right choice?
Every enterprise is keen to ride the low-code wave, and in line with the modernization narrative, they should. The challenge arises when low-code is adopted without learning about the ‘nuts and bolts' of the platform and understanding how it fits their requirements. This is when a reality check occurs, when there is a glaring gap between expectations and reality. More often than not, the reality of technology modernization and digital transformation is different from what is expected. It's a fact that while companies have reportedly spent $1.2 trillion on digital transformation in 2019, analysis indicates that just 1% of these efforts would actually achieve or exceed expectations.
Assume nothing. Know what to expect to mitigate reality checks
Before adopting an enterprise low-code platform, it is important to take into account the expectations and requirements of different stakeholders. CIOs, CTOs, Application and IT Leaders expect that an investment in a low-code platform must speed up time to market of application development and delivery, reduce operational costs, address the skills gap, bridge silos between users, developers and IT teams, ensure scalability, and promote growth. IT teams expect low-code platforms to take the pressure off by enabling business-users build their own applications with minimal IT support, thereby giving them the bandwidth to innovate. Developers are a league of their own, and assume that they “tell” the platform what the application should be. Professional development teams expect low-code platforms to automate time-consuming and mundane tasks of code generation, so that they can focus on developing application features that will provide differentiation and improve user / customer experience.
Taking into consideration these different expectations, let's take a look at some of the assumptions that create the gap between expectations and reality, and what can be done to reduce it.
Assumption 1: The platform is built for enterprise-grade application development
Assumption 2: Low-code will replace coding
Assumption 3: The platform generates quality code and testing is not required
Assumption 4: The platform is scalable and supports increasing growth
Assumption 5: You are not locked in to the platform and can customize applications after migration
Assumption 6: There is no runtime dependency and you are free to deploy on infra of your choice without separate cost for deployment.
Assumption 7: Underestimating the complexity of managing APIs during integration
Modernization, as a part of digital transformation, is an intensive affair. Through 2021, Gartner predicts that digital transformation projects, by large and traditional enterprises, will take twice as long and at double the cost than anticipated. On the other hand, smaller and agile enterprises will be more successful in implanting modernization and digital transformation initiatives. Regardless of this factual prediction, enterprises, large and small alike, can still gain leverage by adopting emerging technology solutions, such as low-code. Solutions that constantly evolve, adapt to the challenges of technology modernization and make the journey of digital transformation smooth sailing and successful.
Despite the explosion in number of low-code platforms, they broadly fall into two categories: A, Citizen developer platforms that help IT-aware business folks to rapidly build good looking digital office apps, most using popular platform APIs. And B, Process automation studios for assembling sophisticated workflows and creating workflow-based apps using connectors and such. All low-code platforms uniformly promise, and deliver, great looking UI out of the box – the main hook for citizen developers.
However, the ease of building snazzy line-of-business apps, and the resultant “gold rush”, has led to many silo-ed projects across the enterprise. Over time, this has raised the cost burden of long term use of low-code, but more critically, it has compromised on scalability, security, and performance. As a result, such apps have fallen out of alignment with the enterprise’s web applications strategy.
Having said that, the right low-code platform can accelerate your enterprise web strategy. Let’s begin.]
An open standards low-code platform that generates human-readable application code (“Code Behind”) finds instant synergy with professional development teams, who don’t like to sacrifice features for ease of development.
(Avoid Code Lock-In – can the auto-generated code be extended and customized?)
Developer experience is key to low-code acceptance among professional developers. Look for extensible factory components and the ability to hand-code advanced features – giving teams full-stack capability.
Does it give you access to best-of-breed technologies, enable modern architectural best practices, and provide a well-thought-out development methodology?
Low-code apps should be as good as hand-crafted ones: enterprise-grade performance and the ability to scale out with microservices as the number of features and volume of users grow.
(Avoid Platform Lock-In. Can you run applications on the infrastructure of your choice?)
A bad license model can choke your growth. Choose an affordable and uncomplicated license model that is based on developer seats, and does not inhibit the complexity or number of apps you want to build.
(Avoid Business Lock-In. Is the licensing and pricing option future-proof?)
Look for a technology partner who can lower the risk when there is uncertainty, accelerate delivery of fast-changing apps, and has an engineering support plan that takes the load off your IT team. Does it reduce the risk of investment normally
associated with full-stack teams and traditional dev projects?
WaveMaker is the low-code platform of choice for professional development teams across the globe.
Understand the challenges that plague Enterprise IT and how to tackle them using Bimodal IT. Learn how WaveMaker can ignite digital innovation by powering Bimodal IT.
Customer interaction with Business have changed. Customers today connect via mobile devices, plugged into the social network, and doing their own research. “bring your own device” (BYOD) concept is being adopted and employees prefer toutilize tablets and mobile phones to improve productivity.
CIOs are pondering thought to deal with the New Normal
The time for Digital transformation has arrived.
Enterprise IT teams are looking at utilizing modern technology platforms to drive digital transformation and innovation that would allow them to solve business problems, transform business needs into realization via apps (web, mobile), digitize experiences and operations.
There are different perspectives on how to approach enterprise IT spending and overall effort to achieve application delivery nirvana. One of the most popular methodology to understand where the app delivery cycle fits into the overall IT process is Bimodal IT.
According to Gartner, Bimodal IT is “the practice of managing two separate, coherent modes of IT delivery, one focused on stability and the other on agility” so that CIOs can help their departments meet the digital challenge, and ultimately bring the enterprise along.
Under Bimodal IT, organizations of the future will have two separate IT flavors:
Mode 1 (conventional), which is traditional IT, focused on stability and efficiency
Mode 2 (nonlinear), which is an experimental, agile organization focused on time-to-market, rapid application evolution, and, in particular, tight alignment with business units.
If you were to look at Bimodal IT from the perspective of Pace-Layered Architecture, Systems of Innovation and Systems of Differentiation, which tend to have less governance and a faster rate of change, will fall under Mode 2.
WaveMaker, Inc. proposes 2-pass development as a new app development methodology that can be used with any low-code platform to do away with all the application development challenges.
2-pass development approach, as it says, has 2 passes in app development- a business pass and a technical pass. The Business pass is driven by a team comprising of non-technical business developers who build their apps using a low-code platform like WaveMaker. A Technical Pass, driven by a team comprising of technical experts and developers write the code and wrap them as visual components, that can be used by the Business Pass team to build apps.
Gartner states, by 2017, 75% of IT organizations will have a Bimodal capability but only half of those organizations will succeed. WaveMaker enables enterprises with a two-pronged approach:
Innovate: Enable business units to build their own apps but on technologies sanctioned by IT
Renovate: Migrate existing long tail applications by liberating them from proprietary technologies using proven modernization techniques and platforms.
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 Application 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.
ASSESS | ADAPT | ADVANCE |
---|---|---|
|
|
|
Learn More
|
Learn More 2-Pass Development
|
Learn More Low-Code Platform Guide
|
Responsive apps
Responsive web design emerged as a new way of building websites and web apps that adapt their UI to the size of the current browser window. This became possible with fluid grid layouts, flexible images, and media queries. While responsive web design is highly suitable for websites, data-oriented apps may not find it very suitable. The app needs to be opened through a browser URL and not the typical fashion of a mobile installed app. More importantly, the apps cannot leverage device capabilities resulting in a less engaging experience.
Hybrid Apps are built using HTML5, just the way a Responsive Web App would be developed and then packaged into a thin native container and libraries that provide access to native features of the device. That way, Hybrid Apps combine the best of Native and Responsive Web Apps. They are built using familiar web technologies, but run like a typical Mobile App and use device capabilities. Not only does Hybrid App development offer better use of available skills and people, but also the ability to build Apps that follow UI guidelines of the device platform.
Native Apps
Native apps provide the best experience on mobile devices, as they are specially built to the platform/OS. Each mobile platform has its own development tool and SDKs, which enables professional developers to build native apps leveraging device or platform-specific features. The problem with native apps is that you need to develop individually for each platform (iOS or Android or Windows), using different technologies (Objective-C or Swift for iOS, or Java for Android) making it an expensive proposition. Hence, native apps are suitable for consumer-facing apps or games.
Responsive apps | Hybrid apps | Native apps | |
Mobile web browser-friendly | Yes | No | No |
New code base for each mobile OS | No | No | Yes |
UI/UX | Good | Exceptional | Exceptional |
Ability to leverage device capabilities | No | Yes | Yes |
Ideal for | Websites | Business apps | Consumer apps |
Cost of development | Low | Low | High |
Companies looking to build intuitive UIs; along with lowering the development efforts, opt for the hybrid model of app development
Hybrid apps built on our platform give a near-native experience on all mobile operating systems
Modern enterprise needs have transformed with increasing demand from the digital workforce, agile operations, and the tech-savvy marketplace. While the decades old, traditional SDLC software development is a robust approach, new development methodologies such as rapid application development (RAD) is revamping the blueprint of modern enterprises to include agile processes.
With mobile application development gaining speed, traditional methods of software development fall short of fulfilling demands. SDLC is time intensive, it allows for minimum iterations, there is little user interaction and requires high coding efforts. In alignment with the change in pace of enterprise needs, RAD offers a simpler approach to application development, one that requires minimal coding and is highly flexible. The answer to which approach works best is based on the enterprise needs. There is a gradual yet rapid transition from traditional software development to modern RAD. The balancing act is in blending high code for complex and core enterprise applications with low-code for rapid application development.
The Rapid Application Development approach relies on rapid cycles of iterative development, prototyping, reiterative user testing and the re-use of software components. A RAD platform accelerates visual development with out-of-the-box themes, templates, widgets, and responsive designs while generating standards-based front-end code. It allows for seamless, secure, and scalable integration to standard enterprise systems with an API-centric approach. It also supports continuous, flexible, and one-click deployment without lock-in and CI/CD of your choice. Delve into the process of a Rapid Application Development Model.
Understand the difference to create a balance between High Code and Low-Code
Parameter | Rapid Application Development (RAD) | Traditional Software Development (SDLC) |
Application Development Process | Incremental and iterative. Different phases of development are revisited as required. | Linear and predictive. Follows sequential flow of application development. |
Team Structure | Small and agile teams with intermediate technology skills, good business knowledge and communication skills. Thin project management layer. | Large teams with strictly defined roles and technology skills. Well-defined project management layer. |
Productivity and Flexibility | High productivity and flexibility due to iterations, end-user interactions and use of predefined elements leading to faster turnaround time and low waste. | Lower productivity and flexibility due to linear, rigid approach. Exhibits wait times and waste at each stage, leading to high cycle times. |
Documentation | Minimum viable documentation as the deliverable at every iteration is the code/app itself. | Involves stringent documentation and reviewal at every stage of development. |
Time and Cost Estimation | Short duration projects with small variance in the cost estimation. Low maintenance costs. | Medium to long duration projects with high costs. There are chances for additional increase because of reworking and maintenance costs. |
Testing | Testing is performed at every iteration. | Testing is performed after completion of the coding phase. |
End User Interaction | Extensive user interaction with reviews and suggestions on a timely basis during every iteration and phase. | User is involved at the beginning during the requirements stage and then in the end delivery during the user acceptance stage. |
Predefined Elements | Use of predefined themes, templates, layouts and micro applications which are tested and ready-to-use. | Elements have to be designed and constructed from the ground up as per project requirements and hence, are not reusable. |
>With the accelerating pace of digital transformation, enterprise IT and business users are increasingly observing the importance of rapid application development. As development teams grapple with traditional software development, rapid application development supports custom app development and reduces the friction points to deliver successful transformation. Find out more about the Benefits of Rapid Application Development.
Explore the features of WaveMaker’s RAD Platform
WaveMaker’s RAD platform helps you build, integrate, secure and deploy enterprise-grade applications. Build applications visually with powerful components, create modern responsive interfaces, and design interfaces easily using out-of-the-box widgets, templates and themes.
Easily integrate with your database, API ecosystem or any systems of record. Generate readable code that you can own and modify in future with no lock-in. Create custom UI components from existing widget building blocks and enable re-use across applications by bringing together 3rd party frameworks with business logic. Generate your application APIs and enable microservice based deployments.
Take a Deep Dive into the WaveMaker’s RAD Platform Architecture
67% faster application development than traditional software delivery
80% lesser coding required compared to traditional software development
75% lower maintenance costs than traditional software life cycle
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.
Ensure high quality of code
Incorporating the best practices followed by professional Java or Javascript developers, WaveMaker guarantees best code quality, maintainability and extensibility for enterprise application use.
Automate code generation
Taking a radically different approach to use open-standards based generated code, the WaveMaker platform automatically generates code for every action performed via drag & drop features.
Lower costs
Experience significant reduction in development and maintenance costs. Enterprises using the WaveMaker platform for application development have, in some cases, lowered maintenance costs up to 75%.
Enterprise users experience, on an average, 67% faster application development time using the WaveMaker platform, when compared to traditional software delivery.
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.
The cloud computing market has grown into a complex ecosystem of cloud-enabled technology and services. The portion of enterprise IT spend dedicated to cloud computing is increasing. By 2022, worldwide public cloud service market will grow to $331.2 billion, spending on Infrastructure-as-a-Service (IaaS) is predicted to increase to $76.6 billion, Platform-as-a-Service (PaaS) to $31.8 billion, and Cloud Application Services (SaaS) to $143.7 billion. Gartner
By making the shift to cloud application development, enterprises can benefit from on-demand computing resource power, pay-as-you-go features, easy scalability, to the use of the latest technology stack.
Enterprises that are further along the road of digital transformation that are looking for ways to add business value by enhancing capabilities are revamping application development and delivery models. To rebuild applications to be fully cloud-native, they are running PaaS layers in containers instead of lifting and shifting to IaaS.
What’s the difference between aPaaS and PaaS and the capabilities that define it? Find out.
Explore the expectations and challenges of modern web application development and learn how you can deliver enterprise web applications better with WaveMaker.
Enterprises have a perennial requirement to develop applications either for their internal needs or for their clients. When the word “enterprise” and “application” are combined, it is a software designed for a large business which is complex in nature as it has to integrate or interface with current applications within the enterprise which needs to be deployed on either the internet, intranet and corporate networks while maintaining strict security demands in the process.
Today’s enterprises have needs to build custom web application easily, quickly and securely. Applications need to be agile and versatile to work on both web and mobile devices. These requirements has spawned the emergence of modern web application development platforms.
Modern enterprise application needs have become intricate. They demand application development and deployment to be cloud-native, agile, scalable, and secure. The app ecosystem has become intertwined, and enterprise applications have become complex beasts, built on monolithic systems. The transformation continues. Modern application development is becoming more agile and scalable and deployment of applications on the cloud is increasing. Application architecture is transforming from monolithic to microservice-oriented architecture. Developers and IT Ops are collaborating giving rise to the culture of DevOps. With the increasing pressure on high performance, DevOps teams are urged to use more sophisticated technology and techniques.
Besides achieving agility and scalability, DevOps teams are also entrusted with achieving enterprise application security goals. App Security has become a high-priority goal and a shared responsibility. It’s reflected in Gartner’s “Magic Quadrant for Application Security Testing, 2020” report, there’s a 50% increase in the number of end-user and client conversations about AST (Application Security Testing) tools and DevSecOps in 2020.
To embed application security across the development cycle requires various levels of automation testing and setting up of configurations at different stages of the application development and deployment process. What development teams are doing is that they are using container technology and microservices to “pull security” early into the DevOps process. In addition to application security, another trend highlighted in Gartner’s report is the increasing attention (of 65%) on container security.
While many enterprises are already running cloud-native, microservices-based, containerized applications in production, there are several challenges; from technology immaturity, a steep learning curve, to the lack of operational expertise and know-how. What’s taking precedence today in high-performance development teams is the left-shift application security earlier in the stages of development.
“Shift Left” App Security – The Guiding Force Behind High-Performance Development Teams
App Security has become a business imperative. In Forrester’s Report on “The Top Security Technology Trends To Watch, 2020”, integration of application security tools with CI/CD pipeline is a major priority in 2020. Application security has become the primary focus of high-performance DevOps teams and by “left-shift application security” parameters, security is a shared responsibility and is being implemented by developers. Moreover, with the rise of DevSecOps the silos of application and infrastructure security are being bridged.
AppSec – The Primary Focus of DevOps in a Containerized Environment
DevOps teams not only have to mitigate operational issues related to performance, integrity, availability of containers in production environments, they also need to ensure security is embedded early in the DevOps process. With greater urgency to automate application security testing (AST) in the DevOps process, the attention of DevOps teams needs to be directed towards the integration of the CI/CD toolchain with application security tools such as software composition analysis (SCA), static application security testing (SAST), and container security.
When embracing the DevOps culture and migrating applications to the cloud in a containerized environment, security must be embedded across the development lifecycle. To ensure compliance of performance and resiliency, the focus needs to shift to service-level and container-specific monitoring. DevOps teams need to monitor applications within containers and across containers at a service level. “Pulling in” application security earlier into the development lifecycle would form the beginning of what is called DevSecOps.
DevSecOps – Breaking the Silo of Application and Infrastructure Security
The ‘mantra’ of DevSecOps is “shift left”, encouraging developers to move security from the right end of the development and delivery process to the left end (beginning). True to its abbreviation, DevSecOps – development, security, and operations – ensures the integration of security is automated across the lifecycle, from application design, testing, deployment, and delivery.
With the essence of DevSecOps being “software, safer, sooner”, it enables seamless integration of application and infrastructure security with the DevOps process. By allowing developers to address enterprise application security issues earlier before the application goes into production, it makes security issues easier to fix without disrupting the development cycle. Breaking the security silo, DevSecOps makes security a shared responsibility of IT Ops, security, and development teams.
Integrating security and testing across the development lifecycle may seem like a daunting challenge. However, there are emerging technology and tools available to ensure security is pulled in early enough. Low-code platforms give enterprises the leverage to embedded security when developing cloud-native applications, managing containers, and adopting microservices-based architecture. To implement the practice of DevSecOps, low-code gives the opportunity to address and improve application security across the development lifecycle.
The Window of Opportunity – How Low-Code Enables Enterprises to “Shift Left” Application Security
Low-code platforms help enterprises by integrating application-level, security features such as authorization, authentication, auditability, certification, performance monitoring, and security architecture, across the application development lifecycle. By automating application-level security features, low-code platforms ensure robust authorization and authentication systems that have built-in encryption and provide XSS and CSRF configurations to address security threats and vulnerabilities. To help developers configure security features when building applications, low-code platforms provide fine-grained controls, built-in encryption options, comprehensive authentication and authorization processes, OWASP compliance support, and data protection.
While application development and deployment processes are transforming so is application architecture, which is moving from monolithic legacy systems to microservices-based architecture. With microservices, there are many hands-on the deck. Enterprise applications are made into smaller components and many developers are working on different functionalities at various stages of the development cycle. At this time, when application architecture is transforming, security goals remain unchanged. In fact, the demands for enterprise application security are heightened and they need to be imbibed in the development process. Low-code platforms support microservices-based architecture and enable the “left-shift application security” of security parameters by allowing developers to configure security protocols, set privileges, and automate testing before the application goes into production. Moreover, as enterprises leverage next-generation app delivery tools such as container technology, low-code platforms help to embrace containerization at scale without disruption in existing processes and without requiring the reskilling of existing resources.
Low-code’s promise is that of “Zero Complexity” DevOps Automation. It ensures minimal disruption of existing development teams, enables on-premise and cloud deployments seamlessly, automates CI/CD processes, saves on security infrastructure costs, and enables DevOps teams to focus on core application needs.
If you think the “left-shift application security” principle of pulling security earlier into the DevOps process may slow down the speed of development, think again. It shouldn’t be a trade-off to choose between accelerating application development and managing application security threats and fixing failures. Achieving time-to-market delivery and security goals can be simultaneously achieved if you manage the DevOps process using emerging application development and deployment tools. The window of opportunity here is to streamline processes, using a sophisticated technology stack, and utilizing next-gen technology that low-code offers to nurture AppSec innovation across the development cycle.
Everything your Agile Development team needs to be fast and productive
The COVID-19 crisis took over our world and changed the rules overnight, without fair warning. We have seen lockdowns imposed across the world and closure of workplaces, and more than 81 percent of the global workforce of 3.3 billion people have felt its impact. With Generation Z entering the workforce this year, it is estimated that there will be a 30% increase in demand for remote work by 2030. A majority of working professionals worldwide are preparing for a future in which virtual and real workspaces merge seamlessly.
As we enter this new kind of reality, experiencing huge shifts in our workplaces and homes, from working in the “boardroom to the living room”. Work from home (WFH) which used to be a privilege or a benefit for few has now become a necessity. Workspaces that once relied on face-to-face meetings are going entirely virtual, driven extensively by technology.
Enhance your visual programming and visual modeling techniques with WaveMaker
Data, data, data! It’s everywhere and in large volumes in this data-driven world. What makes data valuable is how it is depicted and interpreted to translate it into information. To make this possible, data visualization using visual programming is used to drive decisions to solve real-world problems. Who would prefer scrolling through spreadsheets over a chart or a map? Probably not many.
With the use of IoT (Internet of things) and connected devices, there is a constant stream of information, leading to a large volume of data (Big Data). From demographic data, consumer behavior information, device usage stats, application downloads to marketing campaign effectiveness, data has become the driving force that powers decision-making in every sphere, across industries. To capitalize on this powerhouse of information is something that every enterprise is working towards.
How do you process such a vast volume of information? How do you interpret yottabytes of data? That’s one septillion bytes! What has made data more digestible is the use of visual programming and visual modeling techniques. By transforming numbers into visual elements such as charts, maps, graphs, and tables, data visualization has become crucial in supporting real-time decision making.
Let’s take real-world problems of the ongoing COVID-19 crisis, the importance of numbers has never been more crucial. Solving real-world problems require progressive solutions, one that low-code platforms have risen to offer. Low-code platforms have taken visual programming to the next level. With easy-to-use, drag and drop features, and customizable widgets, low-code platforms make visual modeling a breeze and help to create device-agnostic, critical applications with responsive dashboards.
To describe low-code’s claim to fame in a sentence, consider this – “It took a single developer 1 week to build an entire application!”
Let’s take the Corona Tracker application for example. There are several API sources available with COVID-19 data. Using WaveMaker, you can instantly build a dashboard, plot a map, or create a chart to visualize data from any source. Without any need for coding, visual programming and visual modeling just got easier and by using built-in widgets and dashboards, applications can be built in a few days. Take a look at this time-lapse screenshot of the WaveMaker application created within days…
For the user, the dashboard is the first point of visual contact with an application. The sum of the effort and time spent on visual programming is evident in how well a dashboard is designed. How responsive and accessible it is will define the success of the application.
With WaveMaker, not only can you create a powerful dashboard with speed, but you also make sure it is responsive and is accessible on mobile devices and large screens. The Corona Tracker application showcases an extensive dashboard with key metrics such as confirmed cases, recoveries, and deaths reported across several countries. For instance, using the dashboard, you can compare the death rates of the top 10 affected countries against their recovery percentages, and the number of affected people per million in a population, providing valuable information about how the situation is transpiring.
Corona Tracker Application Dashboard
What would it take to build the elements of a dashboard like this? Using WaveMaker, building a dashboard requires minimal visual programming and takes just 4 steps without writing any code. All that you need to do is…
Import from the data source (REST APIs)
Create variables to access the REST API
Drag-n-drop widgets on to the editor or canvas
Bind the widgets to variable.
To find out more about how you can create a responsive dashboard using WaveMaker, read this blog.
Graphical representation – that’s the whole premise of visual modeling. Depicting data in the form of charts, maps or graphs makes it easier to interpret. In the Corona Tracker application example, besides the dashboard it also features data charts and maps. By integrating data released by John Hopkins University, you can visualize the situation worldwide across a timeline through interactive charts and maps. What low-code has changed is that within a few clicks, you can apply visual modeling methods with minimal coding efforts.
Use Drag-n-Drop Visualization Techniques and Customize Datasets to Build Charts
Typically, in conventional visual modelling methods, creating a customized chart required writing many lines of code. With low-code, charts with custom metrics can be created with just a few clicks. To build plots for visualization in the application, WaveMaker has in-built, nvd3-based charts. You can drag-n-drop the chart widget on to the editor or canvas and bind the dataset property to the Variable to plot the data, as depicted below…
While this how a basic chart is plotted, when it comes to customizing a dataset, low-code plays an important part by using JavaScript visual programming. In this example, from the data of 180+ countries provided in the API, you can choose the top 10 countries and calculate the metrics for the “rest of the world” by writing JavaScript code. Once the API response is fetched, you can calculate custom metrics and create a dataset based on how you want to visualize data.
A map that graphically depicts data is not easy to create and not all platforms have in-built widgets. With WaveMaker, you can create a Prefab using JavaScript library datamaps. By taking the JSON input for countries and a colormap along with the code, you can plot the visualization you intend to create.
Prefabs or widgets are typically built by JavaScript developers, those who have visual modelling experience, and the knowledge of working with a JavaScript library. In a prefab project, the widget, created as a reusable component, can be published to the workspace by dropping it on to the canvas. By adding test data through the editor, the prefab can also be easily tested separately from the application.
In today’s data-driven world, data visualization is integral. Visual programming tools have been around for decades. Remember 25 years ago, how Visual Basic and Access was used to generate User Interfaces (UIs) from a database, automatically? While conventional visual programming tools made data visualization simpler, more often than not, it involved writing several lines of code, and in time it became considerably more complex and difficult to understand and write code. Taking the same concepts of older visual programming languages, data visualization has evolved with the introduction of low-code platforms.
What low-code brings to the table is the ease at which data visualization can be achieved, with minimal coding and maximum value. With the speed at which applications need to be developed today, developers are under immense pressure to achieve delivery timelines. Irrespective of the industry sector, whether the objective is to visualize data, deliver a personalized customer experience or modernize legacy systems, business-critical applications are being developed at greater speed. Low-code provides professional developers with the much-required agility that they need to develop customized applications at greater speed.
Think about it, the Corona Tracker application was built in a week. There are so many possibilities to build critical business apps that can help enterprises move on to the next level.
Enhance your visual programming and visual modeling techniques using low-code.
By Vikram Srivats, Vice President, WaveMaker
Ensuring a successful climb out to a digital paradigm without running the gauntlet of costly delays.
The Covid-19 crisis is shifting profit pools – according to McKinsey1, the gap in economic profit between the top corporate performers and everyone else has widened dramatically. And the numbers are staggering – the top quintile of companies grew its market-implied annual economic profit by $335 billion, while the bottom quintile companies lost $303 billion, over a period from December 2018 to May 2020. Clearly, this is becoming somewhat of a winner-take-all scenario.
With the acceleration of trends (e-commerce, remote work, digital) driven by the pandemic, specifically for companies with middling performance, this is a call to action to build the resilient, future-ready business and operating models. And many of them are doing exactly that. During a recent quarterly earnings call, Microsoft CEO Satya Nadella said, “We’ve seen two years’ worth of digital transformation in two months.”
By now, almost every corporation gets all this.
But how do they ensure a successful climb out to a digital paradigm without running the gauntlet of costly delays and embarrassing failures that plagued many earlier corporate digital plans in fairer weather?
Beyond an array of best practices (reducing silos, no-BS decision-making, talent redeployment, shifting operations, and multiplying productivity), low-code based software development has the broad capability to mitigate potential risks associated with wholesale digital transformations in these uncertain times.
First, a quick primer on low-code/no-code. Simply put, it is a visual development approach to automating software development that involves little to no hand-coding, significantly speeding up applications coming to life. With the growing demand for new applications, modernizing existing/legacy applications, and new platform development – and not as many software developers to go around, low-code development has gained steam over the last few years. Gartner predicts that low-code application development platforms will be responsible for more than 65 percent of all app dev activity by 2024, while Forrester expects the low-code market to represent $21B in spending by 2022. Major technology players including Salesforce, Microsoft, Google, Oracle, Amazon, Pega, and ServiceNow have joined the low-code/no-code bandwagon, with deployed platforms and tools as part of their larger product portfolios
But what specific risks does low-code development help navigate and mitigate?
Here are 6 clear examples:
Complexity risk – With a visual, low-code paradigm, enterprises and software providers can take quick, bite-sized chunks out of the business complexity due to Covid-19. Low-code simplifies and democratizes collaborative application development to support new workflows, increased tracking, additional procedures, shifting ways of doing business, and increased overall administration – to tackle the needs of remote workforces, supply chains, and customers.
Schedule risk – The stakes for hitting a scheduled target have never been so high. Burdening your IT with demands for critical applications, and gathering a full-stack team to hand-code applications that may take weeks to deploy no longer remains a sustainable approach. Companies can instead use low-code acceleration to minimize impact from the invariable bumps (scope creep as an example) in any project, besides pandemic induced inefficiencies (lumpy productivity of 100 percent remote teams).
Budget risk – The mantra of doing more with less – specifically, more applications with less budget – is what low-code development delivers at its core. According to Gartner2, worldwide IT spending will decline by 7.3 percent this year, compared with a rise of 1 percent it calculated for 2019. Against this backdrop, low-code is exactly what the doctor ordered for companies that are making do with fractional budgets and increased oversight on spending during these times when budget overruns may be considered heresy.
Technical risk – Enterprise architecture teams no longer have the luxury of doing a double-take with technology choices if their initial choices do not scale are not secure, or simply don’t offer a solid runway from the current to the proposed future. When it comes to building enterprise applications, creating extensible frameworks goes a long way in coping with changing business needs, adding new capabilities, and re-using frameworks for future initiatives. Best-in-class low-code platforms are built around modern web architectural choices and enterprise best practices, are based on open standards, generate real code that can be exported and extended, offer enterprise-class security options, and seamlessly blend in with testing and deployment practices. Corporations using such low-code platforms have the peace of mind that they will get it right – the first time.
Talent risk – While the pandemic has disrupted the livelihoods of millions of working professionals and increased talent pools, hiring the right tech and software development talent at the right time, at an affordable price, and ensuring they are productive – remains a monumental challenge. Bridging skill gaps of existing talent to scale to modern web and mobile development is not trivial either. Low-code platforms do the heavy-lifting of software development, mitigating the need for learning coding skills in a language and eliminating the need for multiple specialist roles (UI, database, backend, deployment). Low-code-powered teams are inherently lean, modern-skilled, agile, full-stack development teams.
Market risk – The ultimate test of organizations wanting to climb steeply during Covid-19 is how they weather unanticipated market risks at different altitudes. With the order of magnitude productivity gains, low-code powered business and software development teams quickly and nimbly dodge external risks, prototyping and producing critical-to-business applications at a pace that is near-impossible with traditional development. What it brings to the table is a quick, flexible, scalable, and cost-effective approach, to accelerate the development of business-critical applications and to modernize existing applications and legacy systems.
In a way, enterprise-grade low-code platforms were built for this moment – helping professional developers effortlessly switch to a low-code way of churning out applications in high-rate-of-climb digital projects. And helping them succeed without compromising logical granularity, pixel-perfect UI or enterprise-scale, and security standards.
Covid-19 may well be a temporary phase in our collective history books a few decades down the line, but this may go down as the era in which low-code development became mainstream – and a basic checkbox for corporations in a high digital attitude climb out to navigate a plethora of risks and join the winner's circle.
Originally published in ITProPortal
Worldwide IT spending has been substantial in the last few decades. While these legacy systems are robust, the challenge is in maintaining them and making them relevant to evolving business environments. Especially in 2020, where the priority of investment in technology is more focused on cost optimization and operations. In such times, how do you modernize and extend the capabilities of existing legacy systems?
How do you transform IT infrastructure, cost effectively?
The technology modernization journey is one that demands agility, mobility, and scalability. Given these primary business drivers and with initiatives driven by growth and transformation, there is an increase in IT spending, especially on public cloud services. The revenues from worldwide public cloud services market according to IDC totalled $233.4 billion in 2019, and the IT spending on cloud infrastructure is forecasted by Gartner to grow by 19% in 2020. What makes investment in cloud services promising is that it offers cost optimization, operational resilience and business agility.
The public cloud services market includes Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). Cloud application development and deployment services is a sub segment of this market, referred to as Application Platform-as-a-Service (aPaaS).
A promising proposition in the technology modernization journey
Let's take a look at the core advantages of cloud application development platforms and how they offer cost optimization, collaboration, flexibility to utilize resources optimally, mobility, and accessibility to the latest technology and software.
The potential of cloud-based, low-code platforms
In the high-speed journey of modernization, enterprise application development projects have become time-sensitive and cost-conscious. Cloud-based, low-code platforms address both these demands. Not only do they help you to develop applications with speed, they also enable you to utilize resources optimally, reduce development cycles, improve time-to-market rates and lower costs.
A cloud-based, low-code platform, could typically be considered as a Containerized Cloud, one which comprises many instances. An instance here can be compared to host computers which do more than just storing and managing data. In a work space instance, users can develop apps independently and they each get a container which isolates their workspace from the other users. In an app deployment instance, when apps are deployed in the cloud, a separate container is allocated for each app, thereby ensuring apps are deployed independent of each other. In a platform, multiple internal services are managed and run using separate Docker Containers and they can talk to each other with REST services. Platform containers orchestrate and direct the Docker engine to perform operations such as starting or stopping a user container.
Rather than relying on expensive, one-time, customized solutions, low-code platforms offer the flexibility to customize, collaborate, integrate, and deploy according to your changing requirements. The important features of low-code platforms include drag-and-drop visual development, ease of integration, multi-device support, extensive customization, granular security, app containerization using Docker technology, and instant one-click deployment to private and public clouds. It's these features of low-code platforms that make them a necessary investment to address the demands of modernization in this cloud-enabled environment.
If you are reading this, you are probably in the phase of considering a low-code platform or you are already using a low-code platform to address your application development needs.
The pace of change in technology adoption is leading to an increasing demand for cloud-ready, enterprise-grade applications. There is a sense of urgency to develop and deliver applications with speed. Application development cycles have reduced from weeks or months to days. While the promise of low-code platforms is to accelerate application development with ease, not all platforms would be suited to your business requirements, scalability and application development strategies.
Despite the pressure, it’s time to pause and take stock of your existing systems and resources to identify how you can adopt technology meaningfully. Understand your business needs, your existing systems and processes, and the skillsets of available resources. To leverage the power low-code has to offer, you should take the time to evaluate and choose a platform that suits your enterprise needs.
Over the years, as low-code providers, we have come across some insightful questions from customers before they decided to partner with us. To understand the evaluation parameters when assessing a low-code vendor, this Webinar by Deepak Anupalli, Co-Founder and Head of Product Engineering at WaveMaker will help.
1. Is the platform purpose-built for developers? Is it easy to use and learn to build web UI or mobile applications?
Ideally, the low-code platform should give your developers the bandwidth to focus on innovation, and the complex and critical functions that would make the application rich.
2. Does the platform support a ‘real code-behind’ strategy? Is the code generated readable and modifiable? Does it allow for interoperability of code changes across IDEs? Customization is a key aspect when developing enterprise apps with real world applications.
Like Deepak said, “You don't have to reinvent the wheel. A low-code platform that supports an open standards-based technology stack gives you the right level of maturity of software that has taken years to perfect. It also gives developers access to open standards libraries and open source frameworks like Angular, Spring or Hibernate. In this way you don't have to reinvent the wheel in using a completely different type of software when you can get access to the same kind of capabilities by leveraging an open-standards based technology stack.”
Listen in to Our Real-World Success Stories
3. Does the platform help to build scalable applications to cater to larger user base or growing use cases? No application can be scalable right away. Application scalability is deep rooted into the architecture and technology used by the platform. In terms of scaling applications, modern applications use microservices-based architecture instead of monolithic architecture.
4. Does the platform have architectural best practices in place that include enterprise-grade security? Enterprise grade security has become a critical requirement. And one of the primary reasons for delay in application delivery is getting clearance for security compliance and governance rules.
5. Does using the platform minimize risk and maximize digital transformation efforts? One of the key aspects when using a low-code platform is leveraging existing assets. To succeed in your modernization efforts, you cannot just replace existing technology, you need to integrate them with existing systems and create modern workflows and processes.
6. Is the pricing or licensing model scalable and affordable? There is a lot of confusion and complexity in understanding of licensing models of different platforms, especially when you want to build more applications.
Nothing holds truer today than the statement by Marc Andreessen that “software is eating the world”. In the last decade, software development has rapidly evolved and there is an increase in cloud and mobile adoption. The increasing change in pace at which software is getting delivered is faster than what enterprises and users can keep up with. Given this fact, it can only mean that it's time to pause, assess and improve the technology you have to deliver more with less.
When assessing a low-code vendor, to understand the evaluation parameters and find examples of how low-code can deliver value, you can get a first-hand perspective in this Webinar by Deepak Anupalli, Co-Founder and Head of Product Engineering at WaveMaker.
In 2020 there are 2.7 billion smartphone users and counting. 90% of their time on these devices are spent on apps. This is just mobile applications, there are also web applications used on the desktop for personal and professional purposes.
With the increasing number of app users, developing applications at scale has taken precedence in the market today and low-code platforms are leading the evolution in application development. And these are not just ordinary applications that users demand, companies also need enterprise-grade applications that provide high performance to meet their business needs.
At a time when application development is in demand, high performance and massive scaling are primary business drivers. From an IT Leader's point of view, it's about speed, performance and business continuity. How fast can applications be developed cost-effectively? How to scale applications to meet the demands of business users? How can modern applications be developed to transform and complement existing legacy systems, without disruption?
At the rate at which apps are consumed, the questions arise. What is the breaking point of the applications that your enterprise can build? How scalable is the platform on which your applications are developed? Is the low-code platform you use truly scalable?
While low-code platforms have taken a front seat in terms of scalability, only those platforms thrive that can manage variable workload, support multiple developers, provide resilience in service availability and sustain user experience in production. Only if all this can be achieved by the low-code platform you choose, can it prove itself to be truly scalable. To find out if your low-code platform provides scalability, whether it is dev-time or run-time scalability, use this simple checklist.
The best way to extract the real value of your low-code platform, in terms of scalability, is to make your internal processes and architecture design aligned to your scalability needs.
Meet demands with capacity planning. Scalability is all about adjusting capacity to meet your demands. It is important to first identify the number of developer logins and app deployments permitted on the platform, based on your license terms. For instance, you may have the infrastructure capacity to develop and deploy applications but it may be restricted by your license terms, and vice versa. When setting up, find out the platform capacity and know if it suits your scalability needs.
Use an architectural design suited for enterprise scalability. AD&D teams spend a lot of time to manage, validate and fix large application systems that use different architectural designs. To save time, make teams more agile and create reusable applications at scale, choose low-code platforms that are built to have a microservices architecture model, as it provides the required scalability.
When evaluating a low-code platform ensure that applications built on the platform follow modern application architectural models. A truly scalable low-code has well-defined REST APIs that separates the UI and the backend layers, allowing for developing applications at scale and ensuring that the best practices in terms of performance and design are followed as per industry standards. Ideally, the low-code platform must have fast API creation and binding tools, with automated API documentation, to help you re architect your monolithic, legacy applications to modern, microservices-based microapps.
Streamline operations for faster deployment. The premise of scalability also revolves around the ability to deploy applications with speed. By using a low-code platform that has containerized application delivery, development teams can ensure faster deployment, streamline operations, increase scalability, and portability. With cloud-centric applications pivoting on the scalability factor, low-code platforms that use the Docker containerization model provide a resource-optimized environment that ensures deployment to cloud providers and Kubernetes. Moreover, those platforms that provide auto-containerization also power microservices-based deployments at scale.
The increasing demand for applications today has led to large-scale deployments, which need to have low response times for high concurrent requests. What makes a low-code platform truly scalable is when it is built to use architecture that is stateless, one that allows to develop applications at scale for deployment on container-based systems. When addressing the demand for massive scaling of applications, the best way is to align your internal processes and architecture design to the low-code platform you choose.
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
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.
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]
Has this happened to you? You want to build an application within weeks. You find a low-code platform that allows you to build an application with speed, using only a small team of professional developers. After building a custom application you decide to move to another platform. That’s when you realize you are “locked-in”!
The low-code platform you used generated proprietary code and it required a subscription to run applications independently. You have problems with data access and control, as the platform uses proprietary technologies, and code maintenance and access to libraries is a challenge.
Being “locked-in” is a challenge many developers, architects, and application teams face while using or moving applications in different platforms. To address this challenge and understand the extent to which you could be locked-in you need to first ask some of these questions:
In Gregor Hohpe’s book, The Software Architect Elevator, he talks about how modern ‘elevator architects’ are instrumental in aligning organizations and technology, reducing friction, and charting a transformation journey. When they ‘ride the elevator’ from the penthouse (where business strategy takes place) to the engine room (where technologies are implemented) they understand that the common attribute in system design like lock-in is not binary, it’s not black and white.
The attributes of a “lock-in” come in different dimensions, in the form of a platform, code, or vendor lock-in. The approach to understanding lock-in cannot be in an all-or-nothing manner. It needs to be considered across the application development and deployment lifecycle, at a broader level in terms of business / vendor, platform, and code lock-in. And while the seductive proposition of low-code is to build applications faster with leaner teams, you need to consider the different dimensions of a lock-in to unlock the real value of low-code.
Platform Lock-In. Can you run applications on infrastructure of your choice?
Once you build an application, the question is does the platform allow you to run applications on infrastructure of your choice, on-premise, private or cloud? How certain are you about the cost of running your applications in say a year or five years from now? To avoid being locked-in to a low-code platform, you must consider how your applications will be run in the future, on what type of infrastructure, and other aspects of accessibility, scalability, and portability.
By supporting hybrid and multi cloud app deployments, low-code platforms allow running of applications on infrastructure of your choice. With the increasing importance of delivering and deploying applications on cloud infrastructure, you can lower infra TCO by leveraging container technology. Docker containerization helps you to manage your IT app infrastructure, faster than VMs, enabling portability of workloads between cloud vendors. Low-code platforms that support cloud-native architecture, and have auto-containerization and application delivery integrated, can help you seamlessly deploy and scale applications on infrastructure of your choice.
Code Lock-In. Can the auto-generated code be extended and customized?
You could get locked-in to a platform in various ways, from proprietary application-level services to control over associated access rights. Moreover, when shifting platforms, exporting and re-importing projects is a tedious affair. With the need to copy-paste code, it makes the development process time-intensive and error-prone.
Given that the majority of the code is auto-generated by a low-code platform, the quality of code, the flexibility to extend and customize is something development teams need to be particular about. Taking a developer-centric stance, low-code platforms adopt a standards-based ‘real code-behind’ approach. This provides extending code in the future and interoperability of code changes across inbuilt editors and external IDEs (Eclipse, IntelliJ).
Distribute applications freely without concerns of being lock-in to vendor-specific frameworks. The low-code platform you choose must be built on an open-standards based technology stack, one that allows you to distribute applications without licensing concerns, and without a lock-in to vendor specific frameworks.
Write and extend custom code in an IDE of your choice. Another aspect of a code lock-in arises when you need to build applications on one platform and use it on a custom Integrated Development Environment (IDE) of your choice.
To optimize application lifecycle management, low-code offers a unique development experience. The IDE sync feature in low-code platforms enables you to mix-and-match custom code written in an IDE of your choice, such as Eclipse or IntelliJ, with the platform components.
To know how you can seamlessly sync project changes between our low-code platform and the IDE of your choice, check out The Studio WorkSpace Sync Plugin. Using this plugin, you can pull the latest project changes made on the platform and ensure they are applied to the IDE code, you can push IDE changes to the platform, and synchronize projects.
Keep in mind that when switching vendors, you are also moving to a new product. You could be locked-in to a product because it becomes difficult to release new features, manage updates, make heavy customizations, configure integrations and setup proprietary extensions.
A low-code platform allows deeper customizations using custom methods and extensions accessible from frameworks, without being locked-in to a product or the platform. With access to an open-source runtime environment and libraries, a low-code platform uses popular frameworks used by millions of developers, making it easier to make customizations and avoid a product lock-in.
Synchronice and track code changes with version control systems. Most development teams also face the challenge of tracking and updating code when version upgrades happen. Every time a version is released, most of the times applications need to be rewritten to maintain the existing extensions and customizations built.
To synchronize changes and track code changes, low-code platforms offer version control services. By using an inbuilt version control system (VCS), you can manage changes to your projects files, including source codes, documentation and web pages. Low-code platforms provide an integrated version control system where you can configure external VCSs such as Gitlab, Bitbucket, and Github.
Business or Vendor Lock-In. Is the licensing and pricing option future-proof?
A business or vendor lock-in is typically what IT teams mean when they say ‘lock-in’. This type of lock-in could happen when you are switching from one vendor to another. Commercials such as support agreements and licensing that you sign up for could get you locked-in to one vendor.
To avoid a business or vendor lock-in, begin with asking whether the pricing suits the requirements and size of your enterprise and if it is future-proof when you want to scale in the future.
Software development platforms have always had some type of proprietary nature embedded. With open source technology like low-code, this has changed. Low-code platforms take an extensible approach to application development and delivery, one that supports open source technologies. That being said, when evaluating a low-code platform, you need to be aware of not getting locked in to the ‘abstraction’. The abstraction of code extensibility, data accessibility, flexibility to customize, and freedom to track and manage components in the application development and deployment process.
How you use your technology will determine its success. Be aware of the types of lock-in.
How many applications are used in your enterprise? Be it a messaging application, project management tool, virtual meeting software, or HR application, critical enterprise applications have become the lifeline of business operations.
As enterprises become more hyper-connected, the virtual workplace and marketplace has transformed into a complex ecosystem. It has become an environment that demands seamless interaction, collaboration, and communication between people, applications, and devices.
While traditional organizations are accustomed to working in silos, the age of agility is driving them to bridge these gaps. The foundation of an agile organization is about enterprise-wide collaboration, bridging silos, the autonomy of cross-functional teams, alignment with business and application strategy, and self-driven teams that focus on innovation. The agile model in theory is a great concept. Implementing the concept, however, is a challenge many enterprises find difficult to address.
To achieve enterprise agility, it helps to have a low-code platform as a part of your technology toolbox. What low-code offers is an environment that empowers teams with specialized skillsets to innovate, encourages collaboration to ensure quick turnaround time of ideas to apps, automates processes to ensure optimum resource utilization and allows for deployment at scale.
Accelerate the idea-to-app turnaround time. Accelerated application development and delivery is a primary factor in agile development. Low-code platforms provide a visual development environment, auto-generates code, enables code-customization and extensibility using prefabs, provides the flexibility for 2-way workplace sync with IDEs, and allows for complete integration with CI/CD pipelines.
Empower development teams to innovate. There is a lot of time spent by development teams in manual coding under traditional application development. With low-code application development, code is auto-generated, it is extensible and can be customized to build applications at scale. By using visual drag-and-drop features, low-code helps to build core applications, giving development teams the time to work on complex components of applications.
Create leaner and agile teams. Typically, traditional development teams are made of different types of profiles, from professional front-end developers, back-end developers, UI designers, UX experts, database developers, DevOps, to quality analysts.
By providing access to full-stack technology, low-code helps to create leaner and agile teams. You can reduce the dependency on specialists, encourage upskilling, focus on business logic and drive innovation because the low-code platform can take care of end-to-end application development and deployment.
By providing auto-code generation, integration with existing applications using smart API integration tools, auto-generation of DB schema, and auto-containerization for seamless deployment, low-code streamlines development teams, making them leaner and agile to address the hyper demands of application development.
21st century IT leaders recognize the importance of agility. At a time when the market and workplaces have moved to virtual realms, there is a greater emphasis on seamless communication, collaboration, and coordination. The premise of enterprise-grade low-code platforms is the ability to provide an environment for innovation by automating manual processes and to create leaner and agile teams by empowering them with a modern technology stack. This is why low-code has become mainstream and why it is considered to be a technology that is future-proof.
Originally published in Inspirationfeed
Enterprise needs today have become more demanding. The new sense of urgency, to evolve, to modernize and drive mobility, scalability, and flexibility has led to enterprises embracing a ‘digital first’ approach and adopting new technology extensively. While this translates to reinvention in the way of working and the use of technologies, it does not mean that every aspect of the business needs to be reinvented.
Old systems and skills, that have stood the test of time, need not be discarded altogether. Instead, upgrading systems and updating skills can help to meet new enterprise demands with old tools and can result in easier implementation and better ROI on IT investment.
A relevant example of how emerging technology is combined with conventional tools is the use of low-code platforms with traditional Java programming in application development. Twenty years on and many enterprise servers are still using the Java programming language and successfully running Java-based, mission-critical applications. The fact that Java is still being used speaks of its evolution and effectiveness in addressing enterprise demands even in the age of cloud computing and container technology.
When creating application development strategies, there is often a debate about whether low-code should be preferred over traditional Java programming. However, this is not an “either / or” decision. While low-code platforms are designed to provide core functionalities, with the help of experienced developers customization and specialized functions can be added to applications. After all, a low-code platform is ultimately built on a programming language like Java.
With low-code platforms gaining momentum, the role that traditional Java programming plays cannot be ignored. By combining old with new technologies, here’s how the micro and macro levels of application development can be covered to meet new enterprise demands.
In certain application development projects, combining low-code with manual coding helps developers spend more time on complex functions. As the low-code platform can be used to create core applications rapidly, developers can focus on critical specifications to make the application rich.
Enterprises today need to build applications that can run on different operating systems and devices. Such an ecosystem requires application development using neutral languages and coding for specific parts of the application that have distinct functionality.
Java development teams have to make an enormous effort in manual coding to create modern applications that work in dynamic environments. Here’s where low-code platforms help by enabling developers to duplicate core functions of applications that can work across devices and environments.
Specifications of IT hardware and software are changing more frequently than before. As the technical requirements constantly change, relevant modifications to the code is necessary to ensure the app functions. When enterprises rely entirely on traditional Java development teams, manual changes in code makes app maintenance a tedious affair.
App maintenance can be made easier by using low-code platforms. Using visual development interfaces and modular components, low-code platforms manage and maintain applications in the backend giving enterprises the time to focus on the design and critical functions of the application.
Deployment of applications is a complex process because every line of code needs to be tested in a lab environment, and trials to ensure multiple app instances function in specific configurations needs to be conducted. Testing before deployment requires intensive manual programming and its complexity makes it a time-consuming process.
With pre-built modules, low-code platforms help to test app functionality before their release. With the actual development and production environment accessible in a cloud ecosystem, testing and deployment using low-code is simpler and faster.
To optimally utilise the skills and experience of development resources, enterprises need to combine the technical strength of traditional systems with the speed, agility and scalability that modern technologies offer. By combining the old with new technologies, not only can applications be developed, maintained and deployed faster, rich applications can also be created by allowing traditional development teams to give the required attention to detail.
In a market environment where change is constant and the future is uncertain, future-proofing seems to be the safest way forward. Stay relevant to stay ahead by upgrading your legacy systems with a modern low-code platform. Find out how our low-code platform can help you adopt new technology meaningfully.
Originally published in TECHGYD.COM
Remote working is not as ‘Instagram worthy’ as it may seem. While it may be a dream to work from anywhere and anytime, there are many challenges for those working remotely. A bigger challenge is faced by IT teams who have to provide support for such a sudden transition. At the outset of this pandemic, the overnight shift of employees working remotely has put immense pressure on IT teams to enable business continuity.
From accessibility of internal applications, sign-in assistance to password generation, IT teams are burdened with requests from remote working employees. Added to this there are other considerations IT teams need to address, from cyber threats, unsecure VPNs, authentication issues to reliability of on-premise servers.
Where to begin? To ease the pressure, IT teams are using emerging tech like low-code platforms to support remote dev teams, from providing cloud-powered IT infrastructure, application-level security, collaboration tools to real-time IT support.
Let’s take a look at how low-code platforms help IT teams support high-performance remote teams and ensure business continuity.
The essence of remote working is digital dexterity and the pressure is on IT teams to materialize this. To meet the demand for flexible IT infrastructure, application-level security, real-time collaboration and support, IT teams need to embrace technology with commitment. Where technology is changing faster than it can be supported, IT teams have to mobilize to keep up with the ‘Speed of Change’. As enterprises embark on the road to digital transformation and modernization, IT needs to shift gears to prevent being a roadblock. With the focus on business continuity, IT teams have become ‘backstage warriors’ and they need to use all available tools to realize their credo of “the show must go on!”
To know how IT teams can support remote dev teams using a low-code platform, take a walkthrough.
A no-code tool for developers to build application style templates once and use them everywhere; ensures brand consistency and eliminates repetitive work.Try Theme Builder
The low-code vision is that every developer can easily build scalable digital apps with great looking UI out of the box. Quickly call in a database, auto-generate APIs, create services, compose a page, drag-n-drop elements into it, and push it to the cloud - voila! WaveMaker goes one step further. It puts the power of low-code in the hands of professional developers. All parts are customizable, giving them maximum control over functionality and user experience.
But customization is a double-edged sword. While there is an explosion of digital apps in the enterprise, keeping all the apps looking consistent and conforming to the corporate brand identity is a challenge.
The WaveMaker Theme Builder solves that challenge. It is a no-code tool for app developers to create common CSS styles - colors, fonts, button styles, icons, spacing, etc. -- that can be applied across all apps developed in the enterprise.
Get started with the WaveMaker Theme Builder
The tool makes it easy to maintain a complete and updated app design, and make sure all apps look refreshed always. It also provides users with industry-standard styles like Material Design that can be applied. Without writing a line of code.
Enforcing a consistent look & feel for applications is not new to WaveMaker, but it was restricted to a widget or UI component, not the entire project. However, that just doesn’t cut it when all apps in the enterprise are expected to have a “Natural” and “Beautiful” look and feel that is in line with the brand identity. It takes considerable coding effort to create a customized brand theme. The Theme Builder eliminates that coding effort by providing a no-code way of creating themes.
Here are some advantages of using our Theme Builder:
Reduce manual coding effort and save precious time – Make changes with built-in code editor, and preview custom styles applied to web components instantly. Switch between different theme styles, preview changes, and integrate design elements across the application. Build a custom theme just once with a few clicks without having to write a line of code and apply it across every instance.
Maintain complete control on design elements – The essence of a brand is in its unique design elements such as the colors, font, style, and icons. The burden of meeting those standards falls on developers. WaveMaker’s Theme Builder gives you complete control over design elements to build uniform looking apps as per your brand guidelines.
Select from the latest fonts family – Get access to global font styles that are trending while building modern applications. Theme Builder gives you access to the latest market-trending fonts family and you don’t have to download .ttf or .woff files. Just click, create, and apply.
Pick the perfect style - Choose from flat, material, or gradient styles to best reflect the mood of your app. Theme Builder will be refreshed to provide popular industry standards, including Material Design. Pick a Flat style for simple two-dimensional designs or choose gradients to add color and depth to your themes. Use the Preview pane to see components changing real-time when different styles are applied, bringing your customized themes to life much faster.
Here’s to finding the perfect balance between rapid development and impeccable brand consistency.https://youtu.be/KUsR0x4Voj8
By Vijay Pullur,
CEO, WaveMaker.
A 2009 cover of Time magazine featured the headline "The Future of Work." "Throw away your briefcase; you're not going to the office," it began and proceeded to make several pronouncements that might have been alarming 10 years ago.
Since then, the conversation around the future of work has been everywhere, and everyone has joined the bandwagon.
For over a decade, we have been imagining what this future might look like. Today, the future has arrived, seemingly overnight, and has turned all our realities upside down. This global pandemic has not only taken the whole world by surprise, but it also paused the global economy without the slightest warning. COVID-19 has marked the tipping point in the way we are conducting business. Companies are being compelled to consider permanent work-from-home policies, and enterprises that have been dragging their heels on digital transformation are suddenly at risk of being left behind.
As the world reels from being under lockdown, IT will be the backbone to ensure business continuity
In times of crisis such as this, organizations are bound to struggle with resource constraints, with their highest priority being business continuity and keeping their existing customers happy. In our current world of uncertainty — where our place of work, mode of work and even nature of work keeps changing — technology has proved to be an enabler that can help us adapt quickly and execute mission-critical priorities.
In one major overnight sweep, communication and digital apps seem to have taken over the world. Teams across the globe are using social networks, collaboration tools, online learning platforms and e-commerce apps to remodel their work and life. Remote working and virtual meetings have become the new normal, and technologies that were perhaps familiar to only fringe tech communities are now taking center stage.
Converging technologies such as high-speed internet, 4G/5G, analytics, mobile, cloud, artificial intelligence, machine learning and robotics are being tested and used to introduce innovative approaches. Seamless communication, collaboration and innovation have gone from buzzwords to urgent necessities, once again highlighting the critical role IT plays in alleviating business pain points.
In the immediate post-COVID era, IT will help companies optimize efficiencies
Once the dust settles, and as we work toward rebuilding our world in the aftermath of COVID-19, I believe the economic impact of this crisis will be witnessed for several quarters to come. Enterprises will have less cash flow and fewer resources to manage and execute strategic business plans for the year. Companies will solely focus on optimizing productivity thanks to tighter budgets and shrinking customer spends. Every business will restructure itself to enable a remote productive workforce and avoid wastage at all costs to navigate the tricky waters of the post-COVID era.
Automation will become an answer to many challenges companies face as they seek to optimize resources and avoid manual toil. As businesses face the realities of working in an economic downturn, they will gravitate toward automation platforms and systems that enable them to scale quickly and with much less effort. Today there are tons of enterprise-grade platforms to choose from, be it project management software or collaboration programs or communication tools.
For your own enterprise, the needs may be different. It could be a timesheet app for the remote team you did not have until now, a mobile app for customer support because your call center is understaffed or even advanced dashboards for insights you never thought you were going to need.
Some companies will find the need to accelerate their in-house development and deployment of critical business applications. They will seek a quick, flexible, scalable and cost-effective approach, either by creating new applications or upgrading existing applications and legacy systems. Building a large team of specialists to create elaborate applications that take weeks to deploy will no longer be an effective or sustainable approach. Enterprise-grade platforms around low-code, CI-CD, and IT security and compliance that empower teams to address evolving business needs will start gaining ground.
"Doing more with less" will be the new mantra, and businesses will turn to leaner agile teams that leverage automation and enterprise platforms to accelerate results.
In the long term, IT will be your ultimate competitive advantage
Further down the line, as we settle into the new normal and start to arrive at some version of stability, technology will become your business differentiator in the long-term game. Tightening costs and optimizing efficiencies can get one out of survival mode, but the way a business uses and implements technology will become their ultimate competitive advantage. Companies will succeed not just based on their offerings, but the way they design and develop their mode of delivery, business model and customer experience.
If there is one thing that the COVID-19 crisis has taught us, it is that disruptions like these doubtless bring challenges, but they also present new opportunities. At the end of the day, your team's agility and smart leveraging of technology will decide how well your company is poised to grab those opportunities. In a future where the new normal will be constant change, IT has the potential to be your competitive advantage to drive disruption, implement change and future-proof your business.
Originally published in Forbes
Within a matter of weeks, the way we work, live and do business has drastically changed. In the rush to contain the situation, we’ve turned to technology as our saving grace. In doing so, we’ve effectively hit a “fast-forward” button on many tech trends that were already in place. From remote work and virtual events to virus-monitoring big data, technologies that were perhaps only familiar to a fringe tech community are now entering center stage, these changes are likely here to stay.
While communication, collaboration, project management and innovation have become buzzwords, the challenges of remote working continue to impact businesses. Let’ take a look at the implications of the current rapid change in work environments and how technology can help alleviate challenges:
1. Communication
Communication is the number one issue in most work environments — not just among remote teams. However, varying time zones and flexible schedules can wreak havoc on workflow and team collaboration. Thus, employers need to step in and provide enough structure and leadership to set the tone for communication among their staff.
Tips for Improving Communication Among Remote Teams
Tools and processes are only as good as the people who use them. Ask for team member input and honor their preferences to the best of your ability. Find or build communication applications that connect team members. Using a low-code platform can help to create modern applications that will ensure better communication between team members at a speed that your business demands.
2. Project Management
Project management is hard enough, and it can seem a challenge when team members are dispersed worldwide. However, depending on your industry and types of projects, several online tools exist to align team members, assign tasks, track progress, and make changes. If you already use software applications to manage projects for in-office teams, you would have no problem managing remote employees with the same tools.
Tips for Managing Projects with Remote Teams
Cloud-based project management tools work best for virtual teams. There are dozens of options to choose from, so try the demo versions of platforms until you find one that makes sense for your project and team. Also, consider using the agile project management method and hold daily scrum calls to keep everyone on task and to maintain leaner and meaner teams. Agile is especially helpful for projects with fast-approaching deadlines and numerous milestones.
3. Innovation
There’s something to be said for whiteboard sessions and sharing creative energy with colleagues. Since the remote workspace changes the nature of collaboration, it can also create barriers for creativity and innovation. Team members may not catch the same vibes over the phone as they would live in a meeting room.
Tips for Harnessing Innovation within Remote Teams
Give your teams the space and processes they need to communicate freely, share ideas, and hold brainstorming sessions. Leverage video conferencing and online apps like Zoom, Slack, Lucidchart, Webex, and Teams to document the development process. To provide bandwidth for innovation, empower your teams with emerging tech such as low-code. This not only helps them to deliver more with less, it gives them access to a modern software stack and an environment to collaborate, upskill, and focus on tasks that deliver business value.
4. Security
How do you keep information safe among dispersed team members and devices? You want to ensure that your company’s sensitive and confidential information is secure no matter where your employees work or what devices or applications they use.
Tips to Ensure Security within Remote Teams
Education and training are essential when it comes to information security. Help your employees understand the risks and how to mitigate them in their daily tasks. Create security policies that set requirements for anti-virus software, uploading and downloading information and applications, creating passwords, and clicking on email links. When creating your own applications using low-code platforms, security is typically inbuilt and is an integral part in the entire application development lifecycle. With granular authorization, comprehensive authentication, and OWASP compliance support, applications can be developed using fine-grained controls with out-of-the-box security. In this way your remote teams can build and use secure and scalable enterprise-grade applications.
In a future riddled with uncertainties, a forced metamorphosis or transformation is necessary. How business is conducted, the way teams work, and the work culture is changing and you need to be prepared and agile to tide over. In such times, technology has proven to be a robust backbone on which business continuity is ensured. Making the most of this situation, now is the time for you to adopt technology to transform the way your remote teams work and future-proof your business.
Originally published in Techstory
Processes need to be modified and customized, and teams need to be flexible, lean and agile, to keep up with the changing situation. Enterprise agility has become a necessity and to be agile has become a way of being and working.
What it takes to drive the change that the current situation demands is an agile leader empowered with the right tools. There are several enterprise tools an agile leader can use, from team collaboration programs, communications tools, project management software and other tools required to enable transition to remote working successfully. The widespread adoption of enterprise tools has led to an increasing demand to build enterprise applications.
In times when quick changes are required, you may think how you can transform your enterprise to become agile. One of the ways most companies are empowering teams and driving continuous change is by using low-code platforms to create enterprise applications fast. Let’s take a look at how a low-code/no-code platform can be used as an agile leader’s tool to achieve enterprise agility:
Agile means to be able to move fast. Speed is essential to business success. The company that moves faster to solve a problem, and creates a product to respond to a need will be the business that wins. Agility is often more achieved when actions are led by aspiration.
Businesses are looking for platforms that reduce cycle times and improve organizational agility by delivering applications at the pace of business. As an enterprise solution delivery, low-code provides rapid application development using WYSIWYG drag and drop feature and offers the ability to edit generated code.
APIs today form the essence of business applications and application architecture. With an API-driven app development approach to integrate Private Cloud and DIY maintenance, most low-code platforms support APIs at best.
To respond quickly to business needs, using low-code platforms with API-driven approach can help you to create auto-responsive apps for websites, tablets, and smartphones at the desired speed.
In the face of rapid change and uncertainty, agile leaders thrive. They do this by creating an environment where stakeholders push change forward by driving adoption through frequent, incremental changes that constantly produce value.
According to Gartner, application leaders will need to identify ways to leverage technology and by 2024 the focus of successful application teams will be on how to use technology to meet their customers’ needs and wants.
Teams will need to move from the current focus on the technology of applications to pursue design thinking to foster a culture that sees things from the customer’s perspective. One of the ways to imbibe design thinking in platform strategies is by using rapid application development. Low-code supports all key principles of ‘Design Thinking’ to solve the problem right.
The premise of solving the right problem, solving it right, and realizing the value at the earliest is best supported using emerging tech such as low-code platforms.
Agile is not only a way of working it is also a way of being. Fostering an agile culture in an organization, it’s important to make sure employees have time for creative thinking. It’s not enough to establish methods of automation and develop a cadence of smaller releases, so work is constantly improved upon.
Leaders must inspire creativity and innovation within employees so that they can contribute directly. Low-code allows developers to think and iterate at a granular level, making a big difference in customer satisfaction or cost optimization. What low-code platforms provide is an environment of collaboration where continuous learning culture is nurtured.
Organizational agility is driven by technology teams led by agile leaders. Low-code platforms lets technology teams build enterprise applications substantially faster to meet rapid changing business objectives thus aligning the agility between IT and Business.
Not only can you build leaner and smaller teams who deliver fast, using low-code you can offer a workbench to nurture full-stack developers and create an environment of continuous learning, collaboration, and innovation.
At a time when we need to navigate around the ‘new normal of constant change, the future-proof software stack that a low-code platform offers is the perfect intuitive toolset that agile leaders need to drive the disruption.
Originally published in Business Matters
By Mayur Shah,
Senior Director,
Platform Marketing & Management
Earlier this year, the Democratic party in Iowa announced its plans to use a smartphone app to calculate and transmit their caucus results. Using technology to improve the speed of governance, one would think, “What could possibly go wrong? A lot, apparently. The app’s failure on results day was attributed to reporting and coding issues.
While security was the matter of concern from the day of its announcement, the inevitable happened. Data and security breaches happen almost every minute. University of Maryland researchers find cyberattacks every 39 seconds. The last decade has seen many data breaches, putting personal information of billions of users in the hands of dubious entities. Every enterprise, from Yahoo to Facebook and Target to Home Depot, has been under attack—and this is likely to continue. Research has found that cybersecurity breaches will result in over 146 billion records stolen by 2023.
Poor security is putting enterprises, governments and citizens at risk every day. Yet, in a hurry to leverage technology, companies bring unsecured applications to market all the time. In essence, they sacrifice security for speed. Adding to this, today’s modern web and mobile applications are built with latest and greatest technology stacks and frameworks, heavily reliant on client side functionality, and integration to multiclouds and third party systems using a myriad of APIs. Also teams are more diverse and work collaboratively using remote workforces.
These trends increase the security challenges the application development teams need to be aware of, and leverage platforms that provide built-in controls and protection against these to avoid security breaches and attacks.
While prioritizing speed over security in application development take into consideration the following mistakes that you need to avoid and address.
Data tends to be the most important and valuable aspect of modern web applications. Poor application design and architecture leads to data and security breaches. Application development teams generally assume that by providing the right authentication and authorization measures to the application, data will be protected. This is a misconception. Right measures to provide data security involve focussing on data integrity, fine grained data access and encrypting data while in rest as well as in motion. In addition, data security needs to be looked at holistically from the time the request is made to the time response is sent back across all layers of the application runtime.
Today’s modern web applications are highly sophisticated and built with a big focus on simplistic user experience combined with high scalability. This combination can be challenging for application development teams from a security perspective. Most development teams focus only on silos when securing the application (only client, server or integration layer). Teams should focus on end-to-end full stack security when developing applications. Also application teams should enforce security best practices incorporated by default as part of the collaborative development process.
Most of the modern web applications use APIs from systems and services which include internal enterprise systems, cloud SaaS APIs, partner APIs and third party product APIs. Today, almost all web applications tend to expose their own functionality to the external environment as a core set of APIs. What’s more, nearly 100% of web applications today tend to expose its own functionality as a core set of APIs to the external world. Teams need to make sure they are using external APIs with proper security guidelines and protocols as well as exposing their own APIs with multiple choices of protecting them. API access needs to be protected with both coarse grained as well as fine grained measures.
Authenticating your application and authorizing what users can access is an important part of application security. Without this, you are leaving your attack surface wide open. Your application needs to incorporate stringent and strong measures for authentication to prevent unauthorized access. This includes multi-factor authentication, passwordless authentication, single sign on and if using passwords very strong password policies. It must also offer fine grained role-based access control preventing access of sensitive and confidential data to non-privileged users. Moving to a market with ambiguous weak authentication, lack of fine grained control, improper session control and insufficient logging might not seem like a probable risk until you’re attacked.
Security threats are evolving faster than anyone can keep track of. The Open Web Application Security Project (OWASP), a community of application developers and security professionals, identifies the top 10 security risks each application team must mitigate. This includes risks across injection, data exposure, misconfiguration, security deserialization and so on. Development teams should incorporate vulnerability assessment as a continuous process and not leave it at the end of the deployment cycle.
Integrating security into your application development process does not have to slow you down. By utilizing key technologies such as a low-code platform, you can accelerate development and enable security procedures at the same time.
While promising accelerated development, what an ideal low-code application development platform offers is a visual development environment and code-customization with two-way workplace sync with IDEs. It also enables autogeneration of code, ensures extensibility and reuse with prefabs, and allows for full integration with CI/CD pipelines.
One of the important features of a low-code platform is built-in security, one that ensures automation of the development of application-level security features. A perfect platform provides a configuration for prevention of security vulnerabilities such as XSS and CSRF and ensures in-built encryption, robust authentication and authorization systems, along with enterprise-grade auditability and traceability.
While speed may be the name of the game, rolling out your applications without considering security would have little positive impact if they fail to function and are not secure. One of the best ways to integrate security across your application development lifecycle is to leverage the benefits of low-code platforms that are designed for professional development, those that have built-in, application-level security features. While your application development plans may be time-critical, security cannot be an afterthought, because sacrificing security for speed may make it longer for you to mitigate the risks than achieve your application development goals.
Originally published in Devops.com
By Vijay Pullur,
CEO, WaveMaker.
Recently, I was in conversation with a business associate who is an IT leader of an insurance company. Our conversation revolved around how digital transformation is revolutionizing the insurance industry faster than other sectors. He spoke about how the expectations include technology in every sense, from self-service dashboards, faster claims processing, simpler and smarter purchasing experiences, and insurance as a service. As our discussion veered from digital transformation to the new wave of modernization, he made an interesting statement. All he wished in the coming year was to automate systems without disruption, reduce labor-intensive processes, minimize IT dependency and reduce application maintenance and support costs.
It seemed to be a reasonable wish, considering that in this IT-powered world, digital transformation and modernization seem to have taken center stage. Ours is a world where speed is critical and enterprises are under pressure to deliver faster and build rapidly and with greater efficiency.
As the hypercompetitive landscape becomes more hectic, enterprises are aiming to operate faster and smarter, placing "digital-first" strategies in the limelight. A recent example of companies investing in modernization and digital transformation is the Google’s acquisition of Appsheet, a no-code mobile app development platform. With the aim to revamp the approach to application development, Google acquired this platform to empower development teams to develop, deploy and deliver applications seamlessly.
The fact that 40% of technology spending (that’s more than $2 trillion) was on digital transformation in 2019 illustrates the importance of having a "digital-first" strategy.
In 2020, CIOs and IT leaders are focusing on modernization to achieve operational excellence, agility, mobility and scalability. The central plot in most digital transformation stories is the modernization of legacy systems, and as it becomes a mainstream priority, the protagonist in this story is emerging technology. In this plot, the role of software application development must be considered seriously, more than just serving as props. The first step that will usher in successful transformation is understanding how technology has evolved and how it can be adopted.
Over the decades, software application development has witnessed an interesting journey. Growing in complexity over time, it has evolved from using spreadsheets and simple scripts to custom software development by IT teams and rapid application development (RAD) or low-code development by business users. The pace of developing software applications has accelerated. The tech infrastructure has also moved on from on-premises to cloud environments, and from software as a service (SaaS) to application platform as a service (aPaaS) to infrastructure as a service (IaaS) solutions.
Along with the evolution of technology, the roles of stakeholders such as application leaders, IT teams and business users are also changing. While there is an increasing overlap between roles, the gap between business and IT teams does not seem to have reduced. Here is where technology plays an important role in bridging the gap between silos and upskilling existing teams to reduce the skills gap.
In modernization initiatives, technology is being widely adopted to accelerate application development. APaas solutions and centralized application development platforms help to harness the potential emerging technologies. With low-code development, you can develop, deploy and integrate applications with other services seamlessly. Rapid application development platforms bring more control to IT teams, to deliver and innovate more with less. Giving more power to IT and professional developers instead of citizen developers also addresses the issue of shadow IT.
While modernization and digital transformation initiatives are implemented at a breathtaking pace, not all stories have spelled success. Owing to many challenges, the success of projects has been tepid, and hesitation has been high. Modernization of legacy systems have witnessed several friction points such as concerns about security, stress on IT teams, alignment of business and IT, and the absence of a strong modernization strategy.
Another challenge the industry is currently facing is the shortage of technical talent. As the dependency on specialist roles continues to increase, enterprises are looking toward technology as a solution. For instance, rapid application development platforms are considered a viable solution because they reduce the dependency on technical resources, empower existing teams to upskill and enable development teams to achieve more with a self-service approach to application development.
These challenges aside, one of the questions most IT leaders are asking is “How do we ensure business continuity and transition with least disruption in business operations?” Disruption seems to be one of the major challenges and is addressed by rapid application development platforms that offer the power to develop applications quickly and ensure seamless integration with existing systems.
As IT leaders vacillate about decisions to modernize systems, mulling over necessary change is only going to make it more difficult to transform. Taking a strategic approach to modernization is of the essence, and the main factor that can make or break your efforts is how well you manage the entire application and software development life cycle.
The competitive landscape requires you to raise the stakes. It requires you to do things better and with greater speed. It requires you to try different approaches to address challenges.
The year 2020 and beyond will witness rapid change, technologically and culturally. What enterprises need to understand is that digital transformation should be considered an ongoing state of change rather than as a one-time project, and the approach has to evolve constantly. Rapid application development is gaining speed because it provides a platform-driven approach to app modernization and it focuses on bridging gaps and breaking silos. It helps to align business and IT teams, bridge the IT skills gap and break the application, infrastructure, and organizational silos. If we are to usher in the coming decade, we need to transform to keep up with the digitally dexterous, hypercompetitive and IT-powered world.
Originally published in Forbes
By Deepak Anupalli,
VP of Engineering, WaveMaker
COVID-19 has disrupted life in many ways, bringing new challenges as well as opportunities for everyone to learn and innovate new ways of coping up with this crisis. Working from home is never easy, amidst daily chores, fetching essentials, keeping the kids occupied etc. staying on top of a product release is an unprecedented task.
A major product update was planned to go out to customers on April 1st week and we were hit by COVID lockdown, from March 18th our teams started working from home. It is a very humbling and commendable effort by the team to come forward to make the release happen. WaveMaker 10.4 is released on April 20th, a big Kudos to WaveMaker Team !
Amidst the crisis and lockdown, being a software product organization the best way we can help the world is to create better software. In these times, having a clear purpose for our team to achieve something better, learn new things, be closer to one another and keep our morale high is very important. There is nothing better than to work as a team to accomplish more and better.
1. Better collaboration using the right tools.
Collaborating with a large distributed team is very tough, unless we have the right tools to track the tasks, their progress and information needed for the team members at the right time. Understanding where the team is stuck and changing course, making right decisions is the most important job for the product leads. Collaboration doesn’t necessarily mean getting onto a video call for everything and going on for hours, effective communication is the most important aspect of collaboration.
2. Over communicate and share everything with the team.
Team learned to document every detail, summary of the discussions, notes from brainstorming sessions, videos, presentations etc. Having an internal collaboration platform, like Groupe.io helped team members to do this effectively and also engage every member in conversations. Conversations are very crucial as they capture the decisions made in developing the features, which improved collaboration across development, testing & devops teams.
3. Bring the team together, by setting a clear routine
Daily morning stand ups to discuss the priorities for the day and deliverables from each individual. It is very important to be empathetic to each one and understand one another’s personal situation amidst the crisis, alongside working together to achieve the objective.
4. Enabled for remote working
Leaving aside the productivity and collaboration tools like G-suite, JIRA, Groupe.io, WaveMaker started the journey with cloud infrastructure, embracing AWS and container-based delivery model, since the inception. Having all the platform infrastructure and deployment environments on the cloud, enabled us to connect and deliver easily.
5. Most importantly, fun!
Of course, there are Yoga sessions, virtual birthday celebrations, games, and fun!
Check out all the new features in the 10.4 release here
Low-code products provide rapid acceleration of app development using Model Driven Development. The idea of using a model as a starting point to describe your business semantics and then from the model generate application artifacts can be very powerful as it eliminates a lot of code development while building your application.
Low-code products take this approach to accelerate and help deliver applications faster with higher productivity. With that said, there are two interesting angles that low-code products take:
1. Full dependency on Model Driven App Development
2. Partial dependency on Model Driven App Development
Full Dependency on Model Driven App Development
In this scenario, the Model is used to abstract the business semantics and logic, and it is then interpreted at runtime into a working application. There is no real code that is generated and the application is always dependent on the model for its functioning.
This is good for business users to define the model and then have the application derived out of it. The downside is there are very little opportunities to do very specific customizations as there is no code generated or accessible. Magic happens underneath the covers if you will and at any point there is no way to independently take the application out and maintain or enhance outside of the Low-code products. Many Low-Code Products that are business process driven fall into this bucket and suffer from lack of real code generation, customization and more importantly independent existence of the application.
Partial dependency on Model Driven App Development
In this scenario, the Model is used as a starting point to describe business semantics and relationships, and is automatically converted into real code. There is no runtime interpretation of the model. The Application relies on software generated code to be fully functional.
The approach allows users to abstract the business semantics as one is still starting with a Model driven development but allows greater flexibility and customization by allowing developers to access, modify and fully extend real code that is auto generated using the model.
Magic still happens but is fully visible to the developers. At any point in time, since code is always generated it is always accessible. The application can be extended using real code. The application can be exported and has an independent existence outside the low-code product as well. In some ways, you get the best of both worlds, (acceleration and freedom). WaveMaker Low-Code Platform falls into this category and more importantly supports this approach with fully standards based modern technology stack and architecture suited for cloud native application development and delivery.
Originally published in IT BRIEFCASE
The enterprise application market is expected to grow to 250 billion USD by 2024. This is hardly surprising given enterprises are developing more applications than ever before. As enterprises plan to deliver more enterprise applications, pressures of speed-to-market and the lack of talent available necessitates organizations to look for better and smarter alternatives. The application development platform is one such solution. Simply put, a low-code platform is a set of tools that enable application teams to plan, design, develop, test, and deploy applications — consistently and cost-efficiently.
Low-code is the next stage in the evolution of app development platforms. It enables rapid application development with GUIs for programming, pre-fabs and templates for replicability, and CI/CD integration for automated deployments. An important transformation that low-code brings to the application development landscape is the empowering of citizen developers and business users to build enterprise-quality applications, even without specialized programming skills. Gartner finds that "By 2024, low-code application development will be responsible for more than 65 percent of application development activity."
As enterprise applications are large, complex, and come under immense compliance scrutiny, IT leaders worry about the scalability of such platforms, and the applications they build.
Here's how low-code platforms are poised to deliver enterprise scalability
Low-code platforms are poised to deliver both dev-time and run-time scalability. Dev-time scalability is the ability of a low-code platform to scale in line with the development needs of your organizations. It should enable multiple developers, across teams/geographies, programming several use cases, for loosely connected applications, across web, mobile and other platforms.
If you're an application development leader, use the following checklist to assess if your low-code platform offers you dev-time scalability.
Run-time scalability is the ability of the applications developed using low-code platforms to deliver a seamless user experience in production at scale. This means that the application needs to be able to handle large volumes of users, perform complex operations, at high standards of performance and reliability. There is no reason a low-code platform can not do this. John Rymer, Forrester’s principal analyst serving application development & delivery professionals, identifies real-world experiences of developers who have used low-code platforms for applications like full-scale ERP or route 1.5 million orders per day.
If you're the operations lead of an enterprise application, evaluate your new low-code platform for rum-time scalability using the following metrics.
If the answer to the above questions is yes, you might rest assured that it offers runtime scalability. But remember that the role of the low-code platform in application scalability is limited.
To make your application truly scalable, you need to design your architecture for scale: Make sure that there is no single point of failure, build for a 10x use case, enable monitoring and maintainability, and gain visibility of scalability costs as well. If scalability is an important concern for your enterprise application — as it should be — then your best bet is to create internal processes and architecture design that enable such scale and combine them with a low-code platform that would support it.
Originally published in CIOReviewIndia
Banks are at our doorsteps. Quite literally. The innovations in the fintech industry have ensured that “Bankers’ hours” are transformed into a “round-the-clock” experience. With new players such as neo banks, challenger banks, mobile wallets, and even e-commerce entering the market, customers are lining up at the virtual counter and traditional banks are striving to keep pace. Volatility in the banking sector is not new. However, emerging markets, new fintech products, changing customer needs, dynamic regulations, and most recently the pandemic has brought unprecedented changes in the banking industry.
Customer expectations border towards instant gratification. Getting a loan for many has become as easy as ordering a pizza. While this might be true for the progressive banks, some in the brick-and-mortar mode are struggling to survive. Mid-sized banks are reinventing themselves with new products, while the big guns are rolling out customer experiences to the swipe-friendly generation X and Y and Z.
With banks rolling out products and services at an accelerated pace, can ISVs afford to stick to the traditional methods of software development in such a dynamic environment?
In such a do-or-die situation, technical collaborators act as strategic enablers for banks to revive and rejuvenate their banking applications. The modernization of existing banking technologies is not without its challenges. Banks are increasingly looking towards cloud-based SaaS products to create or supplement their banking solutions or are trying to build applications on top of existing legacy systems. Banks meanwhile are mainly concerned with four priorities with respect to modernization:
Along with tending to the above, some priorities that banks and in turn, ISV’s need to take care of while building banking solutions.
Banks are now faced with the scenario where If a product is not rolled out in a few days’ time, the moment is gone and so is the customer. Financial institutions are now faced with the challenge of creating impactful customer experiences across channels in a matter of weeks. Low-code enables developers to create applications for both mobile, web, tablets and laptops, and even kiosks. Whether it is supporting hybrid apps or native ones, almost all low-code platforms enable the same. Low-code platforms help developers create applications for multiple channels with a single source code providing a continuous experience to the customer across channels. ISVs focusing on business logic can speed up the process by letting low-code bear the weight of easy drag-and-drop visual modeling. Moreover, the agility of the entire process allows business users to collaborate and give real-time feedback eventually churning out Minimum Viable Products in tandem with the market requirements.
Evolving customer needs and a diminishing legacy workforce have forced banks to think in terms of either rebuilding or re-architecting legacy systems into a cloud-based SaaS architecture. Encapsulating the existing systems using Open Banking APIs is another option. Technical collaborators can use low-code to iron out these challenges involved in the process.
Data models can be either reused or remodeled. Certain low-code platforms have capabilities of reverse engineering from existing data models into newer database models. While this gives programmers control over the application interfaces, it helps in redesigning the database model for new-age applications. Existing business logic can then be integrated with the backend using low-code.
In this case, low-code platforms can be used to build responsive UIs on top of legacy using a REST service. Without touching the core logic, low-code can be leveraged to create integrated and optimal applications with a lower turnaround time and better interfaces whilst still using the resilience of legacy core.
The current economic situation has imposed a disparate landscape of regulations across banks globally. Technical innovation and regulatory boards have a symbiotic relationship. A change in regulation demands a change in applications. This would require nimble applications to be created/updated without affecting the customer experience. Posed with this challenge, ISVs can dive into the code and customize existing business logic and keep compliance issues at bay. Also, timely releases of the MVPs with respect to changes in regulations keep both business users and customers satisfied.
This is where the role of professional developers is of prominence vis-a-vis the citizen developer. Good low-code platforms have inbuilt security features that get implemented without programmer intervention. However, professional developers, through scrutiny of the code have the ability to make sure that API endpoint permissions are secure and that security vulnerabilities have not been breached. In addition to this, ISVs can offer banks, legal agreements like security and compliance certifications and service level agreements to fortify their products.
In a study conducted by the Everest Group, it has come to light that over 50% of mid-sized banks are mulling switching over to a cloud-based architecture to power their banking services. Digital transformation in banking, quicker go-to-market, enhanced customer experience, resilience, compliance, and security remain catalysts fuelling this change. Low-code platforms cater to all these and more. A case in point is that of a prominent European bank that migrated from an on-premise banking solution to a cloud-based one using Azure DevOps. Using a low-code platform available in the Azure marketplace, the technological collaborators managed around 600 applications in a matter of weeks. The takeaway? Reduced costs by 50%, fast deployment of products, adherence to compliance and regulations, and effortless partnership with business users.
It would be only prudent of ISVs to utilize the ability of low-code platforms to cater to these factors thereby creating “bankable” solutions. To do or not to do should not remain a question!
In 2020, whether or not an IT organization needs agile teams is no longer the debate. The advantages of agile methods on team efficiency, project visibility, scale, and long-term software robustness are rather clear. Gartner observes that enterprise-class agile development and agile ops are sliding into the trough of the hype cycle, meaning, challenges in building and managing agile teams will make themselves more apparent in the near future.
Before we discuss these challenges, let’s understand what we define as an agile team. An agile team for us is a cross-functional group of people who use the required technology and collaborate seamlessly, to develop and deliver a working and tested increment of a product. Typically, agile teams are organized around products or features; and have a seamless intersection across the business, technical and organizational architectures. As a result, agile teams will eliminate dependencies and inefficiencies, empowering them to develop high-quality solutions, quickly and efficiently, to solve real-world problems.
But it’s not as easy as it sounds. Building agile teams — especially for full stack development — is a long-term journey, riddled with practical challenges.
Developers in the end-to-end application development process are often expected to deal with the underlying complexity of integrating, configuring, and developing various systems and frameworks. In the era of modular development and microservices, this can be very complex and time-consuming, often requiring your team members to upskill. In smaller teams, this might just be unaffordable.
Application development requires highly skilled resources across various phases of the development lifecycle such as UI design, application architecture, security, performance, etc. Firstly, hiring a specialist in each of these areas can be expensive. Even if you can afford this it can be unnecessary. Even counterproductive in some cases such as when there is not enough work to keep a specialist meaningfully engaged, it could affect their morale and that of the team.
A KPMG survey in 2019 found that 45% of their respondents mentioned siloes between business and IT as a key driver for adopting agile. Yet, ironically, when you seek to adopt, agile at scale, siloes can become inevitable. This can then disproportionately affect team collaboration, and even extend the distance from your business requirements.
When unable to overcome these practical challenges, agile teams fail to realize the potential they can achieve... They lose speed-to-market, efficiencies, and even human connections, leading them back — sometimes without their own knowledge — too old ways. This can be dangerous: As they will continue doing agile, conducting daily standup meetings, for example, without actually being agile.
But it doesn’t have to be this way!
To define low-code in simple terms, it is a visual development approach that enables developers to build web and mobile applications using a graphical interface, instead of writing code. As a result, developers and agile teams with varying levels of experience and various skill sets can come together on the common ground towards accelerated development. Here’s how.
Low-code eliminates the need to find and onboard developers with universal knowledge of the application stack by abstracting the complexity and providing accelerators across the development life cycle. Using low-code platforms, developers easily manage end-to-end application development from UI design, focused code development to deployment; as well as easily own micro-functionality (also known as microservices).
With a robust low-code platform, developers with conceptual knowledge of the application landscape will be able to handle end-to-end development more seamlessly. For instance, even without being a UI specialist, a developer would be able to build quality UI for their application. Low-code platforms can also handle integration, security, customization, standards compliance, etc.
This makes developers self-sufficient, and the development process nimble.
Visual prototyping has proven itself to be a gamechanger in translating business requirements into application features. As business users play with working screens and different tools, they are able to see how their brief translates into functionality, and therefore learn to articulate better. On the other hand, developers design the UI, process flow, business logic, etc. visually, enabling faster feedback cycles.
A low-code platform can also serve the purpose of a common integrated development environment (IDE) for your team members to work interchangeably on different aspects of the project. Without relying on myriad tools, languages, and frameworks, your developers can collaborate easily, allowing them to spend less time on cross-training, hand-offs, and documentation.
The most important promise of agile development has always been speed. IT leaders aspire to build agile teams to take their products to market faster and adapt to market demands quicker. Low-code can help you achieve both.
Eliminating bottlenecks and facilitating collaboration, low-code allows business users to engage more deeply and offering ‘visibility through visual prototypes. With a better understanding of requirements right at the beginning, teams and managers save a lot of time and energy that might otherwise be spent on rework, resulting from clarification of requirements. As a result, you can make the best possible version of your product as quickly as possible.
All of this saved time can be invested in developing new features and testing new functionalities with your customers. If that isn’t worth trying, what is!
“Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.” - The Agile Manifesto
This is one of the key principles of Agile software development. This ‘environment and support’ — what has come to be known as the agile organizational structure — comes in various shapes and forms. A specific and well-documented model is that of Spotify, which groups its teams as squads, tribes, chapters, and guilds.
You can dive into the details of the Spotify engineering culture here, but for the purpose of this article, here’s a gist...
In theory, this is a great model. Squads, being autonomous, can develop and deploy applications faster. Chapters can help strengthen specialized skill sets. Guilds and tribes can encourage collaboration and knowledge-sharing.
In practice, though, implementing this model can be a challenge. For instance, without coordination and leadership support, guilds might not amount to much. Shortage of specialized skills might mean that a developer or a QA is expected to juggle multiple squads. Each tribe might turn into a silo, affecting organization-wide standardization of programming practices or optimization of tools.
To overcome these challenges and accelerate organizational agility, enterprises need an intervention: a low-code platform.
A low-code platform is a visual development approach that enables application teams to accelerate development with graphical user interface-based coding and pre-existing repeatable configurations. In short, with simple drag-and-drop actions, teams can quickly and securely create enterprise-grade applications. Organizations typically adopt low-code to expedite their development and save cost. Yet, they often find that low-code platforms have a positive effect on organizational agility and culture. Here’s how low-code makes it happen:
The developer role is among the hardest to fill. As the need for enterprise applications grows, the supply of developers to build them will be an important bottleneck. It is here that a low-code platform does two things well. It makes your business user a citizen-developer, who can build usable applications without much coding knowledge. Also, it transforms programmers into full-stack developers, empowering them to make their squads truly autonomous.
As a result, developers play a more meaningful role within their squad. They can even jump easily between squads without any drop in productivity. Chapter leads can use low-code platforms to reduce the burden on their training resources — in that, they don’t need to train their developer to hand-code every feature. This ensures that the speed of development is not entirely dependent on the developer’s skill set.
Another complaint about application development teams is that they are often sitting on a huge backlog of user stories. Manually coding each of them takes time and energy. With low-code platforms, app teams can prototype rapidly and collaborate with business teams instantly, to test far more features than they used to. This clears the backlog and paves way for experimentation with all kinds of ideas.
Welcoming change, even late in the Software Development Life Cycle (SDLC) is a fundamental principle in the agile manifesto. By freeing up time spent in hand-coding the application, data integration, and manual deployment, low-code allows for focus on the customer. With low-code, making changes to apps is easy, managing those changes is easier.
By its very nature, enterprise application development demands scale. With hundreds of microservices and containers across multi-cloud environments, application deployment itself requires large operations teams. Yet, having multiple operators within each squad is not the most optimum use of organizational resources. A low-code platform with auto-containerization, cloud-native architecture, and integrated CI/CD pipeline can automate much of the deployment process.
The foundations of an agile organization are Autonomy of squads, alignment with product strategy, organization-wide collaboration, self-driven communities, and innovation through experimentation. This requires significant financial investment in hiring and training; as well as cultural investment in encouraging collaboration and fostering innovation etc. While this is necessary, it might also be time-consuming.
A low-code application development platform, as part of your technology toolbox, can give your squads and tribes the ‘environment and support’ they need to excel at their job. And by extension, they accelerate the organizational agility required to stay competitive in this environment.
Whether it is code transparency, data ownership, Integrated Development Environment (IDE) interoperability, API connectivity, hidden costs, or vendor lock-ins, there are many restrictions when using a No-code platform. In modern application development plans, vendor selection is a complex decision-making process.
While many low-code platforms claim to have features such as “No vendor lock-in”, export to external IDEs, custom integrations, and no extra cost for additional features, in reality, there are many restrictions you may have to workaround. When selecting a low-code platform, it is important to know the scope and restrictions involved. The following will help you understand whether a low-code platform is truly open:
A “lock-in” includes different aspects, from the creation of standalone applications, data access, and control, to open-source or proprietary code generated. When examining the platform, you need to approach the answer to this question through several angles.
Real-world, enterprise applications have complex business logic. While many low-code platforms serve the needs of citizen developers helping them build applications with simple use-cases, you need to make sure the platform you choose allows for customization based on your business logic. The best choice would be to use a platform that allows business users to create applications first and then enables the technical team to customize. In this way, you can integrate custom business logic and customize applications, thereby reducing iterations and accelerating delivery
The main criterion when selecting a low-code platform is its flexibility and openness. In application development, interoperability between development environments is critical, where interfaces can completely understand and work with other systems without restrictions on access or implementation. The platform you select must have the ability to export project code to external IDEs and re-import it to the platform. Along with this two-way IDE interoperability, the ideal platform will offer an open-source runtime library, allowing for deeper customizations free from lock-in restrictions.
One of the challenges of application development and modernization is database integration. Many platforms, due to a non-standard data model, use multiple tools for integration. This results in writing custom Java code for database integration making it an onerous affair. An ideal platform must be designed taking into consideration business data that is stored and accessed across proprietary systems. It needs to provide a range of integration options that add functionality to your applications and also enable you to create and reuse custom integrations.
APIs are important as they act as an interface between systems, allowing applications to talk to each other. Low-code platforms have easy-to-use, drag-and-drop technology to generate APIs. While most platforms are limited to providing support to connect APIs, what you need is a platform that adopts an API-first approach. The platform of choice would be one that automatically generates APIs and integrates business logic. It needs to allow developers to effortlessly create, share, consume, and bind APIs to UI components.
One of the main aspects when selecting a low-code platform is pricing. There is no standard, one-size-fits-all licensing structure, and hidden costs could increase your budgeted cost. To be certain you know what you pay for, you need to know the type of charged by vendors such as fee for end-user seats, developer seats, run-time, distribution, and maintenance fee. Some platforms also provide standard email support included in the cost.
There are many questions the answers to which will help you make a better decision when selecting a low-code platform. The most important criterion, however, must be how it fits in with your business goals and how it can empower your teams to deliver more with less.
In the 13th Annual State of Agile Report, 97% of respondents report that “their organizations practice agile development methods.” 22% of the respondents said that all of their teams are agile. We don’t need evidence to show that the adoption of agile methodologies for software development is on the rise. Look around you and you’ll find that everyone is going agile in one way or another.
An important reason teams adopt agile practices is it helps accelerate software delivery—it changes organizational processes and steers teams towards technology excellence. In fact, that’s how the agile movement began. The principles of the agile manifesto set development teams up for success in the fast-paced modern world. It encourages teams and leaders to welcome changing requirements; build projects around motivated individuals; communicate face-to-face; and plan for sustainable development.
Alongside these mindset shifts, the practice of agile also needs a fundamental transformation in the way teams are organized. Bringing business people and developers to work together throughout the project was the first direct challenge to the plan-build-run model. This has been the foundation of IT organizations of the previous generation.
Plan-build-run, the predominant model of the waterfall development era, broke IT into three units. The planning unit included the business people, responsible for strategy, demand planning, financial management, etc. The build unit performed software development. And the run unit took care of operations and maintenance.
As the agile movement gained ground, the plan and build teams came closer, bringing major changes in how teams formed and worked. Agile development teams were cross-functional and often self-contained, in that they can develop and deliver a product all by themselves. In agile teams of today, business and IT teams are often co-located, making it easier to communicate face-to-face. Unlike the waterfall era which enabled extreme specialization, agile teams are made up of ‘generalizing specialists’, that is software professionals who have specialist skills in more than one area and a generalist knowledge in software development and the business domain. It would look a bit like this.
In most agile teams, operations are still an independent silo, leaving much room for improvement in the software delivery process. As a solution to this problem, we see DevOps taking shape since the last decade, especially among agile teams. The agile manifesto says “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.” To do that, bringing together business and development teams alone is hardly enough. Enabling frequent delivery, which has since come to be known as Continuous Integration/Continuous Delivery (CI/CD) needs a closer collaboration between developers and operations as well. A modern agile DevOps team would look like this.
If you’ve ever tried to build an agile DevOps team, you’ll know this isn’t an easy cocktail to brew. Bringing together a cross-functional team of motivated professionals to deliver great quality software, consistently in short delivery cycles, needs more than just intent.
What you need is a low-code application development platform designed to accelerate development processes for agile DevOps teams without adding to the cost of efforts needed in doing so. Low-code application development is the process of using development environments with Graphical User Interface (GUI) and pre-built configurations, instead of hand-coding software. Low-code is distinguished by:
In essence, low-code platforms abstract and automate a significant part of the application development lifecycle.
How Low-Code Can Transform Agile DevOps Teams
The fundamental change a low-code platform can bring to application development is that it makes it easy and convenient for developers across skillsets, including citizen developers and non-technical developers to write code. It eliminates the need for ‘specialists’ and enables ‘generalizing specialists’ to perform all their tasks..
Even for complex tasks requiring specialized skill sets, a low-code platform can enable you to be a self-contained team, democratizing application development. It also helps build reusable components, making them easily available for enterprise teams through the platform, and making it significantly easier and quicker to scale.
Whether you are modernizing legacy applications or building state-of-the-art apps, low-code will expedite your coding process, by allowing your developers to use a simple drag-and-drop interface that will auto-generate code. Out-of-the-box widgets, templates, and native UX for mobile apps in line with best practices and design guidelines ensure consistency across applications and teams.
The common platform also brings business and development teams on the same page for feedback, iteration, and improvement. This will accelerate staging and testing cycles, by offering a visual prototype of the application in progress, improving collaboration and cooperation.
A low-code platform can enable instant multi-cloud deployment across public and private clouds, and on-premise. With a singular shared code-base, it can also enable cross-platform mobile app deployments, while maintaining code quality. It can offer innovative release management possibilities, version control, high availability, application portability, and a lot more. Through deployment automation, a low-code platform can streamline your deployments and give you better control over your application.
In a world where applications are constantly under attack, enterprises can no longer afford to consider security as an afterthought. A low-code platform integrates security protocols throughout the application development lifecycle such as authentication, authorization, certification, security architecture, auditability, performance monitoring, etc.
Enterprises focused on application development are moving towards agile DevOps to address the challenges of bringing complex ideas into reality. As the agile manifesto recommends, “To empower individuals, give them the environment and support they need, and trust them to get the job done, without compromising on consistency and quality of code across hundreds of teams deliver software rapidly without investing in large development and operations teams. Harness the change required to gain a competitive advantage while also ensuring utmost security and governance
A preferred solution to address these challenges is low-code platforms. By abstracting and automating complex development and deployment tasks, a low-code app development platform can accelerate your application development without compromising on quality, security, governance, and scalability.
18 weeks or more. That’s about the time it takes to build a mid-sized mobile application using traditional application development. Given the industry expectation to deliver fast, do you have that kind of time to build applications? Do you have the skilled resources required to address the demand for applications? Do you feel that you need to improve your time to market for application development?
Traditional Application development has always been a tedious and laborious journey for developing and delivering applications. While it gives you great flexibility in terms of development choices, it includes drawbacks like slow time to market, needs for highly skilled teams, and lack of automation.
In today’s digital transformation era, businesses want more applications in less time with fewer resources and complexity. Consider for a moment that you want to build a supplier registration application. Think about it, what would take 18 weeks to build the application using traditional development would take just 8 weeks using a low-code platform. The story of digital enterprises primarily revolves around using high-productivity tools and high-performance technologies. This has been the major driving force behind the emergence of no-code and low-code platforms.
Despite the disruption, there is widespread adoption of low-code and no-code platforms. Is the buzz around these technologies worth the investment? Do they walk the talk? Let us understand these alternatives and find out what is better suited for your enterprise.
To find out what suits your enterprise best, here’s a snapshot that gives you a comparison of low-code and no-code:
Criteria | No-Code | Low-Code Technically Bent Business Users | Low-Code for Application Developers |
---|---|---|---|
UI / UX | Multi-Channel Visually appealing | Multi-Channel Visually appealing | Multi-Channel Visually appealing |
Coding Requirement | None | Less | Designed for Code Customizations |
Integration | Limited | Comprehensive | Comprehensive |
Target Users | Business Users | Citizen Developers | App Development |
Time To Market | Fastest | Faster | Faster |
Enterprise Development Alignment | No | Limited | No Disruption to existing enterprise processes |
App Scalability & Performance | Limited | Limited | High |
Modern App Stack | No Visibility | Limited | Developer friendly Modern Stack |
There is an inevitable need for digital transformation and increasing demand for building enterprise applications. The expectation to deliver faster with fewer resources is rising. To materialize your digital transformation story, 18 weeks to build an application could be too long. By using low-code and no-code platforms, you could leverage the power of technology and reduce the time to developing a native app MVP. While disruptive innovation is the road to transformation, choosing your approach and technology wisely could determine the success of your digital transformation story.
Choosing the right business cases for your application modernization will raise the likelihood of earning executive support and achieving implementation success.
The organizational benefits of application modernization can hardly be overstated. McKinsey finds that with IT modernization, enterprises increase employee productivity by up to 30% and motivation by up to 40%; they also reduce defects and time-to-market by up to 60%. Forrester finds that IBM clients saw an average savings of more than $500,000 over the first three years of cloud adoption.
Irrespective of whether you’re entirely renewing your legacy application or integrating critical parts of it with a modern app, you can reap significant business benefits from modernization. Yet, often, enterprises fall short of unlocking their complete potential. This is mostly due to one or more of the following reasons:
If you find any of these reasons relatable, you’re in luck. Because, if you have had a failed application modernization project for any of the above reasons, it can easily be fixed with a simple but crucial step: Building a business case.
Whether you’re beginning a pilot project, or you’re modernizing your nth application, a clear, strong, relevant, outcome-driven business case should be the first step in devising your application modernization strategy. A robust business case for application modernization shields you against the risks of failure in several ways.
The first step in a good business case would be to identify the right app to modernize, based on criticality, complexity, risks, and available resources, which will make your success both meaningful and impactful.
Not all modernization is the same. Choosing a one-size-fits-all approach is a sure-shot way to failure. Having a strong business case will clearly define the scope of your modernization project, within the needs and possibilities of your organization.
With a clear roadmap, milestones, and metrics, a business case will serve as a report card for progress. And as your compass in your application modernization journey.
Executive sponsorship for a transformational project like app modernization needs to be a lot more than just allocating budgets and resources. It needs their whole-hearted investment in ushering a cultural change across the IT organization. To earn that, your business case needs to go beyond the facts and calculated predictions. It needs to demonstrate the tangible and intangible value of doing down this path — be it monetary, operational, cultural, or even in terms of comfort and productivity.
In that sense, a ‘business case’ proposal will make or break your application modernization initiative. From our experience working with global enterprises on app modernization projects, here are our recommendations for building a robust business case.
#1: Identify the application you want to modernize
The most common approach app development leaders take is to first modernize the ‘low-hanging fruit’. No doubt, this reduces risk; it allows you the opportunity to fail fast and fail-safe. But, choosing an application only because it’s hanging low also minimizes the impact its modernization can have on your organizational IT. If the application you choose is rarely used, or costs little money, or does not have any impact on the day-to-day operations of your business, even a grand success might be ignored.
What you need is a simple application that will yield maximum benefits in a short period of time. Perform a thorough business-driven analysis of your IT assets and choose an application that:
#2: Define your metrics
Be clear about what your modernization can and will achieve. Do not oversell the outcomes, which might result in your success appearing underwhelming. But make sure you’re not underestimating either because that can make your initiative appear not worthwhile. Demonstrate the consequences of not modernizing and the pay-offs of doing so. Here are some of the metrics you must consider:
#3: Acknowledge the costs
Every technology initiative comes at a certain cost. This might be in terms of existing employee time and IT budgets if you’re implementing in-house. It might be significant project costs if you’re planning to outsource. But there are also indirect costs such as upgrading the maintenance skills you need, educating your users about the modernized application, compliance requirements, etc.
Ensure that you include all these costs in your business case proposal — it demonstrates your farsightedness and vision for the future.
#4: Devise your implementation roadmap
It’s crucial not to run before you can crawl. So, don’t push for all your applications to be modernized at once — if in doubt, go back and read #1. To mitigate risks and learn from your mistakes, implement in phases: Have 2-3 year sequences of updates. Have a clear and achievable timeline for each phase, keeping in mind the technical dependencies any of these might have. But three years is a long time in the technology world. Make your business case proposal dynamic to leverage the evolution in technology or your organizational growth.
In modernization projects, integration is one of the biggest challenges of application modernization. 29% of those surveyed in 2019 The State of Ecosystem and Application Integration Report tired that they fall short of the skilled resources required for managing integrations with current systems and ecosystems. Proactively address this aspect and other challenges in your business case.
To help you devise a successful roadmap that includes business strategy, IT architecture, technical resources, and processes, we propose our AMT Roadmap for application modernization. The AMT (assessment, maximization, transformation) Roadmap is a three-stage framework that strategically assesses your business applications, maximizes your existing investments, and transforms current systems using highly functional applications to bridge the technical and functional gaps. Using the AMT Roadmap, CIOs and IT leaders can standardize their business operations, improve business processes and nurture innovation using cutting-edge technology across the enterprise.
Mobile app delivery is an essential part of digital transformation for enterprises. Organizations need to build an app, not just one but multiple mobile applications for transformative experiences. Over and above there are other features that are needed like:
Given that, not only skills for mobile apps are scarce, but also typically organizations lack a mature model for delivering multiple apps in a frictionless fashion.
Some of the mobile applications need deep native experiences and must be built as native mobile applications. If you are interested in native mobile app delivery, this is NOT the article for you. If simplifying end-to-end app delivery is something that interests you, then read on.
The traditional mobile app delivery model is time-consuming as it uses manual hand-coding. It also becomes complex to publish apps and the user experience is disconnected from development to delivery.
Many apps can easily utilize Hybrid Apps that use HTML5/CSS/Javascript/Cordova technologies and render that on a mobile WebView. This provides an easy way to build the application once and run it on multiple devices. This results in saving not just the application development effort, but also QA and management of these apps on multiple devices.
However, publishing apps on app stores is still a bottleneck as it may take several days to release a simple application.
WaveMaker's mission is to simplify end-to-end app delivery. WaveMaker Low-Code development platform provides automation for building applications including:
WaveMaker now presents a super simple solution for mobile app delivery with partner product Spotcues. Mobile apps built-in WaveMaker can be published with a single click to Spotcues Micro App container (the only mobile app you ever install). So, build your apps with no/very minimum code using WaveMaker low-code platform and publish to existing app container providing WebView (no publishing of each app separately). This can be done iteratively for release any number of times a day.
In addition to unified delivery using the micro-app container, Spotcues can also provide some more features that can be optionally utilized including:
To summarize, Wave Maker provides a super fast and easy mobile app delivery mechanism with Spotcues mobile app that provides Micro-App container. This can help enterprises achieve mobile digital transformation much more effectively and at a much faster pace bringing all the benefits of a low-code platform. Talk to us to learn more about this.
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.
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 |
|
|
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 |
|
|
Deployment |
|
If you are an existing AppMaker customer, we would love to partner with you on your application development journey!
For years, APIs and Services have been around in Enterprise Computing. In the good old middleware days, Service Oriented Architecture came into existence, and services were exposed using SOAP Web Service APIs. These APIs were mainly used to integrate applications to legacy systems and to one another.
With the advent of cloud, mobile, and the need for massive internal/external adoption of services, REST-based APIs have replaced SOAP Web services. REST APIs are HTTP-based, lighter, easier to understand, and integrate, and therefore, have become the de facto standard for creating enterprise APIs. Enterprise APIs can be internal APIs i.e. within or across LoB (Line of Business), or external APIs for partners and third-party developers.
In the past few years, enterprises, having learned from web-scale consumer APIs, realized that in order to create an ecosystem of applications around your API, it takes more than just creating an API and expecting consumers to use them. This is true for both internal and external APIs.
API management is the ability to document, publish, share, control, consume and monitor the consumption of APIs. All of this is done in a fashion that allows easy publishing and onboarding of developers using the APIs. So the question is:
If an enterprise is looking to publish internal and/or external APIs, is there a difference in managing them?
The majority of enterprises consume more internal APIs than external ones. API management is essential for both internal as well as external APIs as long as there is a need for,
So how do you begin with API management? What we see is, depending on the maturity of the enterprise, the journey of API adoption can vary. Some enterprises with no APIs will start with internal APIs, get the ball rolling, work closely with internal stakeholders to fine-tune the APIs, and then roll it out for external consumption. On the other hand, mature enterprises may start directly with external adoption. Some may just roll out internal APIs depending on the business need. Let’s take a look at differences in the requirements when it comes to publishing and consuming APIs,
Internal APIs |
External APIs |
|
---|---|---|
Creation of APIs | APIs are created based on custom business logic and could be auto-generated during the application development process. | APIs are tuned and designed as per the needs of the external partners and third-party developers. |
API Publishing, Sharing, and Discovery | Done on an Enterprise Developer Infrastructure/Network that is accessible to all other applications within the Enterprise. | Done on an External API Portal that is accessible to External Partners and third-party developers. |
Purpose of API Consumption | Increase internal app development productivity, integrate applications within and across LoB resulting in streaming business operations. | Increase partner business opportunities, create new business models, and in some cases, direct consumer integration. |
API Discovery | Need to be discovered on the same developer platform used by other internal applications willing to consume the APIs. | Need a public-facing portal to discover the APIs, explore them, and sample them. |
API Subscription | May not need a stringent subscription plan to consume the APIs. | Need diverse subscription PLANs for API consumers to subscribe to and then consume based on SLAs, Payment Plans, etc. |
API Policing | Need to make sure access of APIs are metered, rate-limited, and accessible based on Enterprise LoB needs and access rights. | Need fine-grained API control around security, access, rate limits, SLAs, and access limits based on Partner usage models and subscription PLANs. |
API Access | May or may not need special tokens or keys to access the APIs. Mainly depends on the sensitive nature of data being exposed. | Need API Keys and security tokens to access the APIs. |
API Invocations | API Invocations are in very large numbers as they are consumed by the Internal Applications. | Dependent on business requirements for access to external stakeholders. May be a much smaller number for Enterprise LoB Use Cases. |
Platforms that provide a unified approach to rolling out internal and/or external APIs can better facilitate enterprises willing to develop an ecosystem around their APIs. At WaveMaker, we aim to make the journey from internal to external API Publishing a seamless one. As mentioned in my earlier post, WaveMaker Studio, via API Designer feature, allows for publishing, sharing, and consuming APIs internal to the enterprise. As these APIs become foolproof, and enterprises like to develop an ecosystem around it, they can use WaveMaker Gateway that allows for publishing, sharing, management, and consumption of APIs by external partners and third-party developers. WaveMaker Gateway provides full-fledged API management capabilities and is specifically designed, positioned, and priced for enterprises wanting to embrace and develop API Ecosystems around Partners and third-party developers. Click here for a demo of WaveMaker Gateway.
The transition from “physical-to-digital-to-physical”, that’s what Industry 4.0 is about. It is a state in which manufacturing systems connect, communicate and use the information of physical systems to drive actionable intelligence executable digitally.
The opportunities that you as a manufacturing leader have today to improve operational efficiency depend on the technologies you decide to adopt at various points in the value chain. Different types of digital technologies are adopted in the manufacturing sector, from robotics, additive manufacturing, artificial intelligence and augmented reality.
Across the manufacturing value chain - from design, development, manufacturing, sale, and service - integration and convergence of information technology (IT) and operational technology (OT) network devices are one of the key enablers in “smart manufacturing”. Using data from the industrial internet of things (IIoT) and with emerging technology you can seamlessly steer processes and systems towards Industry 4.0.
The core principle of smart manufacturing revolves around connecting people, machines, devices, systems, and processes. Rapid application development has become the essence of driving this connection across the enterprise from the production floor to the customer site.
For instance, by using field service applications your workforce can access information offline when offsite, improving their productivity. By adopting microservices and generating APIs, you can develop applications with data analytics and dashboards enabling the onsite workforce to achieve faster, data-driven planning, production, and service.
To develop and deploy applications at a speed aligned to enterprise demands manufacturers are widely adopting rapid application development platform. Here’s how low-code platforms empower manufacturing leaders in mastering the fourth industrial revolution:
Low-code platforms are increasingly becoming popular among manufacturers as they offer modernization of processes, customization of digital solutions, flexibility and extensibility for scalable implementation, and effective digital transformation. Take for example this success story about a large textile manufacturer in South Asia. They had an Order Management System that was built using Oracle Forms and Reports. With the need to modernize their existing forms and report applications, a new core business application was developed to help scale and meet business demands for the next decade. Here’s the gist of how they benefited:
Take a look at the success story to know more about how this textile manufacturing company used low-code to modernize its legacy systems.
Industry 4.0 is defined by intensive digitalization and technological disruption. The next level is Industry 5.0 which will be a transformation of how humans interact with new technologies. It will be about contextualization and inculcating a collective perspective about industrial technology. It will be about how humans and machines will collaborate and work together like the cobots (collaborative robots) observed in many manufacturing units already. As the relationship between man and machine intensifies and becomes more interconnected, digitalization in the Industry 4.0 era will need to be strong to usher in the Industry 5.0 era; an era that will be defined by collaboration between humans and technology and how they will master the art of working together with efficiency and accuracy.
In June 2014, ‘low-code went mainstream. Forrester researchers formally announced the arrival of ‘low-code platforms in their paper ‘New Development Platforms Emerge For Customer-Facing Applications’. While the idea of visual development and configuration instead of hand-coding existed since long before, Forrester’s report marked the time when global enterprises began taking low-code as a serious alternative to their current methods. And it has grown significantly since.
Gartner predicts that by 2024, over 75% of large enterprises will use low-code development tools, and over 65% of all application development will be done with low-code tools and methods. Confirming these hard stats, low-code proves to be worthwhile because:
The real question about adopting a low-code platform is: When is a low-code platform right for your business?
In order to help you gauge if low-code is right for you, in the present, we’ve identified specific situations in which enterprises see great benefits from low-code, across three dimensions — your business landscape, preparedness for low-code, and technology position.
Enterprises on a digital transformation journey realize soon enough that their business landscape is evolving faster than their transformation initiative is moving. They need greater speed in their application modernization endeavor without sinking more investments in additional resources/tools. Low-code can enable this.
The visual approach of low-code simplifies the application development process — it abstracts complexities of integration and configuration, somewhat reducing the intimidating aspects of hand-coding. This allows business users and professional developers to collaborate more meaningfully. With visual prototyping, business users can play with the feature, facilitating earlier validation, reducing rework and cost overruns significantly.
Be it market pressures, compliance needs, or competition, businesses from time to time come under pressure to deliver fast. And hardly ever has an IT leader said, “we have all the people and budgets we need to accelerate”. More often than not, IT teams are left to find innovative, yet cost-effective ways to deliver fast. And low-code is exactly that.
Low-code platforms enable enterprises to use their existing teams to perform complex development tasks with minimal upskilling. With visual prototyping, they provide a common ground for business users and developers to collaborate, without yet involving IT or DevOps. They automate coding, saving time and energy for engineers, which they can then leverage to innovate at scale. It ensures that you have standardized and consistent code, in spite of different developers working on it, eliminating shadow IT and facilitating better governance.
As you identify and explore low-code alternatives to traditional development, you will develop organizational know-how about how it works, how it fits into your existing systems, etc. In such a situation, you might be in a great position to identify the perfect use-cases for adopting low-code — say, while modernizing legacy applications.
In such a case, where you’re already up the learning curve, low-code can generate incremental benefits for you.
We’ve seen that early adopters and power users of low-code tools tend to be technically-inclined business users. For example, a business analyst who has a clear understanding of data organization / logical flows and a strong product point of view can leverage low-code for configuring and setting up the reporting software themselves. Or generalist developers who need to perform specialist roles as part of their job — say a backend developer needing to do the UI design.
When you have identified the specific person who can leverage low-code because it fills a specific gap, it can work wonders.
Enterprise applications can sometimes be labyrinths of layers, held together by loosely defined integrations. When different teams within an enterprise come to the developer with different business requirements, a working reconciliation of them all can be daunting. With low-code, you can build custom apps specific to the requirements of each business team, without wrecking the foundations of your application.
In a world where every business is a tech business, every enterprise faces pressure to innovate. This can be even more demanding in a tech-heavy industry.. Low-code helps developers build features faster — with the visual interface — and also gets feedback quicker from business users.
Existing development teams often have a conceptual understanding of the application architecture and underlying infrastructure, which enables them to integrate and deploy their code. Adding a low-code platform to accelerate development brings an additional layer, which also needs to be integrated. On the other hand, enterprises might still need IT support to integrate the code written using the low-code tool into the larger application codebase. Often, enterprises shy away from adopting new tools for fear of this integration.
If you have an existing IT support team that can facilitate a low-code platform’s integration into the application landscape, you are in a better position to adopt low-code and reap its benefits.
Low-code as a practice and low-code platforms as tools can help application development teams across a wide range of functions. Whether you’re just considering modernizing your legacy systems or are at the cutting edge of tech innovation, low-code can help accelerate your digital transformation journey.
CIOs need to embrace low-code as it can help accelerate digital transformation and application development demands
TGI Fridays recently introduced Flanagan, an AI mixologist. It is an app and chatbot that creates personalized drinks based on customer flavor preferences and moods. In another side of the marketplace, Nissan integrated Microsoft Office 365 to bridge silos, unify business units, make them "mobile-enabled", and to create a "digital workplace". This is the age of the "future-forward experience". As many companies and brands are working towards delivering experience, the key enablers are emerging technology and modern software applications.
Technology plays an important role in this age of the experience economy. The workplace is transforming, aiming to become more optimized. The workforce is evolving, where employees are now working beyond boundaries and using technology to collaborate and communicate in productive ways. Customers are becoming more demanding, expecting exceptional experiences. Reflecting these changes, enterprises and businesses are modernizing their processes and systems.
Along with the evolving workplace, workforce, and marketplace, the role of IT leaders and CIOs is also transforming. With the demanding need to adapt to a highly-optimised and hyper-connected world, CIOs are nudged into taking a strategic role. They are now expected to be change agents, responsible not only for managing IT budgets but also to identify revenue streams and create business value.
As digital transformation has become the main agenda, CIOs are using technology strategically and leveraging digital opportunities. The fact that in 2019, 40% of technology spending (more than $2 trillion) is estimated to have been assigned to digital transformation initiatives, adoption of emerging technology has become the biggest objective for enterprises. The app economy plays a crucial in driving digital transformation and business innovation. CIOs have to consider the people, platforms, and processes that will cater to the increasing demand for modern applications.
The increasing demand for enterprise applications has led to the increasing adoption of low-code platforms in the Application Development & Delivery (AD&D) market. Enterprises are working towards leveraging agile practices and incorporating development techniques to create a minimum viable product (MVP).
CIOs and IT leaders have to determine what practices, what type of technology and the skills required to achieve modernization. Here’s how emerging technologies such as low-code platforms help CIOs drive digital transformation ROI.
● Align goals with people, processes, and platforms — Digital transformation goals need to be aligned with the business strategy and the culture. Senior IT leaders and CIOs need to communicate the goals and ensure that their workforce is tech-savvy to deliver digital transformation objectives. Alignment of strategies with business needs and expectations will provide CIOs with a better opportunity to succeed in implementation.
Emerging technology such as low-code platforms provides IT leaders with the potential to bridge silos, streamline processes and enable teams to collaborate and focus on core innovation. Using rapid application development tools, CIOs have been able to accelerate their revenue-generation and digital transformation initiatives.
● Get equipped with a modern technology stack — Before beginning the journey of digital transformation, CIOs need to identify legacy systems that need to be modernized. Incrementally modernizing traditional systems can allow stakeholders to witness the benefits and ensure wider adoption in the enterprise. By introducing a modern technology stack, enterprises can also involve and engage employees to upskill and learn about new technologies.
What low-code platforms provide is the potential to modernize applications without rebuilding older applications from scratch. The agility and speed to develop enterprise applications make low-code platforms a preferred choice.
● Accelerate time-to-market delivery of applications — The hyper-demands of the marketplace put much pressure on enterprises to deliver more with less. Accelerating time to market of product delivery needs to one of the main objectives of transformation and modernization.
Time being of the essence, IT leaders are widely adopting low-code platforms because they enable developing applications faster. Rapid application development reduces time spent on design and coding while improving developer productivity. By advancing the ‘speed to market’ metrics, CIOs using low-code platforms can achieve a higher return on platform investment.
● Develop custom applications to deliver user experience (UX) — While time is of the essence so is the experience. When introducing new technology and applications, user experience (UX) has become the core objective. IT leaders need to focus on the purpose of developing new applications. The objective must revolve around the needs of the users and how emerging technology can help them improve collaboration, communication, productivity, and performance. Ideally, application development strategies need to revolve around the ethos of users.
With low-code platforms, custom-built applications can be developed based on user preferences with agility and speed. They enable IT leaders to create enterprise apps that are designed to adapt to experiences instead of devices. By improving the usability metrics, emerging technology like low-code platforms has higher adoption rates and better opportunities to deliver business value.
● Choose the right platform and technology — Given the increasing demands of the digital marketplace, modernization and digital transformation initiatives require IT infrastructure to be agile, flexible, scalable and cost-effective. By supporting the development and delivery of custom applications on-time, low-code platforms ensure enterprise agility efficiently and cost-effectively. With many players in the AD&D market, CIOs need to wisely choose the right low-code platform.
Platforms offer ready-made application infrastructure, improve usability with rich user interfaces, enable full-stack development, give access to the best-of-breed technology stack, enable API-driven integration and encourage business user participation. Ideally, the chosen low-code platform should firstly serve a particular business need. It should allow for code reusability, improve agility, ensure faster time to market, and make integration and deployment easier without vendor lock-in.
Enterprise-wide digital transformation is all-encompassing. It affects all stakeholders and requires revamping processes, upskilling people, integrating modern technology and changing the culture. As change agents, IT modernization and digital transformation can be a challenging feat for CIOs and IT leaders. Emerging technology such as low-code platforms acts as a catalyst to change, providing CIOs with a great opportunity to accelerate modernization and support digital transformation initiatives.
As the hyper demands of the enterprise continues to increase, the technology that delivers innovative solutions needs to be identified. The strategy, approach, and technology that CIOs and IT leaders choose will be the factors that determine the rate of returns on platform investment. The faster the informed decision is made, the sooner the benefits will be evident because the market waits for no one.
Originally published in Information Age by Vijay Pullur, CEO, WaveMaker.
The time has come. Experienced professional developers of yesteryears are hanging up their hats and opting to retire. While these seasoned programmers gear up for the sun and sands, the companies that depend on them are bracing for a technical and IT skills shortage.
Every year of every decade that has passed, legacy systems have been updated. The majority of these complex applications do not have documentation and there are a very small number of developers left who have an understanding of the business rules. There is heavy dependence on core mainframe programmers and IT leaders are concerned. Keeping in line with industry views, there is an urgent need for the IT workforce to develop their competencies to use emerging technology and support digital initiatives.
As technology becomes outdated so does the skillset of professionals who use it. Finding professionals with specialized skill sets to maintain legacy systems is another challenge that companies are facing. The tech talent shortage goes beyond a particular role. There is an overall shortfall of knowledgeable professionals who know how to code, be it developing back-end mobile applications to cloud-computing platforms. Paying top dollar to outsource support for legacy IT systems is no longer a viable option.
In a time of Digital Darwinism, technology is changing at a pace faster than users can grasp. In the Future of Jobs Report by the World Economic Forum, by 2022 more than half of the employees (54%) will require reskilling or the skill gap to adopt digital technologies will only grow beyond a point resolution. Given that the speed of change in technology adoption is inevitable, IT professionals have no choice but to shape up or ship out.
Is the tech talent shortage driving application modernization?
Given that modernization has become imperative in the IT-powered business world, there is increasing pressure to adopt emerging technology and modernize legacy systems. Several industry reports mention how access to better development tools, technologies, and services, makes developers more productive. By modernizing existing legacy systems engineering teams can become more efficient and the time-to-market can be improved.
There are many reasons why companies choose to modernize, from reducing the cost of maintaining legacy systems to responding to pressure that the competition presents. An interesting factor driving application modernization is the shortage of tech talent. With the lack of specialized resources, emerging technology such as low-code platforms are helping enterprises deliver more with less, here’s how:
The hard fact of the matter is that regardless of the problem the solution seems to include technology. By democratizing technology, low-code platforms are nurturing agile teams and transforming the IT workforce from “doers to enablers”. Given the paucity of tech talent, low-code platforms help to close the gap between the increasing demand for enterprise applications and the technical resources to develop them.
With digital transformation becoming mainstream, application modernization is gaining speed. Whether the objective of application development and modernization is to make money (line-of-business users), or it is to save money (C-level executives), or whether the shortage of tech talent is driving modernization, it has become a critical necessity, and low-code platforms have become an integral solution.
2019 was the year we witnessed business leaders intensify their efforts to embrace digital transformation initiatives and build an adaptive, technical and operational foundation. The challenges were plenty, many of which still need to be addressed.
Companies have had to deal with technical debt and organizational silos, which has increased resource allocation to their core tech stacks. Several digital transformation initiatives fell short on delivering desired returns. Many companies have eagerly adopted new technologies. While all of this was intended to achieve operational efficiency and viability, it has led to dealing with technical challenges.
With 2020 around the corner, the predictions are optimistic and radical. As the challenges continue to be actively addressed, let’s take a look at some of the aspects that will gain momentum in 2020.
CIOs and business leaders will embody transformative roles, becoming 'chief enablers.'
These executives will chase tech-driven innovation with grit and break silos of teams to build ecosystems. The focus will revolve around people management, tech-driven innovation and ecosystem-building skills. In 2020, CIOs will be looking to automate their IT tasks and upskill everyone in order to address the increasing pressure to improve efficiency and control costs. This will not translate to layoffs; instead, Forrester Analytics data predicts agile DevOps teams will be created by training teams to manage more complex tasks.
Businesses will leverage the potential of emerging technologies to address challenges.
From decentralized autonomous organizations to immersive workplaces and digital ecosystems, companies will consider emerging technologies to reduce costs and invest in growth. In discussions about the outlook for the global IT market at the Gartner IT Symposium, analysts predicted that in 2020, enterprise software spending will reach $507 billion, a 10.9% growth from 2019.
Companies will adopt an immersive and adaptive IT approach.
Following shape-shifting characteristics of organizations, "fluid IT capability" will be nurtured, where the boundaries between IT and business will fade. Enterprises will embrace agile development practices to ensure better collaboration between business and IT. To achieve agility, businesses will work toward connecting people, applications and devices seamlessly.
With the increasing need to bridge silos, I believe developing enterprise applications with faster release cycles will result in the increasing adoption of low-code platforms. The fact that the low-code development platform market is growing at a rate of 40% and is expected to reach $21.2 billion by 2022 confirms the potential of modernization using emerging technologies.
Initiatives to upskill the workforce will be significant.
I believe this will come to fruition as IT leaders will have to address the challenge of cost control in an economically volatile environment. Cross-domain knowledge workers will be given importance, where employees with higher skills will be paid more and retained. Companies will invest in prepping employees to work together with automation tools and technologies. Employee development and improving the learning agility of teams will become the main priorities.
Companies will design their business applications experience around employees.
As the digital workplace evolves, employees will expect business applications they use and develop to deliver more. This prediction is based on the notion that the "one size fits all" approach offered by some companies will need to change. Low-code platforms will enable application development in alignment with job requirements, and self-service DevOps will democratize the way enterprise applications are deployed and used.
Employee digital dexterity will be the essence of future digital workplaces.
How work gets done will be transformed by employee-facing technologies. Collaborative, cloud-based work management tools will be adopted to create a digital dexterous workforce. Given that the competitive advantage of most companies is derived from how employees use technology, emerging technologies will be adopted widely to make employees and teams more agile, inclusive and engaged.
I foresee 2020 being a year that will witness far-reaching, fast-paced changes. Tech-driven innovation will drive changes in the digital workplace and the ecosystem. Emerging technologies and software platforms will revolutionize how enterprises develop, deliver and manage applications used by their employees and customers. Driven to achieve embedded connectivity, improve business agility and foster innovation, companies will evolve based on the shape-shifting dynamics of the workforce, workspace and marketplace. The best way forward is to plan ahead.
Originally published in Forbes by Vijay Pullur, CEO WaveMaker.
While 2019 was defined by rapid change, businesses in 2020 will witness a greater change in pace that keeping up will not be an option anymore. Digital will not be a differentiator. Enterprises will need to stay agile and drive value through digital opportunities. They will need to strengthen their IT and business culture and empower their workforce using a ‘digital-first approach. IT and application leaders will need to transform their organizations to leverage the power of emerging technologies more quickly. You will need to choose the right technologies to drive business outcomes according to their needs and goals.
As enterprises are learning fast how to effectively use technology to respond to the competitive digital environment, digital maturity is reaching a tipping point. They are now focusing on how to deliver, scale, and reap their digital ambitions. Organizations are already well underway in preparing for digital transformation. Gartner in its 2020 CIO Agenda eBook reports more than 40% of businesses already at scale and ready for digital initiatives.
2020 will also continue to witness the evolution of the role of IT and application leaders. You would be expected to strategize on utilizing technologies to enable your workforce to ‘do more with less’. To continue to be successful as an application leader in the future, Gartner highlighted that application leaders need to embrace changes to translate digital strategies into business outcomes. You will need to consider changes such as aligning business models and IT operating models, shifting budgets from IT to business units, and revamping digital infrastructure to support the evolving workforce demographics and culture.
As the role of IT leaders is redefined the role of application teams would also need to be redesigned. To remain relevant beyond 2020, you need to prepare your organizations and teams. Application teams would be expected to have a responsive and fast delivery approach. They will need to adopt a business-centric model and effectively use technology to drive business capabilities. To be prepared for 2020 and beyond, Gartner's Applications 2024 report states that only those application teams that adopt effective ways and tools to connect with business stakeholders can deliver desired business outcomes such as exceptional customer experience and solving customers' issues.
In 2020, IT teams will be expected to adapt and deliver business capabilities more continuously. They would need to drive the adoption of technologies like low-code platforms, predictive analytics, and DevSecOps. Technology adoption for IT teams would need to be a means to solve business issues and deliver business outcomes.
Through the years leading to 2024, the shift to product-centric delivery and digital platforms will continue and a customer-centric mindset will increasingly be desirable. Enterprises in 2020 would have to move towards adopting a customer-centric business model. As this model matures, customer centricity is seeping internally into the organization with teams having their customers. This also includes platform teams that develop and deliver APIs that are consumed by other teams. Product teams would need to do customer research and gain insights into their customers’ needs (internal and external). They also would need to have a clear understanding of the product vision which is critical when making decisions to deliver solutions.
As agility becomes the name of the game and IT leaders give more importance to digital initiatives a major portion of the IT budget will be allocated to application development. Low-code development will become a major element in achieving enterprise agility and development teams would be expected to deliver more. More than 50% of developers according to Forrester plan to use or use low-code products by mid-2020. By the end of 2020, Gartner predicts that 1 out of 3 business users will use low-code tools to create applications and product-centric teams.
2020 will witness enterprise applications being designed around the employee experience. The impact and influence of business users will increase and you would need to democratize the use of technology for business users. By 2023, Gartner predicts that "40% of professional workers will orchestrate their business application experiences and capabilities". Application development will be aligned to business requirements and self-service DevOps will democratize how applications are deployed using low-code platforms.
2020 - The Year of Bridging Gaps and Breaking Silos
The epicenter of digital initiatives is transformation and you as IT or application leaders would need to be equipped to ride the wave. 2020 for you will need to be about bridging the gaps and breaking silos. It will need to be about bridging the IT skills gap, the business, and IT gap, and breaking the organizational, application, and infrastructure silos.
By 2024, application stakeholders will become acutely knowledgeable about IT solutions and technology. Their demand for new capabilities will increase and it will be immediate. To meet such hyper demand, you would have to gear up and would need to do it fast. There must be a revamp of mindsets and changes in traditional practices to leverage the potential of application development. Application architecture must be role-centric and based on business capabilities, software development must shift to a product-centric delivery approach, business users must get democratized access to technology and tools, and the IT and business teams must seamlessly collaborate. Here’s to ushering in another decade of intense innovation, collaboration, and transformation.
The role of the IT leader in businesses has evolved significantly over the last decade. From being enablers of business to being ‘the business, this shift has been tremendous. Next-generation IT leaders and CIOs are no longer only ‘gatekeepers’ of providing the technology budget, they are now required to advise, guide, and translate core business requirements into technology capabilities. They are also required to assure C-level executives about the cost-effectiveness, profitability, and consistency to business goals that technology investments will deliver.
IT leaders have become “Chief Enablers”. With the rise of the connected enterprise, real-time accessibility of data is necessary. Using technology such as cloud-based software, IT leaders can ensure real-time collaboration and decision-making is possible. Technology investment is another aspect where IT leaders play an important role. Moving enterprises to adopt new technologies does not mean giving up on existing legacy technology. When considering the modernization of technology, IT leaders need to understand the organization’s needs first, and then need to break down functions into microservices so that technology is used strategically.
Technology is ever-evolving. Along with the role of the IT leaders, business environments and the technology used is also evolving. To drive cost optimization, agility, and scalability, technology has advanced. The movement to the cloud was fundamentally driven by a need to optimize costs. The need for pushing faster changes to customers led to microservices-based architecture and the rise of APIs which also led to containers. With the growing importance of delivering customer experience the rise of mobile-first applications and the focus on creating cloud-native, modern and scalable business applications are observed.
Today every business application is expected to be agile, scalable, and secure. While these improvements make applications better, the development itself has become more complex. IT has to build end-to-end application development teams with mobile developers, specialists for microservices and APIs, and DevOps experts to enable CI/CD. While finding skilled talent is difficult, the main challenge is to enable collaboration between these diverse teams.
Think of this, while all the attributes like microservices, multi-channel, APIs, and cloud are necessary, it is core business innovation that will help enterprises differentiate their core offerings from the competition. With the focus on making better enterprise applications, finding a skilled workforce, and ensuring collaboration, core business innovation is hampered. This is where IT teams need to create bandwidth for core business innovation. One of the most potential developments in the app economy is low-code platforms. By leveraging technology like low-code platforms IT leaders can empower their development teams. Let’s look at how can this be done.
To help enterprises reduce the dependency on specialized skills, achieve better productivity through rapid application development tools, and foster collaboration between teams, there is a need to adopt platforms. By using low-code platforms, the time spent by development and IT teams on application development and deployment is drastically reduced, giving them more time to drive core business innovation.
Low-code platforms empower development teams by enabling them to reduce development efforts and use automated, development and deployment features to build and deliver modern applications faster. Here’s a glimpse of how low-code creates bandwidth for development and IT teams:
The progression of technology in this digital age is unprecedented and powerful. The increasing influence of IT leaders and the strategic role they need to embrace makes it imperative for them to adopt technology to drive business outcomes and create opportunities to become forward-thinking leaders. While technology is the prime enabler for modernization and business optimization, ensuring it is adopted strategically will be a balancing act for IT leaders, one that will determine its leverage.
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 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.
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.
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.
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.
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.
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.
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.
Launching a new business or project means that everything has to be built from the ground up, from defining services, functions, and product range, to deciding the technology, infrastructure, and resources required. Enterprises, to serve the evolving demands of customers and add business value, are looking to develop new applications faster with minimal resources and cost.
In greenfield development projects, the new applications built either solve unaddressed business challenges or entirely replace an existing inadequate system. Consider this example of a new start-up company that is going to launch an online, product range. The primary focus of the company is to build a minimal viable product (MVP) with the ability to make product improvements from customer responses. Without existing systems or architecture in place, the company plans to build a suite of applications to serve various business needs, add new functions, provide an uninterrupted online presence, and ensure scalability based on changing customer demands.
The company, with the absence of an existing legacy system, is weighing out the option of adopting microservices. If they choose microservices architecture, this would involve defining service boundaries (which need to be dynamic) and deciding the technology stack for each microservice. It would also include rethinking operations, creating a scaling strategy, provisioning infrastructure required for elastic scalability, and configuring and maintaining monitoring solutions.
While it is a relief not to inherit technical debt from legacy systems, there are many aspects to be considered when adopting microservices architecture for a greenfield development project.
Define your domain or service boundaries
When developing greenfield applications, defining service boundaries could be tricky. Before trying to categorize your system into different services, ensure you know your domain. For instance, you define that service A is responsible for doing a particular function. What if this changes or if you realize the function needs access to service B.
Before separating functions into microservices, you need to understand and have clarity about the dependencies they have. Only after some time would patterns emerge from which you can identify the functions and services and the problems they can solve. However, there would be apparent functions such as login or profile services that could be carved out into a microservice straight away.
Decide on the technology stack
The technology stack used with microservices in greenfield projects is diverse. You can combine multiple programming languages, frameworks, and data storage technologies. However, standardization becomes an issue with different teams using an entirely different technology stack. Low-code platforms offer one point of control for application updates and maintenance to overcome technology diversity. With a centralized repository for version control, multiple developers can collaborate and merge changes.
Achieve a minimum level of operational readiness
To start a greenfield project using microservices architecture requires a minimum level of operational readiness maturity. Operational readiness in terms of ensuring there is access to a deployment environment and building continuous delivery pipelines where services are created, tested and deployed. Whether it is identifying and provisioning infrastructure requirements, scaling strategy, or service discovery, you need to have a plan to address the operational complexities that could occur when adopting a microservices architecture.
Low-code platforms simplify application development, deployment, and delivery. They use Continuous Integration (CI) tools like Jenkins to provide a continuous delivery pipeline and provide an automated containerization workflow. Low-code platforms transform the way enterprise applications are developed and delivered.
Reorganize development, DevOps and IT teams
To ensure every microservice is managed independently, you would need to reorganize your teams and maintain a balance of resources. It is not productive to have engineers working on multiple microservices; neither is it feasible to have one person for each unique role. For instance, a DevOps engineer can manage dual roles of development and operations, or a full-stack developer can manage the entire application development lifecycle. Ideally, every team should have a balance of expertise which could comprise developers, testers, operations engineers, database administrators, UX designers, and in some instances, even product managers.
With the rapid increase in opportunities applications have to serve customer needs, development teams are under pressure to deliver at a fast pace with tight turnaround times. Added to that, the shortage of skilled professionals is hindering rapid application development. Here is where low-code platforms help by providing a user-friendly interface and a development environment where teams can collaborate on modules with efficiency.
Ensure microservices implementations do not turn into distributed monoliths
There are whispers about how most greenfield microservices implementations turn into "distributed monoliths." By taking a monolithic codebase and spreading it across a network, the benefits of microservices architecture fade. For instance, when making changes to business logic in a shared library, if you need to synchronize the deployments of multiple teams, it reflects the inability to deploy changes in isolation. When building a new system, it is a huge advantage to have a single, non-distributed codebase.
In greenfield, microservices-based implementations, low-code application development platforms provide business agility by automating systems and ensuring data security, integrity, and compliance with IT governance and standards. However, before going all in to adopt a microservices architecture, it would be useful to be clear about the fundamental aspects mentioned earlier about service boundaries, infrastructure, technology stack, resources, and team organization.
By Subodh Kumar, Principal Engineer, WaveMaker
At WaveMaker, we want our users to have the best user & developer experience aided by a great performance. Also, we want the apps built by our customers in WaveMaker to load really quickly. In every release, we work on making the load experience better.
WaveMaker is a Rapid Application Development (RAD) platform that lets customers create responsive web applications or mobile applications using a simple drag and drop approach. WaveMaker simplifies building modern responsive apps using Angular. WaveMaker provides 100+ out-of-the-box responsive UI components. Using these components functionality can be built by binding them to data sources such as REST, SOAP APIs, or Databases.
As customers build the application in WaveMaker, Angular code is automatically generated. This allows us to use build tools like web packs and other tools in the Angular ecosystem. Using these tools WaveMaker application build process already derives benefits such as minification, tree shaking, lazy loading, and compression of static assets
In the 10.2 release, WaveMaker is introducing support for a better compression algorithm ‘Brotli’ as a part of its optimization that will help the apps load even faster. Customers will realize these benefits without any code changes by simply rebuilding their apps.
Why static assets should be compressed?
The performance of every app is proportional to the size of the resources it serves over the network to the user. The resources can be in the form of HTML, JavaScript, images, styles, and others. The bandwidth & time a resource can consume is a function of its size.
Thus, having resources of a smaller size can help in an app’s response time & performance. Compressing the application assets can help us achieve that. With the right compression algorithm deployed, the resources served will be optimal.
Brotli will help the pages of an app load faster & be more responsive. It also provides a better user experience, which every app or business is striving for.
What is Brotli? How is it better than gzip?
Brotli like broccoli is better for your health. 🙂
Humor aside, Brotli (defined in RFC 7932) is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding, and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed to deflate but offers more dense compression.
Brotli, when compared to Gzip, provides better compression & decompression performance. Following is the summary for comparison of common assets of an app
It’s not just about compression ratio, but also about how long Brotli takes to compress & decompress data. Data suggests that Brotli is better at compressing static data because of its superior compression ratio.
Browser support
Brotli compressed files are served only over HTTPS & encoding is supported in most of the modern web browsers as shared below,
How to check if your static assets are Brotli compressed
The browsers which support Brotli will send ‘br’ with ‘gzip’ in ’accept-encoding’ of request header.
And, If Brotli is enabled on the server, the response will be in Brotli compressed format
Performance gains in load times
In WaveMaker, as soon as the user makes a deployment request for the Angular profile, the Brotli compressed files are generated. Since the generation of compression is part of the build process, when a request for resources is made by the app, the files are readily available and shared. This results in no additional runtime cost at the server.
Below is the comparison of resources for a sample app developed in WaveMaker, which will show the difference in the resource size.
Asset Type | Without Compression | Gzip | Brotli |
JS | 2.7MB | 698KB | 573KB (~17% over gzip) |
CSS | 548KB | 82.9KB | 67.5KB (~18% over gzip) |
What do WaveMaker customers need to do to benefit from this?
For existing projects, just modify deployment.properties (This will be not be needed after the migration is in) to enable the compression in the ‘deployment. properties’ as shown below & have the app served over HTTPS.
References:
Google blog -Introducing new brotli compression 2015/09
Github - Brotli
Mozilla - GZip Compression with brotli
As the app economy grows, there’s a sense of urgency to create business value and drive mobility and agility. These digital opportunities to deliver value are massive, urging enterprises to develop applications with greater momentum. Technology is the primary enabler in enterprise-wide modernization, and the demand for developers to support this transformation is huge–and this is where the challenge of the looming skills gap emerges.
The 2018 LinkedIn Workforce Report stated that there is a shortage of 212,838 people in the U.S. with software development skills, including programming languages such as C++ and Java. In the developers market, it is easier to find developers proficient in one programming language than full-stack developers experienced in end-to-end application development. This is because traditional Java development teams depend on specialists, decelerating the application development process.
What Java teams are missing is access to consumer-grade UI that provides a conversational user experience, the ability to create multichannel responsive apps, API-driven integration for microservices and REST APIs, and agile DevOps to automate, iterate and deliver rapidly.
Here’s where low-code platforms play an important role. Gartner Research predicts that by 2024, about two-thirds of application development activity will be done using low-code application development. This is because these platforms are widely used to help create agile teams, reduce dependency on specialized skills and empower Java development teams to develop future-proof skills using a modern technology stack.
In addition to developer-heavy initiatives such as app transformation and migration, low-code platforms can empower developers and make full-stack development simpler and faster in a variety of ways. Here are some examples, offered as industry information from app dev platform maker Wavemaker.
Creating enterprise applications that have a rich user interface (UI) and responsive user experience (UX) requires time, effort, and specialized skills. Traditional teams require highly skilled front-end technologists with knowledge of HTML5, Bootstrap, Angular, and UI design.
Low-code platforms, however, provide drag-and-drop features, out-of-the-box Angular-based responsive UI and modern UI frameworks such as Angular 7. Utilizing a radical approach to use open-standards-based generated code, the code for every drag-and-drop action is automatically generated. Through this method, low-code platforms enable developers to build modern applications with minimal coding and guarantee the best code quality, maintainability, and extensibility of enterprise applications.
Creating APIs from existing applications requires skilled Java and API developers to develop new database logic and coding, but there’s an easier solution. Low-code platforms provide one-click API creation, where microservices are auto-created and developers can use existing database logic, reuse existing Java code and create new Java code in IDEs of their choice, such as Eclipse.
Using an API-driven app development and integration approach, microservices are created and REST APIs are automatically generated for existing applications, making modernization of legacy systems easier and faster than ever before.
Developers, in addition to understanding all layers of the application stack for full-stack development, are required to deal with the underlying complexity of integrating, configuring, and developing for the various systems and frameworks involved in the end-to-end application development process. This includes UI, binding UI to back-end data sources, security configuration, API integration and creation, database logic, microservices, CI/CD, multi-cloud deployments and much more. Full-stack development becomes very complex for developers as they need to upskill.
Low-code platforms can abstract the complexity by providing accelerators across the life cycle of full-stack application development. Using low-code platforms, developers can own micro-functionality (also known as microservices) and can manage end-to-end application development from UI design, focused code development (avoiding any infrastructure code) to deployment, in a simplistic manner.
Today, enterprises are leveraging hybrid infrastructure models (on-premises and multi-cloud) and distributed app architectures such as microservices and APIs. As traditional virtual machine (VM) pipelines are script-driven, repurposing and rebuilding them at scale is not an easy task. As a result, developers need to create deployment scripts to deploy apps to application servers and create CI/CD Git hooks for continuous delivery.
With low-code platforms that support continuous integration and continuous delivery (CI/CD), developers can instead deploy application artifacts (WAR files) to any Java application server. By supporting VM-based deployments and containers, deploying on-premises or in multi-cloud environments is made easier than ever before. As container images are automatically generated by integrating with existing enterprise CI tools like Jenkins, low-code platforms democratize the delivery process through seamless deployment to Kubernetes and auto-containerization.
Migrating to modern applications can be expensive and require extensive coding. With the assistance of visual development features in low-code platforms, it’s easier to migrate from legacy applications based on proprietary technologies such as Lotus Notes, MS Access, and Oracle Forms.
With the app economy maturing, enterprise application development is becoming more sophisticated. While there is an increasing demand for a highly skilled developer workforce, there is a talent shortage and skills gap in the developers market, and the extent to which enterprises upskill their development teams will determine the survival, revival, and arrival of developers. Using the right tools such as low-code platforms, Java development teams can be empowered to focus more on innovation and address the demands of the modern enterprise. Enterprises that modernize and upskill existing development teams can future-proof the next-gen developer workforce and gain a competitive edge.
“Change before you have to.” This quote by Jack Welch, Former CEO, General Electric has never had greater significance than today. Everything is constantly changing, from the expectations of digital customers, the requirement for better user experiences by the next-gen workforce, changing business models according to business needs, to the modernization of technology, before it becomes inevitable.
Consider this example. A health-information and intelligence company in Stamford, Connecticut built a ‘health intelligence platform’ to create their labs’ competitive difference. The platform built years ago had advanced from enabling clients’ lab operations to creating an impact on lab research outcomes. While the software developed 2 decades ago was robust, there was an imminent need for modernization.
From the VP of tech engineering to the lab head, there were change agents or champions who recognized this need for modernization. However other stakeholders, comfortable using the old system, were apprehensive to move to new systems. In due course, the company embraced modernization and upgraded from a legacy, FoxPro-based Lab Information Management software (LIS) to a modern Java/Angular application.
By using a low-code platform, they were able to accelerate application development, automate ordered tests, simplify integration with external systems, and develop applications quickly and economically. This accelerated their time-to-market - a necessary competitive edge, where the extent of technology leverage could make the difference between invention and discovery. Taking this example, we will discuss the approach and the steps that every change agent should consider when embarking on the modernization journey.
Modernization is not only about scaling or ramping up software technology, it also requires an enterprise-wide change in mindset. A change in mindset in the way people work, collaborate and communicate with each other and with the technology they use. What most enterprises are facing today seems to be an impasse. On one hand, business owners feel that the use of technology is limited to the support they get from IT and on the other hand, there are tech owners who do not have the time or the skills to deliver more. When IT teams are overloaded with enterprise demands, the bandwidth for core business innovation is minimal.
For decades, enterprise-class systems have had a monolithic approach. Enterprise architecture has evolved from monolithic models to service-oriented architecture and is progressively moving towards microservices architecture. The role of enterprise architecture has also matured, from supporting IT to a strategic role of innovation.
Enterprises can stay competitive by incrementally transforming monolithic legacy systems to adopting a modern, agile approach such as microservices. Once they experience the agile delivery of microservices, innovation will naturally flow. Any change agent will tell you, undertaking an IT modernization initiative is not an easy feat and the first question that invariably arises is “how and where to start?”
In any migration or modernization project, making enterprise-wide changes all at once is not always feasible, as it would involve intense coordination and meticulous planning. Moreover, modernization requires investment in emerging technologies, therefore big budgets need to be approved and allocated. The first step in IT modernization is not to make a mountain of the existing monolithic system. If new functionalities need to be added to the software, adding them to the legacy system is only going to make the migration process more difficult. Instead, build independently deliverable services, microservices.
5 Aspects to Consider When Migrating to Microservices
Here is an approach with 5 steps that every change agent in an enterprise should consider when they begin their journey of modernization to microservices.
APIs are used to integrate components (third-party and internal) and the model used will determine the business profitability. Generating APIs for a new service or reusing code of existing services that invariably use legacy technology can be challenging. The pace at which APIs need to be generated is something most enterprises are grappling with.
In the earlier example, the health IT company had to build APIs over databases and custom services. Using a platform to integrate external EHR (electronic health record) systems and enable building a database of patient health records, a unified API helped them access data and run queries.
To improve productivity, low-code platforms are used to auto-generate APIs, where it is not limited to simple, database CRUD operations, but also the generation of APIs for search, filter, aggregate and export services, among others. APIs can be built over databases and for custom services and can also be generated for database queries with stored procedures. Using the ‘API designers’ feature in a low-code platform, REST APIs are generated automatically for every service imported into an application, be it a Database Service or Java Service.
Low-code platforms also offer the advantage of writing business logic by reusing generated APIs in popular languages like Java. When enterprises are in a position where they are still using legacy technology like JSF, Struts, JSP or Servlet where Java code is used, low-code makes it possible to extract the code and generate APIs from it. There are different ways in which a low-code platform can help in reusing code to generate APIs, either by obtaining the libraries of the code and wrapping it in a service or copying the code in a service. Moreover, since development teams would probably be using Java, reusing code and generating APIs becomes very easy.
When it comes to migrating the most valuable asset, which is data, the challenge of “data gravity” arises. Over time, as data grows, how it attracts other data, how it is integrated and how it is customized, changes. Data migration not only has to be done with speed to avoid disruption, it also has to be done accurately and securely.
When migrating to microservices, all of the data from storage systems have to migrate from a monolithic solution. However, at the time of migration, the data itself is not accessible directly.
To make data available across microservices, frequent data migration routines or a synchronization process needs to be created and these datasets need to be made available as APIs. In the earlier example, daily schedules for data migration and syncing were created to ensure access to near real-time data and minimal process disruption for users.
There are several on-premise, open-source, and cloud-based data migration tools. From on-premise data migration tools such as Centerprise Data Integrator, IBM InfoSphere, Informatica PowerCenter, Microsoft SQL, Oracle Data Service Integrator and Talend, to open source tools like Apache NiFi, CloverETL, Myddleware, and Pentaho, to cloud-based tools such as Alooma, Fivetran, Matillion, Snaplogic, and Stitch Data. These tools can provide simple data migration and repeatability.
Low-code platforms simplify and accelerate the entire data migration process securely. They make it easy to integrate anything from databases to third-party libraries and deliver seamless experiences with offline data access and synchronization.
Nothing compares to a user-friendly application to demonstrate its value. When using apps, the user interface (UI) is what delivers the experience for users. By creating ‘beautiful looking’ UIs, it is easier to get stakeholders to understand the value that an enterprise application can deliver.
Imagine you could provide users with better usability by providing a web application instead of a desktop application. What if you could create a modern UI that displays information and encourages interaction, something that was not possible until now. What if you can enable your users to use the functionality of modern applications through their mobile phones, on-the-go.
And what if you can build predictions and forecasts based on data and showcase it using powerful dashboards to stakeholders.
Modern, low-code tools have made it easy to create simple UI applications. With drag-and-drop features and limitless customization that low-code platforms offer, developers can create aesthetic UIs to deliver pixel-perfect application designs, at scale.
When migrating to microservice architecture, the best way to start is to break down the monolith into manageable chunks. The best approach would be to pick microservices out of the existing monolith one service at a time. Once the first service is up and running out of the monolith, this will give insights into how to create more microservices.
Once a service is taken out of the monolith, identify more uses cases that can be pulled out of the existing application. Identifiable services could range from managing new customer orders, self-service applications providing customer information to a new payment service, basically, those services that can be managed as separate microservices.
The whole point of selecting one microservice at a time is to measure value and improvement. When choosing a service to be migrated or modernized, it is best to choose a high-value service, or a service that requires frequent change but not delivered as frequently, or one that can demonstrate visible visual improvement to stakeholders. Before creating a baseline to measure the effectiveness of change, make sure you gather relevant numbers such as the number of releases, amount of delivery and delivery time.
What microservices provide is a software component model that helps to future-proof systems against the changing business needs. Microservices works best when multiple teams are working in coordination to run a complex network of systems that require evolving applications. When applications and systems become complex and large enough to be broken down into separate services adopting microservices architecture is beneficial.
Make Migration to Microservices Meaningful
Inspire Innovation and Confront Change
Monolithic legacy systems cannot be transformed overnight. To migrate from monolithic systems and efficiently create enterprise-class microservices, a low-code approach has proven to be the most effective. Low-code platforms provide the ability to develop custom software stacks, deploy API-driven microservices-based applications and orchestrate IT infrastructure effectively. In this app economy, using an ‘API-first’ strategy with microservices architecture works great because it enables enterprises to focus on delivering value and accelerating innovation on a massive scale.
Look at microservices through a macro lens to understand how enterprises can use modern approaches such as low-code to rapidly respond to evolving demands. With composable architecture based on microservices, APIs, reusable components and containerization, low-code platforms empower enterprises to rapidly develop and deploy modern and cloud-native applications with agility, scalability, and simplicity.
Migration to modern technology is a major change for many enterprises, technologically and culturally. What low-code platforms provide is a catalyst that change agents can use to showcase the value of microservices to other stakeholders. Because modernization of legacy systems and migration to modern technologies is going to be inevitable, eventually.
There is a new sense of urgency in modern enterprises, to drive mobility and agility, and to deliver more, faster. The expectation from modern-day application development revolves around delivering quick and agile releases, multi-channel applications, availability, and scalability.
The formula for quick release is quick development along with continuous integration and delivery. Quick releases = Quick development + CI/CD
Quick Development is where Low-Code Development vendors are providing superpowers to accelerate development and delivery. CI/CD challenges are already addressed to a great extent. Docker, Kubernetes on the cloud, and other CI tools can be configured with Jenkins to achieve integration and delivery. Considered to be a standard in the industry, most companies are already using CI tools and low-code to drive quick releases of applications with agility.
The underlying challenge is that majority of the vendors are BPM (Business Process Management) vendors who generate applications originally created for business users. As complete application development is not feasible without IT, BPM vendors are calling themselves low-code platforms. The applications they develop are an afterthought and are invariably reflected in the quality and maintainability of the application.
BPM modified solutions are not bendable
BPM tools primarily cater to BPM types of applications and other facilities are normally added as an afterthought. By using tools to quickly generate process-based applications, technical business users and citizen developers fall short of taking application development all the way. Typically standalone applications, core business applications, mobile applications, dashboards, API mashup applications, and chatbots are not optimized by the tools provided by BPM vendors.
The challenges professionals developers face when using BPM tools
Professional developers are a different breed compared to citizen developers. While business users can create intricate wireframe diagrams, not many are proficient in understanding the code that goes behind a single box in a diagram. The task of wiring code into wireframes can only be performed with the help of professional developers and their role typically involves (not limited to):
When using custom BPM tools, professional developers face several challenges. They are unable to follow the popular agile methodology in the same way. BPM tools typically use complicated and proprietary technology and are based on older UI technologies like JSP/JSF, making it difficult for professional developers to work with. Moreover, BPM applications are not normally based on modern, microservice architecture, making multi-channel delivery a challenge. Added to this, professional developers are unable to use their favorite IDE, which can be demotivating and constrictive to the value they would like to bring.
Supporting professional developers may seem to be an ordeal, although that’s a price worth paying for high-quality, enterprise application development. Fortunately, low-code tools have proven to take the load off professional developers by doing the heavy lifting and enabling them to deliver more with less.
Taking app development all the way. How low-code empowers professional developers
Rapid application development platforms are designed to provide a frictionless environment for professional developers to learn and evolve. Low-code platforms compared to BPM tools, help professional developers meet their expectations from the development process. Expectations such as:
Rapid Application Development and low-code Platforms help produce ready-to-deploy applications. Combining code generation features with an integrated development environment (IDE), low-code includes the entire application technology stack, UI, middle-tier, and back-end. Here are examples of how low-code platforms development provides accelerators for development and delivery instead of imposing new practices:
There is a change in the pace of enterprise demands and delivery. With a critical need for rapid application development, more often than not BPM vendors are mistaken for low-code platform providers. Choosing the right Low code Platform could ensure you empower professional developers to deliver more, deliver fast, and deliver better. Because enterprise application development is more than an afterthought.
Agility, scalability and stability, this is the essence of microservices architecture (MSA). For enterprises seeking scalability, for developers seeking application agility, and for change agents seeking support for digital transformation initiatives, MSA is a key enabler.
In the inevitable journey of modernization, what microservices architecture has provided is the agility and scalability needed to make continuous changes rapidly. When transforming monolithic systems, using microservices for one service at a time has made it possible to showcase the business benefits to a broader audience. MSA has proven to be a key enabler to pursue innovation and digital transformation initiatives.
Given the positive business impact, why are microservices positioned in the "trough of disillusionment" in the recently released Gartner Research on Hype Cycle for Application Architecture and Development, 2019? For one thing, because driven by the enthusiasm to adopt what's trending many have misinterpreted the essence of microservices which has eventually led to unsuccessful implementation.
To take microservices out of the "trough of disillusionment" and to not make the same mistakes made by other application leaders, consider the following aspects before you begin your journey of modernization.
Understand the essence before adopting microservices
The meaning of microservices has been mistaken by many application leaders. The essence of microservices revolves around continuous delivery, stability, and scalability. Applying the principles of service-oriented architecture (SOA), microservices emerge from domain-driven design (DDD) and DevOps. Each microservice is a loosely coupled yet independently scalable and deployable application service that has a single responsibility and focus on delivering one business task.
Any service smaller than monolithic systems does not make a microservice. What many consider microservices is in disguise "headless API SaaS" or pseudo-microservices. Several vendors also resort to "microservice washing" the services they offer. When building solutions, application leaders need to understand and clarify whether genuine microservices are considered and not versions of reusable or shared application components or a version of SOA.
Partition only relevant services
One of the benefits of microservices is agility. By partitioning every service as a microservice, the complexity increases and negates the benefits. Application leaders need to carefully decide which components can be put into services to ensure implementation is done in phases.
To get the most out of microservices, the multiple granularities of applications need to be identified. It would then be easier to decide which components can be partitioned as services. In this way, microservices can provide the granularity of services and the opportunity for better application development and release planning.
Consider the organizational and cultural changes required
Microservices architecture is complex and has disruptive organizational, technical and cultural impact. When the ownership of the entire lifecycle of an application or product is in the hands of developers, application leaders need to ensure the roles and responsibilities are defined and governance practices are established. The organization structure and cultural mindset have to be realigned to enable the successful adoption of this new approach to application development, deployment, and delivery.
Ensure teams are adequately trained
Microservices architecture is fast evolving and new patterns, design principles, concepts, and tools are introduced. With changes in the technology stack used, sharing of knowledge across teams must be encouraged. Developers, architects, and DevOps professionals need to be trained to use new software programs and application lifecycle management techniques. To empower development teams to innovate and deliver more, application leaders are using modern technologies such as low-code platforms to make full-stack development easier.
Improve agile development practices
The prerequisites of a microservices architecture are agile DevOps and continuous delivery practices. Before adopting microservices, enterprises must ensure they improve their agile development practices and methodologies. In digital transformation implementations, enterprise agility is a prerequisite. Rapid application development platforms are increasingly being used to improve agile practices because they leverage low-code technologies and use open standards-based technology stack to ensure digital transformation implementations are successful.
Application leaders need to first understand the essence, objectives, and applicability of microservices. Once this is clear, they need to implement microservices iteratively, one service at a time. One of the main reasons why microservices implementations fail is because application leaders have in the past adopted microservices without making changes (organizational, cultural, and technical). To transform enterprises and align them to the main goals of agility and scalability, change is inevitable. Successful microservices implementation requires commitment, discipline, in-depth understanding, and openness to venture into a steep learning curve. Application leaders need to use this formula and embrace change if they wish to move microservices out of the "trough of disillusionment".
As an application leader or change agent, we understand that an IT modernization initiative is not an easy feat. Continue reading to know how you can add the catalyst to change and to know how and where to start your journey of modernization when migrating from monolith to microservices architecture.
As soon as the wheels of modernization picked up speed, many new technologies filled up the IT space. Of them, Application Programming Interface or APIs emerged as a key element driving application modernization. APIs are a network of connections that allow systems, applications, and devices to talk to each other by sharing business functionalities; regardless of where it is located or what format they’re in.
With the API space evolving more rapidly than ever before, most executives now regard APIs as the lifeline of their enterprises.
In its report, ‘2019 State of API Integration Report’, Cloud Elements mention that 55% of businesses use APIs to generate revenue.
In fact, the Programmable Web directory accounts for over 22,000 public APIs now. Do you know what’s more surprising? These numbers are based on publicly available APIs and do not reflect any private or internal API growth at all, which outnumber the public total many times over.
The most important aspect of APIs is that they bring in standardization of interfaces in the development process. Developers get to work on structured and standardized APIs that are bound not to change their underlying behavior, irrespective of the technology or components used underneath. APIs also take care of hiding the complexity of underlying implementation, bringing in modularity and separation of concerns, which lets independent decoupled services be implemented and tested.
Consider this example - an app developer can write millions of lines of code spending a fortune to create applications with mapping capability. Or, he can import these capabilities from Google maps API, saving money and time and enjoying a faster time to market. At the same time, Google enjoys branding benefits as well as earns revenue from millions of developers using its public API. |
It is a term that describes the way APIs can positively affect an organization's profitability. In some organizations like Salesforce.com, APIs contribute to more than 50% of total revenue. There was a time when only software professionals knew about APIs. Today, C-level executives are aware of the financial impact that APIs can have, and companies are generating revenue by exposing APIs as business building blocks for third-party applications. This awareness is a result of the following trends highlighting the API economy:
Forrester predicts that, by 2020, companies will invest around $3 billion in API management.
This indicates the importance showered on API management. It highlights a very important fact that at the core of companies’ transformation strategy lies the user experience, and APIs play the meatier role of ensuring that these experiences are consistent among all the different channels of the company. The reason why APIs get the lion’s share of attention is that it enables quick deployment of apps in a repeatable way, leading to a faster pace of delivery. Additionally, APIs can reduce the cost of change and help enterprises achieve operational efficiencies.
APIs have made integration so simple that it is no longer an obstacle or a burden to venture into new business models in partnership with others. The simpler integration enables to the creation of business models based on third-party APIs. By using 3rd party APIs for all subsidiary services like user management, logging, dashboard, deployment, etc., IT developers can focus on adding new value propositions to the existing application related to the core offering of the enterprise. The focus of development is purely on the implementation of business logic and not on spending time implementing the skeletal structure of the app.
APIs make it easy to deliver extremely personalized experiences. Taking an API-driven approach to application development allows building products focused on each customer’s specific needs. In addition, API integrations ensure that all interactions run independently of devices or platforms from where the application is accessed. This keeps user experience consistent throughout their journey, enabling omnichannel strategies.
Apps developed using an API-driven development approach tend to be modular in nature, with every module representing a service (third-party or own). The main application itself seems to be a collection of these loosely coupled services or micro-apps. This app architecture is called microservices. This approach suits today’s enterprises having distributed hybrid cloud and multi-cloud IT infrastructures, but it is not without some challenges. The popular one is how to make all these loosely coupled services work together.
APIs play a big role in solving that complexity. Each of these micro-apps exposes standard APIs so that they can be consumed by other services, in other words, these micro apps talk to each other using APIs. One major benefit of this architecture is that each service can be scaled separately independent of the others. In traditional monolith app architecture, the entire app has to be scaled, though only a part of the app needs scaling.
In many cases, jumping into the API ship without a proper strategy can be counter-productive. It may result in a mess, with redundancies, poor maintenance practices, and limited transparency.
To make the app development process simpler, these two things should be considered:
Initially, APIs were considered intermediaries that integrated and exchanged data between multiple systems. Since mostly the IT department dealt with all things related to APIs, the category used to classify them was usually technical and non-intuitive. This made business stakeholders stay away from API design and prioritization.
But the picture is turning rosy now. Organizations are defining their API taxonomy in a way that can be easily understood by both business and technical users. Categorizing these APIs into those that directly serve the business and those that are technical enablers is the key to realizing the business value of APIs. A sound taxonomy can increase value realization by 25 to 50 percent.
It is necessary to list the right use cases for the APIs, based on your technology feasibility (back-end readiness, for example) and your business requirement before choosing a low-code platform. A good low-code platform enables both API publishing and consumption and has solid collaboration with the API Management platform as well. The following benefits can contribute a lot to business value:
Overcoming technical hurdles of APIs: Modern REST APIs, though simplified, are still quite technical in nature. There is still technology involved in understanding path versus query parameters, headers, auth headers, API key, etc. A smart low-code platform abstracts these complexities and provides you with a nice UI-based connector to work on.
Auto-generation of APIs - Some of the most common APIs that can be auto-generated can include the services from DB, external services, custom coded business logic, security services, etc. More advanced platforms can also APIfy the SQL queries and DB stored procedures allowing total control for the users.
Automatic conversion of SOAP to REST - APIs these days are mostly REST-based. But there still remain legacy SOAP-based APIs that the modern low-code platform can automatically convert into REST API endpoint for the app. This auto conversion is especially imperative in an enterprise setup, where legacy baggage is stifling. The automatic availability of REST APIs is a crucial factor in modernizing legacy apps.
Ease of design, testing, and sharing in APIs - In a connected app world, it is imperative that your own app should have easy ways to create, design, and share APIs. Inbuilt tools that can design your APIs (for eg, configure path parameters vs query parameters) with ease, test them (through an integrated testing sandbox), and then publish (private, public access) are important features in any modern low-code platforms. There should also be easy integration to publish these APIs into the enterprise API management platform so that it's instantly available to the API consumers within an enterprise.
With the proliferation of smart devices, we are heading towards a digital world where everything is connected through APIs. APIs have moved out of the technology bucket and have dived into the bigger picture of business strategy for enterprises. By choosing the right platform, organizations can unlock the true potential of APIs and accelerate their pathway to digital transformation.
Here’s a thought. Every minute, more than one person in the workplace is using an application to connect, communicate, or coordinate. More than one person is responding to emails from their smartphones, digitally updating a sales opportunity, virtually conducting a project meeting, or collaborating to update workflows and tasks.
Welcome to the hyper-connected workplace, a complex ecosystem where people, devices, and applications interact.
Be it an HR application, an instant messaging application, a task management tool, a virtual meeting, or a team coordination application, core business applications have become the lifeline of enterprise operations.
As enterprise applications become easier to develop, everyone in the workplace wants to develop an app for their specific business needs. An app to interact with other peers, to collaborate and share work, for leave management, IT support, project planning and management, content management, resource management, learning and development, the list could be endless. But what about the stamp of approval from IT? What about security and agility? Our Lines of Business (LoBs) working in silos?
When LoB units, with teams within teams, decide they need a software application to solve a business need, it leads to the development of innumerable enterprise applications.
While this system may solve individual business unit requirements, a need will arise to interact and connect, securely and seamlessly. With this hyper-connectivity comes the need for agility and security, and here’s where the technical challenge arises. The ground reality, however, is that LoB units within themselves and IT are working in silos, while in fact, they need to complement each other.
As digital businesses today need faster release cycles and agile development, ensuring tools, processes, and knowledge skills are established early in the development lifecycle is needed. To bridge silos and improve the performance of application development, a new approach of Agile Operations must be embraced.
Go beyond “Keeping the Lights On”. The core focus of LoB managers is on improving the quality and performance of applications. Maintaining the balance between “keeping the lights on” or reducing operational expenses and innovation will result in operational excellence and internal competency. Adopting an agile approach gives LoB leaders to streamline processes to achieve competency and optimize resources.
With agile development techniques, LoB and IT functions can be connected. IT is part of every business function. With more freedom for developers and LoB managers to develop applications independently, the bottleneck arises when it has to be vetted by the IT team for security and viability. To ensure better collaboration between IT and LoB, and accelerate project delivery, enterprises are embracing agile development practices.
A ‘not so secret ingredient to achieving agility is connecting people, devices, and applications seamlessly. Each line of business requires various types of applications specific to their business needs and as LoB applications store valuable data typically in legacy databases, integration with other systems is complicated.
Moreover, LoB apps are built by mainstream developers than business users. For them, innovation and code control are important factors in their development process. Here is where low-code platforms positively impact professional developers to build and maintain LoB applications. low-code platforms provide agility to LoB managers and team members by:
21st-century LoB leaders understand the importance of achieving agility. Low-code platforms empower professional LoB app developers to develop new apps to meet functional needs and bring LoB into the mainstream. In this hyper-connected workplace, low-code makes it possible to connect, communicate and coordinate, seamlessly.
The role of CIOs has evolved. With the emergence of the app economy, they need to adapt to a hyper-connected world, work with the next-gen, digital workforce, and adopt a strategic role.
To support the fact that the role of CIOs is changing, the 2019 ‘State of the CIO’ report by IDG states,
“67% of IT leaders are spending more time on business strategist activities to help drive innovation and nurture go-to-market plans.
Over the next 3 years, CIOs expect to not only retain but to expand their newly-established business strategist charter.
77% of CIOs are planning to devote time to activities like driving business innovation.”
What’s your level of involvement? How are you planning to drive business innovation? Where would you start your digital transformation journey? Take a look at our previous post which emphasizes that the best place to start would be at the core, which is IT.
To achieve digital transformation success, enterprise application development is emerging as an integral aspect. Get to know how you can drive digital transformation ROI using enterprise application development and low-code platforms.
Leveraging the Power of Low-Code
How rapid application development platforms help CIOs drive digital transformation ROI
In modern enterprise application development, ‘transformative technologies such as rapid application development platforms drive ROI by providing ready-made application infrastructure, full-stack development, improved usability with rich user interfaces, predefined best of the breed technology stack, API-driven integration, and business user participation.
By adopting low-code platforms and rapid application development, you can align teams and enable them to focus on innovation providing the necessary support to your digital transformation strategy and revenue-generation initiatives.
Low-code platforms provide the agility to create and deliver custom-built applications that revolve around user preferences, with a speed that resonates to demand. CIOs who utilize rapid application development to implement their DX strategy have a better opportunity to create custom enterprise apps that adapt to experiences rather than devices.
What rapid application development platforms offer that traditional IT development doesn’t is ‘inward-facing agility with intra-departmental APIs. By supporting the development and delivery of custom LOB apps efficiently and on time, low-code platforms ensure enterprise agility.
As traditional software runs out of steam, enterprises can transition IT infrastructure to app modernization using low-code development. With rapid app development and agile integration, CIOs can support the digitally-empowered workforce in a cost-effective and efficient manner.
To realize ROI on modernization and transformation, CIOs need to ensure a culture of innovation, where creativity and productivity are instilled. They have to be committed, involved and encourage technology enthusiasts to work on emerging technologies.
CIO’s ‘Not-so-Secret’ Approach to Digital Transformation Success
Business transformation is all-encompassing, it affects everyone, involves everyone, and requires strategic alignment between processes, people, technology, and culture. There is a ‘not-so-secret approach to digital transformation success. It's the innovation philosophy of design thinking. More than ever before, CIOs are leveraging design thinking (observing and analyzing user behavior to gain insights) when devising IT development strategies. This, however, will be covered intensively in another article.
As a tip-off, there are several sides of digital transformation you need to consider:
Many questions need to be answered, several strategies need to be made, different demands need to be met, now. As they say “take your time but hurry up”, because digital transformation demands velocity!
With transformation comes change
With change comes making choices
With choosing comes responsibility
Make it count!
Digital transformation (DX). Everyone is talking about it and wants to get on the bandwagon. Take for example Razer’s story. As far as transforming a modern workplace and collaboration goes, it's considered a phenomenon. By supporting teamwork, rapid communications, and real-time collaboration using intelligent technology solutions, Razer has gained a competitive edge in the multibillion-dollar gaming industry.
You can observe a similar story at Virgin Atlantic, where they aim to develop apps quickly and easily to empower employees with tools and information to help field workers get a better view of customers and deliver better service.
Digital transformation comes in all shapes and sizes. It is all-encompassing and can have different connotations for different stakeholders. How do you interpret it? Does digital transformation for you mean the same for your peers? A CIO may translate it as improving operational efficiency, while it may mean augmenting customer engagement for a CMO.
What does digital transformation actually mean for you and your enterprise?
While every enterprise wants to modernize and transform, not everyone is successful in digital transformation. What it requires is commitment and involvement, enterprise-wide.
According to the CIO’s 2019 State of the CIO Survey, “88% of CIOs say that they are more involved in leading digital transformation initiatives compared to their business counterparts.” In the ‘2018-2019 State of Digital Transformation Report’ by Altimeter, “CIOs are cited as the most typical official owners or sponsors of transformation initiatives.”
Executive Ownership of Digital Transformation
As business modernization and transformation continues to mature, CIOs are required to have a stronger presence in revenue-generating initiatives and in areas they have not delved before. What’s your level of involvement? Are you skin-deep or knee-deep in digital transformation? When revenue and ROI become the name of the game and as you wade into uncharted waters, where do you begin, what’s your first step?
The Crucial Kick-Off In Your Digital Transformation Journey
Make the first step count!
In your digital transformation journey, the best starting point would be the core. And the core of digital transformation is IT.
As ‘application organizations’ are constantly evolving to adapt to the hybrid world and the digital workforce, IT is expected to not only modernize technology but also deliver business value, augment user experience (UX) and achieve core innovation.
Enterprise application development is emerging as an integral requisite to achieving digital transformation success. Rapid Application Development platforms are gaining sway by empowering IT, providing the bandwidth to focus on core innovation, advancing time-to-market strategies, and helping to achieve competitive differentiation.
How can you drive digital transformation ROI using enterprise application development and low-code platforms? Continue reading our next post to find out more.
"By 2022, skills required to perform most jobs will have shifted significantly and no less than 54% of all employees will require significant upskilling", according to the World Economic Forum, Future of Jobs 2018 Report.
Not all Java development teams have upskilled to stay relevant. Java developers, once valued, are finding themselves challenged and in a way, dispensable. New programming languages, development tools, and delivery platforms are being introduced every week.
Modern enterprises need to innovate and deliver faster in order to remain competitive. With all the buzz around multi-channel delivery, ultra-rapid development cycles, fab front-ends, microservices, and cloud nativity, traditional Java development teams need to learn new skills, new vocabulary, and adopt new approaches to enterprise app development. The skills mismatch combined with rapid delivery demands has put immense pressure on Java development teams.
Here’s how existing Java development teams can become full-stack developers using low-code, rapid application development platforms.
What normally requires 10 developers can be done with 4
Traditional Java development teams require developers with specific skill sets at different stages in the application development lifecycle. To simplify the application development process and to address the shortage of skilled developers, here's how rapid application development platforms help:
Embracing new technology need not necessarily mean a radical transformation. It is about upgrading existing skills to keep up with changes in the industry. Find out how the ‘Survival, Revival and Arrival of Java Developers’ will depend on how they can upskill to full-stack developers using the right tools such as rapid application development platforms. Download this Whitepaper
When we talk about an agile enterprise, we usually refer to its ability to organize and make the best use of its available resources to deliver projects on time. Factors like this and then some more – being able to make quick deployment of the right people to the project, establishing governance practices that allow quick decision making, and standardizing key processes – lead to an increase in agility and performance of an enterprise.
Some may ask whether enterprise agility is the same as digital transformation. The answer is no. Digital transformation deals with the ‘how to deliver’ aspect of a business strategy, adapting your business offering to cater to the digitally savvy customer and omnichannel customer engagement. Enterprise agility deals with the nuts and bolts of this adaptive ability. It is more technical in nature dealing with the whole life cycle of application development, including intra-departmental APIs, rapid app building platforms, cloud technology and collaborative microapps.
The traditionally accepted waterfall model of app development required each stage of the development process to be completed fully before the next phase can start. Reviewing and documentation take place at the end of each phase to figure out whether the project is moving along the right path and whether to continue or discard it. Software testing in case of waterfall method takes place only after the development process is complete. This method has its limitations as user expectation might change even when the developer is working on the UI screens and server APIs. This means discarding the entire application and starting all over again. Beside this, there are other disadvantages of the waterfall method –
Though it has certain shortcomings, the waterfall model is sometimes beneficial for the limited functionality of small budget apps. But when it comes to enterprise and consumer mobile apps, this model fails to meet cost and time to market expectations. This is where agile methodologies make its mark. It breaks down the application development process into small steps, while at the same time integrating review, documentation and testing at each step. It takes an iterative approach to application building which is streamlined and flexible, allowing for changes to be made on an as needed basis.
In the run to compete in the market, every organization is trying to become faster and better in what they are doing. No matter how efficient they are, it is always difficult to determine what changes to make to create the maximum impact in the market. One way to determine the agility of your organization is to look at the software development lifecycle. Let us look at the phases that constitute an app’s lifecycle –
With time, new and emerging trends in enterprise application started impacting application development in a big way. Ease of usability and responsive design became the norm of the day. Technology today is more consumer oriented to increase accessibility and ease of operation for users of enterprise applications. Catering to this requirement, applications today are hosted, developed, and customized on the cloud. Traditional methods of building software applications failed to meet these demands, not just for web applications but for mobile applications as well.
Low-code development emerged as an easy answer for successfully delivering applications and improve business agility. It enables development teams to rapidly develop, test, and deploy applications with little to no hand-coding. This process makes use of declarative approaches specifying the actions of the desired application which the platform then creates or renders. It follows an iterative process where customers are involved at each phase of development. Changes are incorporated immediately, making the process much faster.
Let’s look at how low-code addresses app development across its lifecycle –
Low-code platforms have modernized the way enterprises build, deliver and manage web and mobile applications, improving business agility and fostering innovation. The benefits have a direct bearing on the cost and schedule of enterprise application delivery.
The agile development approach to building application encourages the team to deliver the project within the deadline, resulting in earlier market reach. It contrasts the waterfall model’s lack of flexibility and its linear stages to software development.
The agile model focuses on customer collaboration, continuous delivery, constant feedback and communication between developers, customers and users while delivering software incrementally. Agile can work wonders for app development, provided you know how to make agile work for your business needs.
Originally published in The Tech Portal
In the SaaS world, branching out to a platform business is fairly common. It’s not a surprising move anymore, given the huge benefits of owning the building blocks of other businesses, as we talked about in the first article of this series. Since building a thriving platform ecosystem doesn’t happen overnight, in this follow-on piece we’ll explore the steps for implementation.
In this era of digital platforms, there is no limit to the number of customers you can reach out to. McKinsey noted recently that "companies pursuing offensive platform strategies yield a better payoff in both revenue and growth". Looking at this, one might think the sky's the limit for digital natives having an army of tech-savvy professionals. But this might be generalizing a bit. Incumbents can command a 20 percent share of digitizing markets, compared to only 5 percent for digital natives. But only 3 percent of incumbents have adopted an offensive platform strategy.
Though adoption is low, a growing phenomenon indicates that companies are transitioning from a product-based to a platform-based business model. Technology is at the core of this transition. Cell phones, which were once just typical products, have now become platforms offering a plethora of functions besides only making telephone calls. This is bringing subscribers together with application developers.
According to Harvard Business School, a successful platform strategy involves three components -
Example of a product organization supporting multiple products sharing components of the same platform - by Wyatt Jenkins
If you are considering branching out to a platform business model, the following steps may help in your implementation approach -
Shifting from a product mindset to a platform mindset can be downright counterintuitive—indeed, many firms discovered new platform opportunities almost by accident and in spite of their own missteps. But, like many transformational strategic moves, the successful transition from product to platform should happen in stages that demand flexibility. Platforms are at the core of the successful businesses of the future. By adopting platform thinking and new technology, any business can evolve to join the platform economy.
Building something valuable isn’t a one time process anymore, it is a continuous process and requires you to enable a network of people both inside and outside your company with the right building blocks
What’s common between Facebook, Twitter, Amazon, Airbnb, Uber and Apple? Of course, leave aside the success part! They all conduct their business on a scalable online platform that connects producers and consumers. They create value by facilitating exchanges between two or more interdependent groups bringing in tailored products to the market faster and with less investment. By using the platform model, these companies have grown in leaps and bounds to grab greater market share from well-established firms.
The difference between platforms and traditional business models lies in the way they create value. With producers at one end and consumers on the other, the latter model transfers value along a linear pipeline. The platform model creates value by connecting producers, consumers, and the platform itself. Platform companies have now become the major drivers of innovation as they are setting the standards for digital transformation. As platforms have become the new normal in how leaders are conducting business, enterprises must make the most out of this opportunity.
Enterprises can bring their core value unit to the platform and customers can extend the product by adding features relevant to their business
Go figure!
A 2016 survey by Accenture says, "81% of executives say platform-based business models will be core to their growth strategy within three years". Let’s look at some figures to find out how much popularity platform business has gathered in the business-to-consumer (B2C) context. Almost 80% of China’s e-commerce market is controlled by Alibaba. WeChat messaging platform by Tencent, Asia’s most valuable company, has nearly 850 million users and according to some estimates is the largest gaming company in the world. In the early 2010s, BlackBerry Limited (formerly RIM) and Nokia lost huge market share to Apple and Google because they were acting as product companies in a world speedily embracing platforms.
We’re not even fighting with the right weapons, ... The battle of devices has now become a war of ecosystems
This is spurring the investors to put in more money into platform business than in their linear counterparts. The S&P 500 shows platform businesses have an average revenue multiple of 8.9 while for linear businesses, it’s two to four times more revenue on average.
Platform business is also making a lot of noise in the business-to-business (B2B) world. PingAn, an insurance company in China, is an example of how a traditional corporation transformed its business model. Reframing itself as a technology company, PingAn created a portfolio of platform businesses related to insurance in different verticals - connecting doctors and patients in healthcare; purchasing and selling cars in automotive and even in the entertainment industry. Five years into this transformation, PingAn is now the world’s most valuable insurance company.
Let’s loop in South Africa as well. Naspers, a 100-year-old company printing newspapers, transformed itself into a platform company in five years, built global online classified business OLX and acquired food delivery startup Delivery, Hero.
Why are established companies conducting business in traditional ways thinking of disrupting their operations and going bonkers about platforms as a business? These benefits of offering a platform over a product might make for a strong case –
At times, when there is increasing pressure to build and market something new, a product platform strategy can be the perfect solution. This is because a healthy network of producers will allow the platform owner to reach out to more customers and have a flourishing business. This network becomes more valuable when the platform fosters distributed innovation and each player can grow faster than they would on their own.
Most organizations implemented low-code tools to speed up the application development process. From $4.32 billion in 2017, the low-code development platform market size is expected to grow to $27.23 billion by 2022. This technology is gaining popularity, not only as a means to transform legacy applications, but also for building customer-centric mobile and web applications.
The ability of low-code platforms to speed up the process of application delivery and deployment enabled enterprises to respond in time to demands for business software. It caught the attention of professional developers when they used it to build complex applications with multiple functionalities used across the enterprise and not just for one department. Add to that, access to cloud services via self-service interfaces compelled AD&D leaders to adopt low-code platforms to innovate and deliver.
The idea behind adopting low-code platform is to use a minimum of coding and more visual modules to build applications, whether for user experience or data modeling purposes. According to a Forrester survey, large enterprises are among the biggest adopters of low-code platforms. This has helped to quell the doubts of developers who believed low-code platforms are not meant for building large scale complex application. Using low-code tools, developers found that they can create applications that once took months.
Yet in cases with no proper governance in place, it can become a technical burden for the company as the cost of maintaining such applications can escalate when using closed low-code platforms.
Before putting any governance in place, it is important to know who the prime users of low-code platforms in an enterprise are. Primarily, professional developers, dependent on coding, are the first-level users of these platforms. They have an intimate understanding of application design, performance, maintainability, and reliability. Then comes business experts or citizen developers who also contribute to building applications by bringing in the knowledge of what the market needs are and how the application can best serve those needs. Depending on who is working on the platform, a sort of control mechanism can be established to ensure that users can get the most out of these applications.
No-code platforms have a strong appeal for non-technical users. They can rapidly create a business application using the visual tools of the platform without writing any code. In a few years, there will be thousands of such apps performing even mission-critical tasks. Completely independent of IT intervention, it will soon become another instance of Shadow IT. Although these shadow apps improve productivity in the short run, it may compromise IT security in the long run as they are not protected with firewalls and security systems. Also, when these shadow apps fail to deliver certain functions, the cost of rebuilding them using technology approved by the IT often increases the cost to the organization. It may also need to hire external developers who can implement applications in accordance to their IT policies.
When shadow IT is becoming the alternative to traditional ways of delivering applications, it becomes a monumental task to do away with it. But there are ways to realize the benefits of these shadow apps built with tools like low-code platforms, without compromising on IT security and governance. Open-standards-based low-code platforms are widely available and conform to the guidelines of IT security, enabling developers to build customized applications according to their business needs. Using proven rapid application development platforms, shadow apps can be liberated from proprietary technologies that often becomes a roadblock to innovation.
To mitigate the risk of shadow IT, developers want to work on secured platforms that help them build custom applications with minimal coding and in less time. Whether working on a large project or many small projects, enterprises rely on a global team of developers. These developers have varied levels of skills and roles to play. Platforms with comprehensive role-based access control features will allow enterprise application development teams to collaborate better and create applications faster without the risk of project governance issues. It is based on the principle of allowing the least level of access to perform tasks with full efficiency.
Today’s government regulations like the Health Insurance Portability and Accountability Act (HIPAA) or European Union General Data Protection Regulation (GDPR) place strict requirements on enterprise databases and their use. Keeping this in mind, logging data changes in a database has become a common requirement of enterprise applications. This involves additional effort during the application development process. Instead, an in-built functionality for data auditing will allow developers to concentrate more on the business logic than handling history logging needs. Platforms that enable seamless integration of such functionalities into applications will automatically become the preferred choice of enterprises to meet compliance needs.
Rules, standards, and governance help to not only decide what apps are to be created but also how they will be written. Good governance policy is one of the secrets to successful low-code implementation. In the absence of it, an enterprise may end up with thousands of low-code applications in dire need of IT intervention.
Originally published by Rooplekha Poddar in DZone.com
Being in the market of application development for almost a decade, my team at WaveMaker has been through some of the big shifts in the application market. In my opinion, one such shift is the magnitude by which IT budgets have been slashed over the years. Although this could be due to many reasons, what is important is that this budget cut has caused a demand growth for low-code platforms, whose promise is to churn out applications faster and in an economical manner. Besides WaveMaker, companies like Outsystems, Mendix, Appian started catering to this market, but I believe there is still more value to be created and open-low-code platforms will be driving it.
A major portion of IT budgets goes into the development and maintenance of core enterprise applications. This includes LoB apps and apps with emerging cloud-native architecture which is built by mainstream developers and not business users. What I have seen is that for developers, code control and innovation are very important. We thought for low-code to be more valuable to developers, it should have an impact on how mainstream developers build and maintain applications. Open low-code platforms do just that.
Let’s understand how open low-code addresses both the productivity needs and key concerns of an enterprise as we have seen.
Open low-code platforms, to a large extent, aim to address the pain points of developers trying to build mainstream enterprise applications. It can fulfill both the productivity needs of the developers as well as their key concerns around modern best practices for application development, integration, and delivery. With such platforms, businesses can be sure of better adoption amongst developers and thereby ensure a faster release cycle of quality applications without straining the IT budget.
Rapid Application Development (RAD), also termed low-code development, is a visual approach to creating apps that enable greater developer efficiency. However, what started as technology to help the masses address the speed of basic development has since matured so RAD definition is changing.
RAD platforms started out as tools for citizen developers without substantial technical knowledge of coding, who could use intuitive “out of the box” features to create applications suited for simple departmental and experimental needs. While these early RAD platforms (not this "rad") brought basic coding capabilities to the masses, the applications created were short-lived and unable to evolve and scale with changing business needs. To address this gap in enterprise IT, RAD technology transformed to meet the needs of developers looking to efficiently undertake more sophisticated legacy app modernization projects, end-user customer experience updates, and long-term digital transformations.
Gone are the days of non-responsive front-end technology, cumbersome integration approaches, and non-standards-based widget and page development. The RAD platforms of today are far more nimble – they’re capable of leveraging millions of APIs and the most advanced open-standards-based technology stacks while maintaining enterprise-grade security and end user experience. As a result, IT teams can tap into these functionalities to execute large-scale digital transformation and modernization projects faster than ever before. The technology enables a higher degree of coding intermixed with visual development, facilitating the creation of long-standing and flexible enterprise-grade applications (see Figure 1).
While there’s no question that low-code platforms have transformed over time to become the advanced, high-impact digital tools of today, the enterprise IT environment continues to evolve as user expectations and preferences shift over time. This dynamic begs the following question: where is RAD headed next?
The future of RAD platforms
Increased usage – As technology further matures and encompasses professional developers’ needs, RAD technology will become the de-facto productivity platform for professional developers executing long-lasting enterprise IT modernization and digital transformation projects.
Enhanced enterprise-grade applications – Over time, professional developers will continue to push the boundaries of RAD as they bring best practices in app development, deployment, and DevOps from their vast experiences into every stage of the application lifecycle. Enhancements will span a range of capabilities, including cloud deployment, real-time integration, and increased developer collaboration.
A central hub for app development via integrations – With increasing API adoption and service consumption, RAD platforms will continue to become the central hub for application development via lightweight integrations to external services. The integration model will redefine the user experience and will serve a specific use case. Examples of such integrations include RPA, BPM, cloud services, SaaS services, IoT, AI, analytics, etc.
Emphasized digital experiences – The customer/user experience will only grow more important as enterprises compete digitally. As a result, RAD platforms will increasingly cater to building highly user-centric digital experiences with clear customer touchpoints.
Long-lived applications – With serious professional enterprise application developers using flexible RAD processes, the future will hold increased development of mainstream business applications that prevail for many years (long-lived applications) and continually serve organizational needs.
RAD platforms have come a long way since their inception, and time will tell exactly how citizen and professional developers will leverage this approach in the future. Regardless, the IT community can count on the fact that as enterprises’ digital needs continue to develop, RAD platforms will continue to be a high-impact tool for modernizing years of legacy applications and creating digitally agile business infrastructures.
Originally published by Vijay Pullur, CEO WaveMaker, in App Developer Magazine.
Rapid Application Development (RAD) or low-code development is a dynamic approach to creating applications that minimize hand-coding to increase developer productivity. At first, low-code technology grew out of the needs of citizen developers with little coding knowledge to create basic applications using intuitive "out of the box" features - but over time, the technology has matured drastically to suit the nuanced and complex needs of IT professionals.
Today's low-code technology features advanced open-standards-based approaches, comprehensive API capabilities, enterprise-grade security measures, and more to help developers execute on sophisticated digital transformation and modernization projects efficiently. However, the evolution of low-code technology is far from over. In fact, I predict that the low-code space will continue to grow in the following ways in the year ahead:
1. Increased usage - Low-code technology enables a higher degree of nuanced coding intermixed with intuitive visual development, allowing developers to efficiently create high-quality and specific enterprise-grade applications. As more and more enterprise IT teams recognize the ways in which this type of development process can free up internal resource constraints, low-code technology will become the de-facto productivity platform for professional developers.
2. Enhanced enterprise-
3. Central hub for app development via integrations - With increasing API adoption and service consumption, low-code platforms will become even more of a central hub for application development. The current model of enabling streamlined integrations to external services will open the door to an even wider range of use cases - including RPA, BPM, SaaS IoT, AI, and analytics integrations.
4. Emphasized digital experiences - The customer/user experience will only grow more important as enterprises go head-to-head in a progressively competitive digital environment. As a result, RAD technology will increasingly cater toward building highly user-centric digital experiences with clear customer touchpoints where feedback can be provided quickly and easily from any device, channel, or location.
5. Longer-lived applications - The flexibility of low-code technology will contribute to a future in which most mainstream business applications are built to be long-lived and capable of adjusting and scaling alongside changing business objectives. Previously, factors like cumbersome integration approaches would result in the creation of "locked in" applications incapable of change over time - which is both inefficient and costly.
There's no question that low-code technology will continue to be a high-impact tool for CIOs and developers looking to tackle big enterprise IT projects more efficiently and flexibly in 2019 - and beyond.
Originally published by Vijay Pullur, CEO WaveMaker, in VMblog.com
Forrester’s Now Tech: Rapid App Delivery, Q1 2019 is out and has recognized WaveMaker as a Rapid App Delivery provider, whose primary functionality segment is in low-code for application development and delivery pros. The report, prepared by Forrester analysts John R. Rymer and Rob Koplowitz, focuses on vendors who produce digital process automation solutions for wide deployments (DPA-wide) and low-code development platforms. It is a ready reckoner for CTOs and all application development and delivery professionals.
Forrester has tried to strategically analyze and segment the rapid application delivery market, thereby giving much-needed clarity to an already crowded market. The analysts analyzed the RAD vendors based on market presence and functionality. The report also lists all the main vendors under each category to help enterprises align their needs to individual vendor solutions.
The market presence is a straightforward classification into large, midsize & small on the basis of estimated or reported revenue. More importantly, the Forrester research team divided the RAD market into the following three categories based on functionality:
In WaveMaker’s view, Low-code Application Development & Delivery platforms are best suited for enterprise IT teams, which are trying to solve multiple use cases by developing complex applications. These platforms can be used to customize and modernize apps, including user experience-focused customer-facing applications, and also have basic process automation capabilities. Such platforms also provide a variety of integration options, advanced data management capabilities, and a broad partner ecosystem. Hence, low-code platforms for AD&D professionals are essentially seen as an alternative to traditional programming-led application development.
Low-code for Business Developers platforms empowers business people to deliver applications with a single/few use cases and without complex customization needs. Hence, these platforms exhibit features such as business reporting, data management, and advanced process automation capabilities.
DPA-wide platforms is a newly identified platform segment by Forrester which combines the ability to automate a wide range of processes with minimal low-code capabilities. Such platforms have advanced content management capabilities along with supporting integration and partner ecosystems.
WaveMaker’s product vision has always been to create the most advanced & open low-code platform for enterprise IT, enabling them to create modern complex applications. WaveMaker provides advanced tools for AD&D professionals with a variety of integration options, advanced data management capabilities, and a long list of business & technical partners. WaveMaker, with its presence in all major geographies including North America, Europe, Asia-Pacific also caters to all major industry verticals like financial services, manufacturing, and retail.
In WaveMaker’s view, we have rightly been cited by Forrester in the Low-code for Application Development & Delivery segment.
To access Forrester’s Rapid App Delivery Report 2019 full version, Click here:
(payment or subscription required for access).
Low-code application development can be described as a visual orchestration of application components with the underlying code generated in the background. Sometimes the developers might want to extend and maintain this code. They might want to work on a local machine text editor, make changes and import these changes back into the application. Or they might also want to work on an Integrated Development Environment (IDE) of their choice and comfort and take advantage of its Java code editing, testing and debugging features. Professional developers will need to build apps fast, but that doesn’t mean they should compromise on the code control. WaveMaker has addressed this need with its new IDE synchronization feature.
WaveMaker 10’s IDE sync feature offers a unique development experience where programmers can mix and match custom code written in their favorite IDEs, like Eclipse or IntelliJ, with low-code platform components. The Studio WorkSpace Sync Plugin is basically a Maven plugin, which provides seamless syncing of project changes between WaveMaker and the developer’s IDE. Rather than having to export and re-import projects between platforms, the plugin provides a direct communication channel where changes can be instantly pushed between WaveMaker and an IDE. This also eliminates the need to copy and paste code, a time-intensive, tedious, and error-prone method that can slow down the whole development process and hamper productivity.
After a one-time setup configuration, developers can leverage the Studio WorkSpace Sync Plugin in the following ways:
Enhanced IDE support ensures that what you build with WaveMaker is ‘debug-edit-extend’ ready with your choice of IDE. This way, WaveMaker 10 provides sophisticated, granular customization capabilities to enterprise application development teams without sacrificing the speed of low-code development. The new capability further streamlines the app coding process for developers, allowing them to easily synchronize WaveMaker’s open-standards platform with various integrated development environments (IDEs).
Introducing WaveMaker 10
Studio WorkSpace Sync Plugin is a new feature in WaveMaker 10. Learn more.
You're a dev, so low-code platforms are useless. Wrong! Read on to find out why.
Everyone seems to be talking about low-code nowadays. Low-code app development platforms are already taking the IT world by storm. Moreover, the idea of being able to swiftly develop applications with minimal coding is appealing in itself. It has been aiding app modernization in all business verticals. But, with popularity, comes various perceptions and misconceptions. It is necessary to separate facts from myths in order to know the true capabilities of low-code app development platforms.
In forums and other channels, a lot of questions come in to get a better idea of what low-code is all about. Here is a list of popular low-code myths and some arguments to debunk them:
So, which category can use low-code development platforms? The answer is all of these. All three categories can use low-code platforms but the functionality and complexity of the applications developed will vary. Using a low-code platform, citizen developers can develop very simple applications that can offer basic functionalities. Power builders can build applications with more functionalities than that offered by citizen developers. Professional developers, on the other hand, can deliver complex applications with multiple functionalities and automation processes. A low-code platform lets a professional developer build application swiftly by reducing the amount of manual coding required. In short, a low-code platform enhances the capabilities of all types of developers by letting them do more than what they are capable of in app development.
Now that the truth about these myths is finally out, businesses can leverage low-code app development platforms to develop future-proof applications and scale. But, while looking for a suitable low-code platform, make sure you avoid some major pitfalls that can prove to be disastrous for your business.
Originally published byDzone
inThis article provides the much needed checklist for CIOs, to assess the digital-readiness of their enterprises.
The goal of nearly every enterprise – regardless of industry focus or vertical – is to position its products and services to reach the masses as quickly and efficiently as possible. But to do so in today’s modern business environment, an enterprise must operate as a digital business.
Embodying a modern digital business requires that CIOs make a conscious and strategic effort to ensure they’re providing the newest experiences, offerings, and business models that users are looking for – or risk losing out to the competition. At its core, this objective hinges on enterprise CIOs’ ability to maintain IT infrastructure that can nimbly evolve and scale with the ever-changing digital environment.
Here is a checklist of the top features that define modern digital-ready enterprises to help CIOs quickly assess whether they’re meeting the mark – and form a tangible plan for modernisation if not.
When assessing digital readiness, the first factor a CIO must evaluate is IT team structure. Are various IT environments unified, or do different subgroups have their own processes, technologies, and objectives? If the latter, CIOs will face a larger challenge managing resources, skills, and objectives across the enterprise – which is a threat to innovation, agility, and scalability. IT teams with distinct and isolated islands of technical knowledge will not be able to quickly execute on the projects needed to achieve modern digital-readiness.
The client experience is critical to the success of a modern enterprise, and customer demands are more fast-moving than ever before due to factors like mobile technology, automation, and machine learning. As a result, an enterprise’s customer and user experiences must be visually appealing as well as fully responsive so individuals can make contact with the firm quickly and intuitively from any channel, device, or location. Rapid access to this feedback and engagement is a key part of refining technical and operational business processes from the CIO perspective – so it’s important that the digital customer journey includes well-defined touchpoints across multiple channels to facilitate client responsiveness.
Being a modern digital enterprise requires having a software infrastructure that is capable of scaling with growing business demands. In many cases, achieving the level of speed and agility needed to remain competitive can be addressed through the adoption of cloud-native software, which is designed to harness the efficiency of cloud computing delivery models. CIOs that have not yet implemented cloud-native technology are forfeiting numerous benefits, including flexible application development, faster-acting IT systems, and reduced operating costs.
Cloud functionality and continuous delivery capabilities go hand in hand. Implementing continuous delivery models allows CIOs to create a strong feedback loop between the business and its customers by enabling software updates to be built, tested, and released rapidly at the touch of a button without affecting usage. Enterprises that employ a continuous delivery model to optimise their IT investments will have an edge on overall organizational performance as compared to the ones that that are not able to deliver their value as quickly and reliably to end-users.
Maintaining a digital-ready IT infrastructure also requires assessing the connectivity of systems used with the enterprise. The typical business leverages a wide range of systems – including internal enterprise systems, external tools the firm has adopted (like a CRM), and hybrid applications that the enterprise is developing. Do these three buckets of systems interact to share data in an integrated manner? A lack of streamlined connectivity can paralyse an enterprise’s ability to respond to changing user demands from an IT infrastructure perspective.
Attaining the above checklist items is all part of maturing as a digital enterprise and investing in the long-term viability of IT infrastructure. However, a final component of a holistic digital-readiness checklist is assessing whether CIOs have a plan in place for closing any gaps in modernized capabilities. If an enterprise isn’t quite hitting the mark, there are many system integrators, low-code platforms, and industry specialists firms can tap into to maintain a modern IT environment capable of agile growth and scale without disrupting the productivity.
Originally published by Vijay Pullur, CEO WaveMaker, in Enterprise-CIO.com