develpreneur podcast

Master-Slave : An Architecture For Distributing Work

We switch gears in this episode and look at a pattern for getting work done.  The master-slave pattern can be confused with the client-server.  However, they are very different.  The main difference is how the work flows through the system. The Master-Slave Pattern Defined This pattern is a way to get large jobs done.  In contrast, the client-server pattern focuses on multiple users and requests.  The master-slave pattern provides an example of delegating work within a system. The requests come into the master.  Then, the master splits up the work into pieces that are farmed out to the slaves.  When a slave completes the work, the results are sent back to the master.  The master then puts together the results... Read more

develpreneur podcast

Client-Server Pattern – Software Architecture

The discussion of patterns sort of goes backwards this episode.  First, we look at the client-server pattern.  It is an older and well-established pattern.  However, it is not suited to modern solutions.  This approach harkens back to the old days of mainframes and massive servers that were shared resources for application users. The Client-Server Pattern Defined This pattern is the simplest version of a layered pattern.  There is the front-end client and the backend server.  Unlike the layered approach, the client-server pattern is more focused on resources.  This approach embraces the idea of a central server that clients connect to for sharing data.  It also gives a central point (the server) to scale the application.  Thus, you can think of... Read more

develpreneur podcast

The Layered Pattern – Software Architecture Solutions

We start our journey through software architecture patterns with one of the most common.  The layered pattern is easy-to-use and often easy to understand.  However, it is misunderstood, and there are challenges to overcome.  These are not weaknesses of the pattern.  Instead, they are obstacles for the designers and implementors to overcome.  This approach is also known as an N-tier pattern. The Layered Pattern Defined This pattern is a divide-and-conquer approach to software architecture.  The application is broken down into four layers that interact.  Thus, a complex problem to be addressed as smaller problems.  The four layers typically flow from the user to the solution’s back-end. Presentation Layer/User Interface Application Layer (sometimes called service) Business Logic Layer Data Access Layer... Read more

Mobile Testing With Test Project

Mobile Testing With Test Project

Welcome, if you are a tester or developer interested in mobile application automation testing or are new to test automation tools than you defiantly need to check out TestProject. However, if you are not familiar with this tool that’s OK. In Mobile Testing With Test Project we cover all the basics necessary to start mobile testing in Test Project 2.0. Test Project A Review of Version 2.0 Overview: Intro to Mobile Testing With Test Project How to set up a mobile device How to create a TestProject mobile test Record a mobile test with a simulator and device Execute/Run the mobile test Q&A cover questions on Selenium vs TesTNG vs Test Project What is Test Project? TestProject is a community... Read more

develpreneur podcast

Software Architecture Patterns and Anti-Patterns Overview

We start this season of the podcast with an overview or review of software architecture patterns and anti-patterns.  This season will explore several of these, so it only makes sense to give ourselves a solid foundation for discussion.  We have talked often about these, but a refresher never hurts. Software Architecture Patterns Defined As we often do, we can start with a definition from Wikipedia. An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context.[1] The architectural patterns address various issues in software engineering, such as computer hardware performance limitations, high availability and minimization of a business risk. Some architectural patterns have been implemented within software frameworks. Note that multiple... Read more

develpreneur podcast

Personal Retrospective and Review – Finish The Year Right

No Sprint is complete unless it includes a retrospective and a review.  We need to examine what we accomplished and how we got here.  Those same considerations are important to make a part of our personal lives.  A personal retrospective and review are well-suited for natural pauses in our lives, such as Holidays or a vacation.  The new year is also right around the corner.  A resolution based on our desires rather than avoiding bad things is more likely to succeed. An Agile Year-End A sprint in the world of Agile methodologies includes a review and a retrospective.  The first is where we “show-off” or examine what was completed.  The latter is where we look for ways to improve, either... Read more