develpreneur podcast

Application Programming Interface (API) Solutions Architected

One of the most substantial challenges in system development is the application programming interface.  The result is (ideally) a stable and well-defined interface for your system.  That can be a struggle when your solution is not exactly stable nor well-defined.  Nevertheless, that does not excuse you from ignoring the API until implementation.  It needs to be addressed in the architecture from the start. A Basic Application Programming Interface When you know an API will be required, you can always take the simple route.  Review the core data items, and features then create a pass-through of sorts.  While this is not the most elegant solution (and not recommended), it is a start.  When you start with this approach, try to keep... Read more

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