- Strategically aligned technical architecture to organizational business objectives
- Removed duplication of datapoints, unified databases, drastically improved reporting accuracy
- Improved User Experience by aligning presentation layer across all applications
- Reduce time to market with respect to SDLC (Software Development Life-cycle)
- Aligned all applications under a single technology stack
- Created a scalable service-oriented architecture; decoupling presentation layer, business logic layer, and data layer
- Applied DevOps Principles; all production code deployed is automated with unit testing using Jenkins, all code stored in GitHub Repos, all production servers are AWS EC2 Instances
Notes About Past Architecture
- Multiple Authentication Points resulting in users have many different accounts.
- Multiple version of related data with no clear authoritative data source for a variety of data points.
- Disjointed User Experience, using I-Frames, which resulted in a very inconsistent experiences for end users.
- Independent technologies where used to create many of the applications making any updates specific to a single developer
Notes About Current Architecture
- Move all technologies under a unified MEAN stack.
- This resulted in a much more consistent software development life cycle process and a defined layer for the various aspect of the application to be built in. No more hunting around for where a specific set of code was buried.
- All applications where converted to AngularJS Single Page applications and then wrapped as a simple CMS Module resulting a very loosely coupled execution.
- The result being, we can change CMS’s at any time with minimal effort.
- Applied a unified REST service layer allowing the separation of the presentation layer from the logic layer.
- Resulting in a consistent layer where all business logic is applies, this also allows the re-use of services that overlap between different applications.
- Defined authoritative data sources, most importantly the authentication layer.
- The result being more accurate and faster data queries as well as the ability to provide the users with a true Single Sign On experience. We also applied the concept of document databases (such as MongoDB) in areas where applications could be modeled as such or where we could make gains using it as a caching database.