Maven Multi Module Project Setup or: "The Parent, The Project and the holy BOM" "In the beginning there was a pom. Then sub-modules came and defined it as their parent and all was good. Then dependencies came along and all hell broke loose..." In recent years I am seeing more...
Amdocs is a company which specializes in software and services for communications, media and financial services providers and digital enterprises. I joined the new micro services infrastructure team which is building a new infrastructure for all of Amdocs’ next generation products running on Docker Containers on top of Kubernetes. My role in this team was to add Auditing support for Security Events. For that I had to dig deep into the Spring architecture, add new implementations and integrate the new capabilities into the micro services infrastructure being built.
Brightcom is a company in the Ad-Tech business buying and selling advertisement impressions at a very high rate. My role was to support a new type of auction called Header Bidding. To support that a I have to write a new Bidder which will support any future type of programmatic commerce in the Ad-Tech world. The big challenges were to make this new system highly responsive, resilient and elastic as the foreseen traffic was to be at a 135K qps. The technology stack consists of: Vert.x -Main Application and Server Redis- Persistency Kafka - Analytics Pipeline BigQuery - Analytics Data S3 - Raw Storage
- Our responsibility was to build a highly complex and configurable parsing engine. This parsing engine processes information from third-party devices such as log files and security events. The processed and normalized data is then sent to storage for further processing.
- My role was to implement the meta-model of the configuration files, as well as the execution of processing of each event. Based on the meta-model I implemented an execution model which was executed on every event which was run through the system. Performance was one of the key factors coding this module.
- The project was one of their acquired startup projects called Release Automation. This is an existing product which already has multiple clients.
- CA Release Automation is an enterprise-class, continuous delivery solution that automates complex, multi-tier release deployments through orchestration and promotion of applications from development through production.
- The stack on this project is a very basic stack: Java, Hibernate, Spring, Tomcat, Maven. The Databases range is SQL Server, Oracle and of course mySQl. The Supported Operating Systems are Linux and Windows.
- I worked on that project handling various complex bugs, adding some new features and upgrading the project from java 6 to Java 8.
- I added some new features involving generating a new table with perceived data. For this I had to delve into the internals of the program in order to satisfy the queries for the data requested.