Practical Uses of Dependency Injection in Angular
![Practical Uses of Dependency Injection in Angular](/assets-jekyll/blog/angular-dependency-injection/social-336887b25bab56b75933e852cff4917175108bb3dc7a1d3b2936f6b82c97c961.jpg)
Angular has an extensive system that uses *providers” to add and configure dependencies to the application you’re building. To create providers, you use the built-in Dependency Injection (DI) system. This post will cover Angular’s powerful DI system at a high level and demonstrate a few practical use cases and strategies for configuring your dependencies. Let’s get practical! Table of Contents Quick overview of Dependency Injection Angular’s Dependency Injection system Injection tokens in Angular Configuring providers...
Micro Frontends for Java Microservices
![Micro Frontends for Java Microservices](/assets-jekyll/blog/micro-frontends-java/micro-frontends-fc097e3f7faa8ce459ba05aea27da93bc12cfaf8735e7042dc3df2a29668800f.jpg)
Microservices have been quite popular in the Java ecosystem ever since Spring Boot and Spring Cloud made them easy to build and deploy. Things have gotten even easier in recent years with the proliferation of new Java frameworks built specifically for microservices: MicroProfile, Micronaut, Quarkus, and Helidon. Not only do these frameworks provide an excellent developer experience, but they also tend to have built-in Docker support. They even work with GraalVM, so you can compile...
Communicate Between Microservices with Apache Kafka
![Communicate Between Microservices with Apache Kafka](/assets-jekyll/blog/kafka-microservices/kafka-microservices-1ef916f3bff9b1ae67d1a861454016f2093114005c60d8e3a53cc40371cb1167.png)
One of the traditional approaches for communicating between microservices is through their REST APIs. However, as your system evolves and the number of microservices grows, communication becomes more complex, and the architecture might start resembling our old friend the spaghetti anti-pattern, with services depending on each other or tightly coupled, slowing down development teams. This model can exhibit low latency but only works if services are made highly available. To overcome this design disadvantage, new...
Introducing the New Okta Mobile SDKs
![Introducing the New Okta Mobile SDKs](/assets-jekyll/blog/introducing-the-new-okta-mobile-sdks/new-mobile-sdks-social-4fbf0b764a760149bf1be19ced6c5fd70a458f59075de5280adbe4263286772f.jpg)
For years the Okta OIDC SDK was the primary tool mobile developers used to integrate their apps with Okta, but as with all things in life, entropy takes its toll. Over time, as platforms and languages change, or new features become available, a refactor is required. Today we’re proud to announce that the Okta Mobile SDKs for Swift and Kotlin are now available! Recent advances at Okta, such as support for Device Single Sign On...
Use Redux to Manage Authenticated State in a React App
![Use Redux to Manage Authenticated State in a React App](/assets-jekyll/blog/react-typescript-redux/social-a6aaaf45ebe5002727fac5b76eedc2734bf105849327d94ec5f94f51d80fc540.jpg)
There are a myriad of state management options available for React. React provides the option of using the built-in Context for when you have a nested tree of components that share a state. There is also a built-in useState hook that will allow you to set local state for a component. For more complex scenarios where you need a single source of truth that changes frequently and is shared across large sections of your application,...
What the Heck Is Project Loom for Java?
![What the Heck Is Project Loom for Java?](/assets-jekyll/blog/state-of-project-loom/cover-6021c54f2c1c66721a476a8f181295eacb8e5e48f542a6f9c2917effe8b3430f.jpg)
Java has had good multi-threading and concurrency capabilities from early on in its evolution and can effectively utilize multi-threaded and multi-core CPUs. Java Development Kit (JDK) 1.1 had basic support for platform threads (or Operating System (OS) threads), and JDK 1.5 had more utilities and updates to improve concurrency and multi-threading. JDK 8 brought asynchronous programming support and more concurrency improvements. While things have continued to improve over multiple versions, there has been nothing groundbreaking...
Build a Simple CRUD App with Spring Boot and Vue.js
![Build a Simple CRUD App with Spring Boot and Vue.js](/assets-jekyll/blog/spring-boot-vue3/spring-boot-vue-74af0287b786fe4e8a31bbca9e79d5ff4e5a3a9c53d8feba5352c6641e730d34.jpg)
You will use Vue and Spring Boot to build a todo list web application. The application will include CRUD abilities, meaning that you can create, read, update, and delete the todo items on the Spring Boot API via the client. The Vue frontend client will use the Quasar framework for the presentation. OAuth 2.0 and OpenID Connect (OIDC) will secure the Spring Boot API and the Vue client, initially by using Okta as the security...
CI/CD Java Microservices with CircleCI and Spinnaker
![CI/CD Java Microservices with CircleCI and Spinnaker](/assets-jekyll/blog/jhipster-ci-cd/ci-cd-baby-96c749540e53c56f326be9a073e1cb2d010af49306a532e2fa42bff96e66d5a3.jpg)
Continuous integration and delivery (CI/CD) are essential practices for modern software development. In this post we cover the basics of how to add CI/CD for a JHipster microservices architecture and Kubernetes as the target cloud deployment environment. Briefly, continuous integration is the practice of integrating code into the main branch of a shared repository early and often. Instead of integrating features at the end of a development cycle, code is integrated with the shared repository...
Get Started with Spring Boot and SAML
![Get Started with Spring Boot and SAML](/assets-jekyll/blog/spring-boot-saml2/spring-boot-saml-24ec31e57042265f464ad6b678c74d8d2e88aa40673f5442683b4eb7e85db224.jpg)
Spring is a long-time friend to enterprise companies throughout the world. When Spring Boot came along in 2014, it greatly simplified configuring a Spring application. This led to widespread adoption and continued investment in related Spring projects. One of my favorite Spring projects is Spring Security. In most cases, it simplifies web security to just a few lines of code. HTTP Basic, JDBC, JWT, OpenID Connect/OAuth 2.0, you name it—Spring Security does it! You might...
Use the Okta CLI to Build Secure Python Apps
![Use the Okta CLI to Build Secure Python Apps](/assets-jekyll/blog/python-okta/social-51dfbbda999fca1838066ca197b12389f9b11bbb6a6d0651b7400a69395fede9.jpg)
Okta is a customizable, secure solution that lets you add authentication and access management to your applications. Since this can be a complex topic, we recommend setting up your first project with our CLI. In this walkthrough, we will: Configure the Okta CLI Teach you how to create your first application Learn about authentication and authorization credentials Set up hosted authentication with Okta and try it out Cover troubleshooting issues you might encounter Prerequisites This...