Systems | Development | Analytics | API | Testing

May 2022

Algebraic Data Types in Elixir

Elixir is a dynamically-typed language. Types in Elixir are checked when a program runs, not when it compiles. If they don’t match up, an exception is thrown. In statically-typed languages, types are checked during compile time. This can help us write code that is correct, understandable, and refactorable. But it also introduces a certain focus on types as the foundation for your application. One interesting concept is to use types to model your business domain.

Low-Code + Fresh Data = Better Business Decisions

Sync Records Smart Service now available in Appian 22.2 release Data is the most important part of your business. It drives your business processes, as well as your customer and employee journeys. And with data being collected and stored in various systems, it can easily become outdated and lead to inaccurate business decisions. Though 91% of businesses say data-driven decision making is important to their success, only 57% of businesses are successfully implementing this.

Validate WSO2 API Manager gateway request with open policy agent

Open policy agent (OPA) enables you to write security and compliance policies as code, or call any external policies using the OPA standard. WSO2 API manager uses this capability to offload policy decisions of API gateway requests to this policy engine. By decoupling the policy enforcement from evaluation, API policymakers now have the opportunity to write dynamic and reusable policies for ever-changing requirements. You can then reuse an OPA policy like any other policy in the API Manager by graphically dragging and dropping it into a policy pipeline. This video explains how it works and gives a demo.

API Security: Tips and Practices to Keep Your System Safe

As more and more businesses move to API-driven architectures, the need for strong API security increases. If your business relies on APIs to connect different parts of your infrastructure, you need to make sure your APIs are adequately secured. This article will discuss API security best practices to protect your data.

Supply Chains and Gas Prices: Mitigating Risk With Technology

As gas prices soar due to restrictions on both domestic oil and imports from oil-producing countries, we’ve shifted our collective focus to the energy sector. It’s increasingly apparent that the global oil and natural gas supply chain sits in a delicate balance—supply chain disruptions in one country can affect gas and oil prices around the world. If a top oil-producing nation ramps down natural gas production or distribution, additional supply must come from another nation.

What is a Java Stack Trace? How to Read & Analyze Traces

A Java stack trace is displayed when an error or exception occurs. The stack trace, also called a backtrace, consists of a collection of stack records, which store an application's movement during its execution. The stack trace includes information about program subroutines and can be used to debug or troubleshoot and is often used to create log files. These exceptions could be custom (defined by the user) or built-in.

How to build a better finance app: advice from a Principal Engineer at NatWest bank

Adam Law shares some practices and processes that his team uses to ensure that their finance app continues to serve the customer in the best possible way. We’re sharing them with you in the hopes that you pick up something new for your team!

The All-new Appian Designer: A Makeover Worth Waiting For

Extreme makeover: Low-code edition Instagram did it in 2016, and again, in 2020. LinkedIn did it in 2018. And in 2022, it’s Appian’s turn to do it. Do what, you ask? Get a product makeover in time for the summer. A makeover is a pivotal moment in a product’s lifecycle, a sign of evolution to take the product experience to the next level. When iOS switched to its now-popular flat design from the older one, favored by Steve Jobs himself, it was a monumental shift in look and feel.

How APIs and Businesses Work to Enable Business Agility

APIs and businesses. Ever wonder what do APIs do in businesses? A better question is: what don’t they do? We’re living in the API economy — one where APIs rule business capabilities and open new revenue streams. Companies that leverage API technology innovate and respond to changes faster, providing value to customers and employees alike.

Using Moesif and Stripe for Pay-As-You-Go API Billing

Offering customers a variety of ways to pay for your product allows for flexibility and ease. In general, there are two ways for customers to pay for usage: Post-paid and pre-paid. Pre-paid is sometimes also referred to as PAYG, or Pay-As-You-Go. Post-paid usage can sometimes lead customers to have billing surprises if they are not tracking their usage closely. This can cause headaches for these users and can also cause issues for the service provider.

End-to-End API Monetization with Kong, Stripe, and Moesif

Many API developers and companies struggle to find ways to easily set up systems to monetize their APIs. Some are simple but not customizable, some are complex and require massive engineering effort to actually get it all running. To make things easier, Moesif created a feature a few months ago called Billing Meters which gives massive customizability but with a minimal amount of code and engineering effort.

One-Time Authorization Code for REST APIs in WSO2 Identity Server

WSO2 Identity Server provides many identity management workflows and password management workflows out of the box, e.g., self-registration, user invitations, password recovery, etc. However, it is not unusual to come across a situation where the workflow capabilities provided out of the box in the product, is not sufficient to fulfill your business requirement.

Re-issue Existing Password Recovery Confirmation Code in Followed Recovery or Resend Requests

Photo by Micah Williams on Unsplash This article discusses a new feature which will be released for the public distribution of WSO2 Identity Server 5.12.0. This feature was developed to overcome the following scenario: You can refer to the following diagram for a deeper understanding of the above flow. This scenario can be experienced by anyone. As such, we introduced a new way to handle this scenario (as shown below) for the notification based password recovery flow.

The Challenges of Efficiently Maintaining Node.js Apps

Web applications are necessary to enhance the visibility of a business organization and help them achieve better ROI. Therefore, firms need to choose the right web development language to get the best results. Node.js has emerged as a leading programming language for developing web applications. But in hindsight, there are some complications that developers face with Node.js app maintenance.

Using N|Solid runtime from npm

At times, Node.js can feel like a black box. Shifting to an asynchronous programming model changes how developers are required to handle and interpret existing data. There are many solutions out there to help the users gain more visibility; however, it has been proved that all those solutions out there to capture such critical information come with a high toll on the performance of every application implementing them.

Monolithic Applications: A Relic of the Past?

In software development, the monolith architecture has successfully seen the design and development of applications. Most unicorn companies in recent years started their journey using monolithic architecture. However, we’ve seen a significant change and adaptation of microservice architecture patterns in the last few years. The popularity of designing and developing applications using microservices is mainly because of scalability and increased productivity for larger teams and companies.

Test-driven development: an introduction for mobile app developers

Test-driven development, or TDD, is a testing method where you first convert the feature requirements to tests and then write code to make the tests pass. In this article, we take an objective look at test-driven development, its benefits, downsides, and best use cases.

An Introduction to Polymorphism in Ruby on Rails

If you have ever spent time building an Object-Oriented Program (OOP), you have likely used polymorphism in your application or, at the very least, heard the term. It’s the kind of word you’d expect to see in a science or computer science textbook. You may have spent time researching polymorphism and even implemented it in your application without clearly understanding the concept. This article will give you a greater understanding of polymorphism, specifically in Ruby on Rails.

Refactoring with Deprecations

Deprecating old code and replacing it with new and improved APIs is an established process in software development. In the core of PHP APIs are provided to trigger and to get notified of deprecations. As a PHP application developer you can then hook into all triggered deprecations using a user defined error handler. You can use this API to collect deprecations and fix them.

GitLab Debugging with Auto Fetch for Correct Versioning

Developers update and augment their stacks all the time. No configuration is permanent, and a new tool can enter the picture at any given moment. The reasons vary, but new applications’ addition to the mix can upset your integrations from time to time, particularly if you’re adding security tools. Rookout is always aiming to support a fluid experience, and that’s what is behind our latest updates to our Gitlab integration.

Livebook for Elixir: Just What the Docs Ordered

While initially conceived as a tool for data exploration (much like Jupyter for Python), Livebook has deservedly become a sensation in the Elixir community. It has been fantastic to see all the wonderful ways teams are leveraging Livebook for a range of different use cases. We have seen Livebooks being used to: Livebooks have also been used as the default REPL interface for project development.

PHP Nested Try-Catch

Try-catch blocks in PHP can be nested up to any desired levels and are handled in reverse order of appearance i.e. innermost exceptions are handled first. Nested blocks can be useful in case a block of code causes an exception, which can be handled within that block and program execution can continue in the outer block. They can also be useful in case the handling of an exception causes another exception.

Javascript Guide: Resolving the Reference Error

The Javascript ReferenceError occurs when referencing a variable that does not exist or has not yet been initialized in the current scope. Reference errors in Javascript are of a few different types, with variations of each, that may get triggered in code. Some of these are discussed below.

Deploy to Bitrise.io Step Changes  Bitrise Feature Updates

The recently released 2.0.7 version for the “Deploy to Bitrise.io - Apps, Logs, Artifacts” Step switched storing artifacts from AWS S3 to Google Cloud Storage, which means improvements in speed, especially for testing and deployment. For getting these improvements, please make sure you are using version 2.0.7 (or above) for the “Deploy to Bitrise.io - Apps, Logs, Artifacts” Step. We suggest locking the Step to the 2.x.x version as soon as possible to gain speed improvements instantly.

5 Benefits of Low-Code for Healthcare Supply Chain Management

Supply chain shocks have wracked organizations across the globe, and healthcare and life sciences companies aren’t immune. News headlines were focused on personal protective equipment (PPE) shortages early in the pandemic, and more recently hospitals have faced shortages of much-needed medical supplies like crutches, gauze, and medications.

18 Great Plugins to Keep Your eCommerce Website Secure

The threats of hackers and data theft grows by the day and even smaller eCommerce sites are not safe from attack. Security should be a top priority for any eCommerce website owner, no matter how big or small their site may be. Fortunately, there are plenty of great security plugins available to help keep your site safe and secure. In this article, we will take a look at 18 of the best plugins for keeping your eCommerce site secure.

The Complete Guide to API Portals in the New API Economy

A key part of the API ecosystem, API portals are critically important to enable companies to make the most of APIs, or Application Programming Interfaces. In this post, we’ll detail API portals and their uses and functionality, as well as the new API economy and how you can get started optimizing APIs.

Building a dependable realtime betting app with Confluent Cloud and Ably

Our everyday digital experiences are in the midst of a revolution. Customers increasingly expect their online experiences to be interactive, immersive, and realtime by default. The need to satisfy user expectations is driving the exponential growth of event-driven architectures in organizations of all shapes and sizes. And by enabling users to have realtime experiences whenever and wherever they want, 24/7, mobile drives this change further and faster.

Overcoming the Top Challenges for Python Beginners

Do you want to learn Python as your first programming language? Then you’ve made a great choice. Python is a popular, general-purpose programming language that can be used for a whole host of applications. But, it’s not without its challenges. To find out more about these challenges and how to overcome them, keep reading …

5 Low-Risk Digital Transformation Strategies

APIs or application programming interfaces make sure data is able to travel to and from specific destinations and sources with ease. Data isn’t the only thing that needs to travel safely, which is why APIs in the transportation industry are so popular for everything from booking an Uber to getting a shipment of goods delivered. APIs help websites, servers, and apps integrate efficiently and effectively by allowing different software endpoints to communicate with each other.

What is Clojure? Functional Programming for the Java Ecosystem

Most programming languages are built on procedural programming, but there is this niche of dialects built for “functional programming,” where code classes are dynamically created based on the rules in the functions you write. If you could put languages on a scale of most procedural to most functional, you’d find Clojure sitting at the edge of the latter. What is Clojure? Who uses Clojure? What’s the best Clojure use case?

Appian Academy: Take Control of Your Low-Code Destiny

Bring your people, processes, and data together seamlessly and rapidly launch mobile-ready applications with the Appian Low-Code Platform. And with Appian Academy, you’ll feel empowered to get the most out of your investment. The Appian Academy helps get technical and non-technical users up to speed quickly, incorporate Appian into business operations, and recognize future opportunities with the right low-code mindset.

How to Plug an Existing User Store into WSO2 Identity Server?

Are you someone who already has a legacy system in place and wants to migrate to a modern authentication system with Identity and Access Management (IAM) features? The first thing you need to consider is how you can use the existing legacy user store with this new system. Keep in mind that if the legacy user store uses an old security mechanism to store your data, we would recommend that you migrate to the WSO2 JDBC user store format or Active Directory (AD).

API monetization: Technical best practices

Jason Cumberland, CPO and co-founder of API and data monetization platform HyperCurrent, contributed to this post. In our last article on how to get started with API monetization, we laid out how to build your API monetization strategy and avoid common pitfalls that occur when trying to get to your first minimum viable product release.

Software developer tools to increase productivity

In this blog post I want to go over some of the software I use alongside my IDE/version control tools during my day-to-day work. These tools allow me to cut down on wasted time spent doing things inefficiently, track my work, take notes, and generally make my life easier. I’ve also reached out to Damien, a local developer friend who has provided me examples of the tools they use as a front end developer.

Using Scientist to Refactor Critical Ruby on Rails Code

Ask any software engineer to review key portions of production code, and inevitably, they will point out three things that need to be refactored. So why does so much bad, brittle, or misunderstood code remain running in production? The answer is simple: engineers are afraid to touch it. Refactoring tasks get identified and added to the backlog, but rarely make it into the current sprint. There are numerous reasons for this.

Repetitive Tasks Done Faster with Appian RPA

Introducing Appian RPA - a cloud-native technology for robotic task automation that increases efficiency, reduces errors, and lowers costs. Appian RPA is part of Appian’s full-stack automation, which combines RPA, workflow, decision rules, AI, and case management, giving you the right technology for the right use case.

JavaScript Package Managers: NPM Vs YARN Vs PNPM

Package managers are software tools that help programmers and developers to install, update and uninstall packages of code, libraries, or other software. There are many package managers for a variety of programming languages such as JavaScript's NPM and Ruby's GEM. Package managers typically use metadata to determine which versions of a package are available and the dependencies of each version package managers vary in the type of automated software they install and update.

Automotive Industry Trends 2022: What Software Developers Need to Know

The automotive industry has been undergoing significant changes as it works to adapt to growing market demands and challenges associated with electric, autonomous, and hybrid vehicles. Here, we take a look at some notable trends that were highlighted in our report, 2022 State of Automotive Software Development.

How To Define an API Integration To Support Business Agility

API integrations are foundational to the innovation and agility companies need to remain competitive. Using APIs lets companies connect systems to build new capabilities to extend their services and provide enhanced customer experiences. This guide discusses API integrations and shows you how to define an API integration to start building your API ecosystem.

Proof of possession for OAuth2 tokens(DPoP) with WSO2 Identity Server #Identityin15

In today's episode, we will discuss how you can secure OAuth2 Tokens with DPoP using the WSO2 Identity Server. DPoP (Demonstrating-Proof-of-Possession) is an additional security mechanism for the token generation which overcomes the issue of bearer token which will not validate between who is requested token and who is actually using the token for the access of a particular resource. The following is the outline for today's session.

CodeZero Launches Surf, a New Developer Tool for Observability in Pre-production Kubernetes Environments

CodeZero announces the general availability of Surf, a developer tool that provides real-time, collaborative, rich-querying capability for pre-production Kubernetes environments. Surf allows developers and teams to de-mystify Kubernetes artifacts, provides powerful troubleshooting capabilities and improves collaboration.

The Best Business Digital Transformation Software

Whether you’re a new business or a well-established company, in the 21st-century business world, data reigns king. To stay relevant in the current age, every business must invest in some form of digital transformation. The best business transformation software can help your business’s transformation. If your company isn’t incorporating digital technologies into your business strategy, you’ll soon be left in the dust of your competitors.

Popular Python Design Patterns

Python is one of the hottest programming languages in the world right now. According to StackOverflow’s Developer Survey 2021, Python is the third most popular programming language. It is primarily due to its easy-going syntax coupled with powerful dynamic typing and binding. In this article, we will focus on building efficient and scalable applications in Python using popular design patterns. Design patterns are standards or conventions used to solve commonly occurring problems.

5 Key Tips for Beginners Learning JavaScript

If you have ever been interested in Web Development then chances are you have heard of JavaScript. JavaScript is an object-oriented programming language. It is used by developers to make the client-side (front end) of web pages dynamic and interactive. It is also used alongside HTML and CSS to make websites and web applications. The market for application development in 2022 is huge.

How We Improved Table Performance in AppSignal - Back-end Changes

In our last development cycle, we spent time improving our table performance in AppSignal. As customers stay around for longer, data starts piling up. A view with just 10 items in the beginning gathers hundreds of items, and keeps growing. Besides filtering data in the front-end to reduce the returned data, we wanted to ensure our data could keep growing without timeouts in our GraphQL API or slow-loading pages in our app.

7 Reasons to Use an API for Video Delivery

Video delivery is more complex than ever. OTT providers need to ensure a quality experience for their customers while also delivering video that meets the expectations of advertisers. This can be a challenge, but using an API for video delivery can help make it easier. An API for video delivery can help you manage your content more effectively and deliver it to the right people at the right time. It can also help you keep track of who is watching your video and how they are interacting with it.

The Concept Of Null In Java

null is a reserved word (keyword) in Java for literal values. It is a literal similar to the true and false. In Java, null is a keyword much like the other keywords public, static or final. It is just a value that shows that the object is referring to nothing. The invention of the word “null” originated to denote the absence of something. For example, the absence of the user, a resource, or anything.

Shopware 6.4.11 NavigationLoader performance improvements evaluated

During Shopware Community Unconference 2022, we heard a lot about an internal performance week at Shopware, where they took tie to optimize different parts of the core of the Shopware platform. These were mostly performance problems that also affect our customers. Naturally, we are super excited about them their release in version 6.4.11. In this blog post we will look at one improvement to category navigation loading.

A Guide to Event-Driven Architecture in Elixir

In this post, we will explore how event-driven architecture can make your app more responsive for users and decouple your modules for a better developer experience. We will also look at several methods of implementing event-driven architecture with Elixir. Elixir is particularly good for this because of the advanced and concise message-passing APIs that it offers and BEAM's outstanding support for concurrency. But first: what is event-driven architecture, exactly?

How to run `shell` and more using Node.js

Sometimes an application needs more than Node.js to develop and bootstrap itself. Maybe the project needs some automation from a different programming language than JavaScript; even in that scenario, Node.js can run those required tasks; with that, your whole application could be easier to maintain and won’t have a lot of technologies mixed in the same project.

How to Customize Your Profile View Experience in Moesif

At Moesif, we’ve put a lot of work into improving viewing details and trends for specific users and companies. This includes our recent addition of adding profile dashboards to add individual and reusable charts to user and company profiles Now, we’ve added even further functionality by allowing users to customize what each individual user and companies profile view looks like.

Performance optimization techniques used in Asgardeo - Part 02

This is the second installment of the series. As a result, if you haven't yet completed Part 01 of the series, it is highly urged that you do so first. According to the official website, Asgardeo is an IDaaS that allows developers to create seamless login experiences in minutes. Let's concentrate on the performance optimization approaches utilized in react and webpack in this article.

7 Features to Know before Jumping Back into .NET

Software development gets complex if you want your applications to target multiple operating systems, including but not limited to Windows, Linux, macOS, Android, iOS, HoloLens, desktop apps, and web apps. Enter the robust and feature-rich.NET platform to write applications rapidly for use across multiple systems. It also contains many libraries that allow developers to reuse common functionalities. It isn’t itself a language, though many describe it that way.

HTTP Keep-Alive - In Light

HTTP Keep-Alive is a feature of web servers that allows clients to keep connections open. It's also called "persistent connections." The idea behind HTTP Keep-Alive is to prevent the connection from timing out and closing, which would require the client to reconnect. This saves time for both users and the website’s server. HTTP/1.1 is designed to allow keep-alive connections by default, but HTTP/1.0 is not.

REST API Best Practices for Parameter and Query String Usage

Over the last ten years, APIs have grown in popularity and utilization. They've evolved into critical components of application infrastructure, and as businesses continue to use and build them, good API architecture will become increasingly important. A smart API design helps performance and the overall developer experience, whether they're public or internal. The most common APIs employ HTTP requests to access and use data and follow a RESTful architecture.

Audit Logging for Micro-Integrator

When you are running a micro-integrator on a microservices environment, administrators who have admin access to the micro-integrator are able to change its configurations via admin services API. When someone needs to debug the system and find out which person did what change, then the micro-integrator needs to keep a log of activities performed on the micro-integrator. Audit logs are simply a set of logs that let you find what are the changes performed on the micro-integrator instance. Audit logs feature support from the APIM 4.1.0 onward.

Performance optimization techniques used in Asgardeo - Part 01

This post explains the approaches we used to improve performance in our application. This knowledge will also assist you in applying these strategies to your projects as required. Please keep in mind that this post series focuses solely on the front end. According to the official website, Asgardeo is an IDaaS that allows developers to create seamless login experiences in minutes.

Composing Effective Consumer Onboarding Workflows, Part 1

Consumer onboarding is one of the, if not the most, important functions of a customer identity and access management (CIAM) solution. An overly complicated onboarding workflow significantly detracts from the consumer experience. Providing an effective, engaging and efficient onboarding workflow without compromising security has always been a challenge among security and risk professionals.

Composing Effective Consumer Onboarding Workflows, Part 2

In part 1 of this series, we introduced the three most common abstract workflows based on the method in which they are initiated. But what makes an abstract workflow a concrete workflow are the different types of components that make up the workflow. In this article, we will take a look at these components.

APIs and Logistics: How APIs Are Changing the Face of the Logistics Industry

Companies of all sizes and industries are unlocking new possibilities thanks to APIs (application programming interfaces). There are many common uses of APIs, from driving business agility to improving the customer experience. However, there are few sectors where APIs have so much potential as the logistics industry. From giant e-commerce retailers like Amazon to small mom-and-pop businesses, shippers, couriers, and delivery services can all benefit from using a logistics API.

Per API Logging Support for WSO2 API Manager

APIM per API logging support lets you enable logging request details per API basis. This will significantly impact APIM performance when you need to collect logs that come in to and out of the APIM instance. Users are able to enable or disable logging for each API by using the APIM REST API. WSO2 APIM logging gives you multiple log levels that let you log information in different levels.

6 Reasons Why Python Is Best for Apps Using AI, ML and Data Analytics

There are a variety of technology stacks for Artificial intelligence (AI), Machine learning (ML) and data analytics applications. However, the ideal programming language for AI must be powerful, scalable and readable. All three conditions are met by the Python programming language. With outstanding libraries, tools and frameworks for AI, ML and data analytics, Python has proven success leveraging all three technologies.

Bootstrapping with Ruby on Rails Generators and Templates

Rails' batteries-included approach is one of its greatest assets. No other framework makes it so effortless to get your application off the ground quickly, at least partially due to Rails' generators. If you've used Rails for any amount of time, you have come across generators. Need to create a new application? Run rails new. Need to scaffold a bunch of new models and views? Run rails generate scaffold. There are dozens more available to help you get started rapidly or streamline your workflow.

Angular vs. AngularJS: Which Is Better?

In today's digital landscapes, businesses are constantly looking for strategies to differentiate themselves from their competitors. Web and mobile applications have become a must-have and effective marketing tool for any successful organization. User-friendly applications are built using frameworks. Angular and AngularJS are the most popular front-end web development frameworks among the greatest JavaScript frameworks.

GRC for Insurers: Keeping Up with Mounting Regulatory Requirements

Recent years have brought no shortage of change to the insurance industry. Among those changes is a rise in governance, risk, and compliance (GRC) requirements. Effective in May 2018, the General Data Protection Regulation (GDPR) became the first major regulation to focus on protecting consumer data. Its implementation coupled with a global pandemic has kickstarted a rush to enact more laws surrounding data privacy.

GraphQL vs REST API: Which is better for API Observability?

API providers need to observe their APIs to get meaningful data about whether and how they are consumed in practice. API observability is a form of monitoring that passively logs API traffic to an observability service. Different from traditional API monitoring, with API observability you: Monitor interactions to improve developer experience Understand how customers use your API Troubleshoot your API Observing REST APIs is well understood and supported, but not every API is a REST API.