Categories
Blog

Low-code is high on learning: A developer’s perspective

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:

  1. 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.

  1. 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.

  1. 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.

coding platform for beginners coding platform developer tools low-code products with developer license low-code future
  1. 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.

Author’s Bio

Sagar Vemala has been with WaveMaker since 2015 and has implemented several customer projects as part of the professional services team.sagar vemala 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

Categories
Blog

Customers don’t love banks. They love banking apps.

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?

  • Intuitive interfaces
    Clean and intuitive interfaces that keep screens simple but engaging to use, top-grade UI widgets that help create this clean look should be integrated into the low-code platform that aids this kind of interaction. WaveMaker has a plethora of widgets with diverse themes and styles that can be further customized per customer needs.
  • Account information at a glance
    Accessing account information need not be a cumbersome process involving multiple authentications. Modern banking applications allow their customers to view their account information with just Touch ID or Face ID without having to log in using a password. WaveMaker allows developers to interface with external biometric components by providing customized abstractions over the APIs.
  • Corporate and Personal bank accounts management
    A single app should be able to handle multiple associated accounts, link to third-party offers, offer rewards like cash backs, and provide intelligent and relevant offers. The WaveMaker platform allows the creation of prefabs or reusable software components customized to the banks’ requirements that can be easily composed together to bring in value addition to the application.
  • Virtual smart cards management
    Physical credit cards are passe. Virtual cards are in. Modern banking apps allow the creation of virtual cards within the application within minutes. Customers can transfer funds in and out of the cards and perform transactions all within the context of the application. Virtual card management prefabs within the WaveMaker platform allow developers to just pull in the prefab and customize it according to their requirements with just a few changes.
  • Visualization of data
    Customers should be able to see their information in one place. It is not just what information they see but what inferences that they can draw–spend analysis, expense management, ways to improve credit score–a real-time visual dashboard. WaveMaker facilitates these visualizations where developers can access data from all modern data sources and integrate them with relevant UI abstractions with just a few steps.
  • And……….
    Interlinked payment gateways, QR code scanners, OCRs, loan applications made easy, instant digital KYC, added conditional authentication, currency converters, instant loans, multi-device support, mobile photo bills, wearables and so on.

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. 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:

  • One that Wavemaker has an exhaustive repository of reusable components (also an evolving list of customizable banking components)
  • Two, WaveMaker is an API-first development platform that allows the integration of third-party components easily

WaveMaker allows seamless collaboration of ecosystem partners with ease–the foundation of a composable 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!

*Watch this space for our next article on our banking software components

Categories
Insights

Low-code development and BaaS APIs: is this embedded finance’s hockey stick moment?

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:

  • Talent wars in a field of wider opportunities as business lines blur and career options abound for software developers.
  • Walking the fine line between investing to build a truly high-quality product that customers will love, yet balancing cash burn and ROI.
  • Navigate a web of technology choices for every aspect of the tech stack, including most importantly, the BaaS vendor stack itself.
  • Be prepared to execute quickly – and pivot on a dime – to get ahead of the market in an extremely competitive, dynamic, and fast-paced environment.

A breed of developer-friendly, open, API-driven, modern, enterprise-grade low-code platforms could be the answer. Here is how:

  • Serious B2C and B2B2C digital experiences at the speed of change – delivered using visual full-stack development with pre-existing widgets, themes, styles, and layouts – while still playing well with existing assets, best practices, and architectural choices.
  • Significantly cut development (specifically UI) cost by reuse – Lego-like composable experience development by dragging and dropping custom-built, rich multi-API widgets – “prefabs” – that combine powerful functionality, pixel-perfect UI, and data.
  • Democratized and collaborative development – Citizen developers build out experiences based on user journeys and hand them to pros to make apps “enterprise-compliant”; or in a B2B2C context, expert developers build out the core app which is then extended and customized by less-skilled professional services teams.
  • Deliver on tough innovation problems – convert teams to full-stack development, become agnostic to tech stack changes, handle custom UI demands through app lifecycle, move B2B customers to a self-serve model, and more.
  • Peace of mind guaranteed – apps built are performant and secure, the tech stack is modern and future-proof, deploy anywhere without lock-in, generated code is “real” code that can be exported and extended (as an insurance policy), easily available, low-cost skills for writing custom extensions, no price tag for scaling up apps/app objects/app end users and such like.

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

Categories
Blog

WaveMaker v10.8.0 is out!

Team access to artifact repository, improved workflows for artifact publishing, prefabs versioning, and more

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.

Teams - Together and Transparent

Artifacts in Teams

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.

A new and improved flow

Artifact approval

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.

One component, different forms

Support for specific prefab versions

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.

Categories
Blog

Leveraging low-code for API-driven development

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

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.

API Management with WaveMaker low-code platform

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.

  • API- first approach: With WaveMaker, a REST API is generated automatically for every service that is imported. These APIs are available for consumption as well as modification through the API designer that can be used for:
  1. Exploring the various APIs generated by the platform
  2. Testing the APIs 
  3. Customizing APIs generated by Java services
  • API GeneratorWaveMaker generates standards-based REST annotations for the above services which can be consumed by API tools for generating documentation using the API generator. The design of these auto-generated REST APIs can be updated further by configuring their description, visibility, method types, and parameter types.
  • Open APIs: The platform generates core REST APIs endpoints using Swagger/Open API compliant contracts for database services, Java services, web services, custom code business logic, or even third-party imports. It also to generates UI functionality for Create, Read, Update, Delete (CRUD) operations for REST APIs which conform to Open API specifications. Integrating an existing REST endpoint with any of the 100+ UI widgets offered by WaveMaker is also straightforward without writing a single line of code. Open API helps WaveMaker apps consume other WaveMaker APIs enabling applications within an enterprise to talk to each other.
  • API Security & TestingSecurity is auto-enabled for an application that can be viewed in the API designer. API security is ensured by securing it with role-based access within the enterprise. API endpoints are also OAuth protected. Once the REST APIs are defined successfully, they can be tested with the “Test” tab. On successful testing, APIs are published along with the applications.
  • Legacy APIs: APIs are invariably REST-based but there remain big remnants of legacy SOAP-based APIs. WaveMaker automatically creates a REST API endpoint for the SOAP services that are imported into an application thus enabling the reuse and modernization of legacy technologies.

WaveMaker offers an API-driven development platform with:

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.

Categories
Blog

Composable architecture with WaveMaker low-code

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.

composable-architecture

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.

Why compose?

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.

Role of low-code platforms in the
journey to being composable

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.

  • Use it to build new PBCs
  • Democratize application development
  • Increase collaboration with IT and business users
  • Use it as a business capability development tool
  • Define new user experiences and customize your applications
  • Utilize low-code as an aggregator/ integrator of various PBCs
  • Provide a visual abstraction over complex API calls

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.

API-driven approach: The API Designer

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.

Reusable software components: Prefabs

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.

Microservices

“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.

Categories
Blog

Plug and Play with Prefabs

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 through prefabs

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.

Easy API consumption

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.

Prefab repositories

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

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.

Categories
Blog

The future of low-code
is open

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 Case For an Open Low-Code Platform

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.

What Makes a Low-Code Platform Open?

Developer-Centric Features

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.

Visualization, Customization and Ownership

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.

Flexible Application Architecture

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 Development Best Practices

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.

Infrastructure-as-Code (IaC)

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

Categories
Blog

Java Spring Boot, Microservices, and low-code – A formidable mix

“Because they are so long-lived, atoms really get around” says Bill Bryson in his book, ‘A Short History Of Nearly Everything.’

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.

Spring Boot- “Loose coupling and Tight cohesion”

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.

Low-code platforms and microservices – An intersection.

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.

WaveMaker – Low on Code, High on Java

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.

Categories
Blog

WaveMaker 10.7.0
What’s New?

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.

Multiple paths, one destination

Version control, Branching and Hotfixes Support

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.

Where there is data smoke, there is business fire

— Thomas Redman

Database Integration: Support for AWS RedShift

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.

Database Integration: Support for SAP HANA

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.

Keeping it within

UI Artifacts now published to NPM

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.

Safe and Secure

WaveMaker is now Veracode Certified

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.

Nothing but the best

Technology Stack Upgrades

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.