Accelerators for Web API Integration Development
Austin Alkire & Jim Ladd
August 5, 2021
In this paper, we present a set of recommendations with
the goal of accelerating the development of integrations with web-based interfaces.
These accelerators were constructed over decades of system integration experience
and recently re-validated on a real-world project. While the focus of this effort
was on integration development, most of the accelerators can be applied on other
types of software development.
AWS Serverless Patterns – S3
Ivan Castanon & Jim Ladd
July 22, 2021
While the solution space for software development is constantly
updated with new technologies, the requirements and artifacts of the problem space can
appear to be timeless. Even with cutting edge technologies like the AWS serverless stack,
software developers are still burden with vintage entities like document and image files.
The patterns presented in this paper cover uploading documents to a private S3 bucket by
multiple users, allowing read access to a subset of the user population, and manipulating
the documents in a serverless realm.
CAC in the Cloud
Jim Ladd
July 16, 2021
The Common Access Card (CAC) is a “smart” card and provides standard
identification for active and reserve military personnel, Department of Defense civilian employees,
and eligible contractors. The paper describes three cloud-based architectures that were developed
to integrate the CAC in the security service of a web application. The first two versions relied
on NGINX, Docker, and AWS Elastic Container Service (ECS). The latest version is based on AWS
serverless stack including API Gateway, Lambda, and S3. All of the versions used GitLab and
its CI/CD pipeline service.
Heterogeneous Architecture for the Physiological Analysis Tool
Jim Ladd, Hansel Rios Torres, & Jason Young
May 20, 2021
The Physiological Analysis Tool (PAT) was a recent proof-of-concept project
at SOFWERX that explored the limits of hosting multiple physiological and sentiment analysis systems
on an on-body computing platform. Five different sentiment-based systems along with three physiological
measurement tools were incorporated into a system that can concurrently analyze the same event.
To accommodate this wide spectrum of technologies, a heterogeneous platform was developed that integrates
Android, Ubuntu, and Windows computing environments with two point-to-point cable-based connections.
The architecture of this system is presented in this document.
Fast Path to AWS Serverless Applications
Sakina Shaikh & Jim Ladd
May 12, 2021
This project presents a serverless implementation of a notes management application.
We started with the example from the Serverless Stack guide and evolved it to fit our requirements. The client
project uses Nodejs, React, Amplify, and CloudFront while the service project utilizes Cognito, API Gateway,
Lambda, DynamoDB, and Python. The two projects are maintained in GitLab and uses its CI/CD pipeline feature.
This project deviated from the Serverless Stack guide in the use of GitLab instead of GitHub and Python instead
of Nodejs for the Lambda language.
React and Flask Stacks for Docker on the Raspberry Pi
Jim Ladd
January 12, 2021
The Clockwerx project started with the desire to program a set of wall mounted clocks via a web
application. After a false start, the architecture was refactored to include a web application based on a
React stack to provide a user interface. A web service based on a Flask stack was selected to provide the
interface to the clock display mechanism. Both of these services are embedded in Docker containers
and hosted on a Raspberry Pi computer. This document presents an overview of the architecture and
several tips and details for building out a similar system.
First Steps Toward CI/CD with WordPress, SiteGround, and GitHub
Lewis Morgan, Patrick Schippers, & Jim Ladd
December 29, 2020
Continuous Integration/Continuous Development (CI/CD) processes have been at the forefront of the
software development industry for several years now. While CI/CD concepts are easy to grasp, they can
be difficult to implement while maintaining schedules and achieving milestones. This paper describes
our initial steps toward a CI/CD pipeline for our client facing websites that use WordPress and
SiteGround. We incorporate GitHub’s repository to maintain our source code while using GitHub’s
Actions service to automate the deployment to a staging environment hosted by SiteGround.
Infrared Transmit Validation for the Raspberry Pi
Rob Simon & Jim Ladd
August 11, 2020
A recent project at SOFWERX relied on IR to remotely control a target
device. In theory, the approach was attractive but, in practice, the original version proved to
be unreliable. This paper describes an approach to increase the stability of this type of computer
interface by validating the IR signal transmission using python custom code and the Linux Infrared
Remote Control (LIRC) software.
ATAK Low Latency Camera Platform (ALLCaP)
Jason Young & Jim Ladd
July 29, 2020
The ATAK Low Latency Camera Platform (ALLCaP) is a proof of concept
that provides near real-time video display. The viewing device is an ATAK enabled tablet or
phone while the video source is a USB-based camera or another ATAK enabled device. This
approach does not rely on signaling, discovery, or intermediary servers and can be used
with Wi-Fi or software defined radio (SDR) radios. The project uses the Android Team
Awareness Kit, UV4L, and webrtc-streamer software.
Integrating Finite State Models with React and Redux
Jim Ladd
June 29, 2020
This paper presents how Finite State Models (FSM) can be utilized
to increase the knowledge and specification of the problem domain and drive the design of
React/Redux-based software in the solution domain.
Building a Zero Trust Network with Open Source and Community Version Software
Jim Ladd
May 13, 2020
Zero Trust Networks (ZTN) represent a new wave of network
security technology. The mantra with this approach is “Never trust, always verify”.
This paper describes a Zero Trust Network implementation constructed using a Service
Oriented Architecture (SOA) with open source, community version, and custom software.
The key components include Drools, XGBoost, NGINX, Mender, and WSO2 hosted on AWS EC2
instances.