develpreneur podcast

Integrations, Imports, Exports and Similar Architectural Considerations

When we talk about creating an architecture for the future, integrations should always be a part of the discussion.  These include importing, exporting, and direct integrations via an API.  It is limiting to assume that an application will always stand on its own.  Even a solution that proves better than all others is served by providing a way for other application data to be brought in. Simple Integrations Importing and exporting data are the easiest ways to integrate with other systems.  While there can be some challenging mappings, these often are little more than selecting the fields to work with and connecting in a one-to-one manner.  Even the most complicated import or export processes can off-load some of the most... Read more

Define and Implement a Test Plan

How to Define and Implement a Test Plan

Welcome to the next episode in our new series “Integrating testing into your development flow”. Today we are going to be looking at “How to Define and Implement a Test Plan”. In our last presentation, we discussed how to design and build a Test Strategy document. Now that that document is ready, it is time to start writing the detailed Test Plan and continue further phases of testing. In plan, we will deal with the details of the overall test coverage. Including things like features to be tested, features not to be tested, estimation, scheduling and resource management. Not only will we be covering all the individual points in the test plan and their meaning, but we will also actually... Read more

develpreneur podcast

Architecting System Logs and Logging – Finding Proper Balance

System logs and logging is one of the least sexy things in software development.  Nevertheless, they are highly valuable.  The ultimate challenge in a logging architecture is balancing information with performance.  That is why you want to tackle this during the architecture process.  It is time-consuming when left until implementation or beyond. Where To Keep System Logs The architecture part of logging often boils down to location.  There are facets of storage like archiving, rollover, and format.  However, these are often driven by storage decisions.  These include options like a file or database solution, a single file or one per system, and accessibility considerations.  Any of these options can be valid.  On the other hand, they may not be the... Read more

develpreneur podcast

Messages and Notifications – Your Communication Architecture

While the GUI is used for most of our user interaction, there are other methods to consider as well.  The areas of focus in this episode will be messages and notifications.  Much like other details of our solution, these need to be architected.  Our goal is to provide a consistent experience and easy use of these tools for implementation. Messages Of the two items in this episode, these are easier to design.  The architecture will often be a text file with message text values.  Alternatively, they can reside in a database.  While both options are viable, the database solution tends to be easier to maintain and extend.  You will also have to determine whether the messaging approach is a one... Read more

develpreneur podcast

Security And Authentication – Critical Architecture Concerns

Hackers are everywhere.  Thus, security and authentication are essential pieces of software architecture.  There are so many common features of application security available it may seem like no real thought is needed.  You can just grab the essential features “off the shelf.”  Nevertheless, there is much to nail down in architecting the best solution for your specific application. Start With Security And Authentication There are applications that are created with security and authentication left as a finishing touch.  This approach is often taken to simplify testing and validation during the implementation phase.  However, these are features that should be built into every piece of the application.  When you fail to do so, it is too easy to miss details and... Read more

develpreneur podcast

Scaling Up or Out Architectural Decisions

Systems and solutions will grow if they are successful.  Therefore, it is essential for us to consider whether this will be handled by scaling up or scaling out.  There are many ways that a solution will need to grow.  There can be limitations based on processing, storage, network, or other areas.  Each of these can grow in the same way or you can mix-and-max your way through these issues.  No matter the approach, it needs to be thought through as part of the architecture. Scaling Up The first way to scale a system is up.  This essentially keeps everything in place while making it stronger or more powerful.  In the computer world, this can be a bigger storage drive, more... Read more