Skip to main content

Email validation in Lower ENV

Jira: CMD1-5661 -Email validation in lower ENV - Informatica alternative Part 1 Done

Requirement: Currently in CMD, to validate email we are using informatica paid service in all three Environments. As part of informatica cost optimization, need to implement any other alternative for email validation.

Current Scope: SIT & STAGE ENVs

Solution:

  1. As in lower environments, a real time/dynamic email validation is not required, replacing the informatica validation call with Apache commons validator library.
  2. This library provides inbuilt functions to validate the global email standards
  3. Apache commons library validates the standards of username, domain name and extension given in the email.

Please refer to below Design diagram, to understand the flow.

Design:

Explanation:

  1. Email validation is implemented at External validation API (wrapper service) and this API utilizes Apache commons validator for static email validation in lower ENV and informatica for real time email validation in Production environment. Please refer below pseudo code to understand the logic, how email will be validated.
    1. If ENV == SIT || PP && skipInformaticaValidation == true Validate with Apache validator (validates email standards) else Trigger Informatica to validate the given email
  2. Currently, Email validation is used at,
    1. CMD portal while creating/updating either customer or contact.
    2. Ingest contact API, while creating/updating contact from non-portal sources systems like BBU etc.
  3. As per the cost optimization concern, Informatica services won’t be utilized in lower Env, and email is validated against general global email standards.
  4. In scenarios, where informatica email validation is required, then CMD portal and Ingest contact API has an option to send below header, so that email will be validated with informatica. The default value for below flag is true for SIT and PP ENV. skipInformaticaValidation: false
  5. This header value is stored in azure key vault to make it dynamically loaded into the app, hence giving us the ability to switch the mode of validation (apache validation to Informatica and vice versa).
Was this page helpful?