develpreneur podcast

Make Everyone Happy – A Paradoxical Anti-Pattern

One of the most amusing anti-patterns is the one known as “make everyone happy.”  The funny thing is that it never does.  Instead, it points us to an old bit of wisdom that you end up pleasing no one when you try to please everyone.  Put more simply; you cannot have more than one master.  If this seems familiar, we have discussed it under the name “design by committee” in prior posts. Make Everyone Happy Defined You have heard that two heads are better than one.  Unfortunately, that does not translate to more is always better than less.  In particular, design and related decisions suffer greatly from too many voices.  There is nothing wrong with seeking feedback and input.  However,... Read more

develpreneur podcast

Architecture By Implication – An Assumption Anti-Pattern

The series switches gears to look at anti-patterns.  We start with the mother of all anti-patterns, architecture by implication.  Any time we have a pattern that includes assumptions, success is a challenge.  Looking ahead, the next several episodes will explore familiar anti-pattern names.  We will find that many coding anti-patterns can also be applied to architecture.  Likewise, these are ways to approach enterprise solutions. Architecture By Implication Defined This anti-pattern is wrong in the implication part of it.  Any architecture that involves implications and undocumented features is an anti-pattern.  The core challenge is that pieces of our architecture are commonly known.  That familiarity breeds a sense of “we all know this.”  However, it is a dangerous assumption to make. Our... Read more

develpreneur podcast

The Space-Based Pattern , AKA A Cloud Architecture

We wrap up our patterns focus with the space-based pattern.  This is also known as cloud architecture.  We will see how this approach allows us to break out the solution into components suited for scaling.  We solve the problem of scalability in architecture instead of tools. The Space-Based Pattern Defined We have often seen layers in our architecture discussions.  Similarly, this pattern breaks out each layer into many workers.  Therefore, it is described as a collection of grids.  First, we have processing units that do the bulk of the work.  We then have a virtual middleware composed of messaging, data, processing grids, and a deployment manager. Applying The Pattern We see in the above list of components that each step... Read more

develpreneur podcast

The Microservices Architecture Pattern – Small, Reusable Solutions

We come to one of the best patterns for breaking a big problem down into bite-sized pieces.  The microservices architecture pattern is a perfect fit.  The objective is to farm out work to one or more services that are small and well-defined.  This pattern is one that has grown in popularity and is often seen in Cloud solutions. The Microservices Architecture Pattern Defined The architecture is another one that has three primary components.  There are client requests, an interface layer, and service components.  Likewise, the microservices architecture is another distributed pattern that allows the solution to grow as needed. In general, requests are directed to services via the interface layer.  That layer also can bundle or roll up responses so... Read more

develpreneur podcast

The Microkernel Pattern – Core System and Plugins

The focus of this episode on software architecture patterns is the microkernel pattern.  It is a common way to build on core technology without the need for future design.  Once the plugin interface is defined, the sky is the limit for enhancements and upgrades.  You do all of this without impacting that core. The Microkernel Pattern Defined This approach starts with a core piece of functionality.  Next, other components are added to it.  We see this pattern utilized in many cloud products and commercial software.  The core can be protected, and then plugins farmed out.  Also, customers can purchase the core and then plugins a la carte.  In a technical sense, the core provides shared functionality across the system.  The... Read more

Restful API Testing With RestAssured

Restful API Testing Using RestAssured

Our journey into Restful API Testing Using RestAssured begins by looking at the different ways in which API testing can be done. Next, we look at how to use tools such as the browser developer tool, Swagger, and Postman to test APIs from a browser. Additionally, we look at how to use libraries like RestAssued and Karate to build continuous integration tests for our code projects. Finally, we wrap up our discussion by showing you how to write RestAssured tests against a real-world scenario. Restful API Testing Using RestAssured Overview: Overview of Restful API Different Types of HTTP Requests How to Manually Test a Restful API Use Postman and Swagger Write RestAssured Unit Test What is Restful API REST APIs... Read more