Download BOTEGRATE
This trial download is restricted for non-production, test and proof of concept use only.
What is BOTEGRATE
BOTEGRATE is a low code application development framework specifically designed and built for event driven business applications. It includes custom coding templates, library of functions to perform validations, transaction management, auditing, error and exception handling, data manipulation and retrieval and built using open source tools and Plain Java BOTEGRATE is built on the software engineering principle of Inversion of control.Reusable Non functional components are pre built into the coding templates by providing user exits and hooks (locations within the template) for application developers to incorporate functional code (Business Logic) specific to the application. All non functional aspects are built into the template, allowing application developers to focus primarily on business logic. This technique allows for standardization of repeating aspects of the application portfolio resulting in improvement of code reliability and maintainability.
What is included in BOTEGRATE
TRANSACTION MANAGEMENT
As applications are migrated from on-premise to cloud one of the biggest challenges is transaction management. Most on premise distributed architecture application utilize XA 2PC (2 Phase commit) services to achieve transaction integrity. Most components on the cloud , databases, queues , topics, streams, and storage systems (S3 etc) do not support Global transactions with 2 Phase commit. Architecting solutions and ensuring transaction integrity, in the cloud require special attention to transaction management to avoid loss of data integrity. BOTEGRATE incorporates transaction management into every template and alleviates application developers from needing to address this explicitly. BOTEGRATE includes a step log to clearly delineate manipulation of every independent resource and will ensure that no business transaction is left in a partial state. Upon retry of a failed transaction, the framework skips the steps already completed in the previous attempt and continues with where it left off. This approach ensures consistency in transaction management across the portfolio and increases reliability of the application.
APPLICATION PATTERNS AND CUSTOM TEMPLATES
In a typical enterprise there are numerous patterns of event driven applications within the portfolio. For each pattern RADASCENT will create custom templates including only the features needed for the pattern.
Events triggers supported include
• Timer based scheduled processes
• Topic Listeners
• Stream Listeners
• Queue Listeners
• Alert Triggers
• Event Bridge
• API Gateway end-point
• RDS write ahead log events
• NoSQL change streams
Let’s get on the cloud – FAST!
• S3 put
There are distinct characteristics with each event trigger that is supported. Topics and streams typically have multiple subscribers and do not have an explicit error management and retry support like MQ and SQS. There are also cloud provider specific nuances for each of these implementations. BOTEGRATE creates custom templates for each of these event triggers and incorporates appropriate error management and retry mechanisms.
Event change styles supported include
• FIFO based changes
• Sequence based changes
Event change styles are very important in implementations when addressed in conjunction with multithreading and autoscaling. Some upstream applications dictate FIFO processing while others annotate the sequence in the header or body of the event message. In cloud with server-less autoscaling, if the sequence is not maintained there will be integrity loss, and if the sequence management is over-emphasized autoscaling ability is compromised. BOTEGRATE implements in the framework a solution that ensures change sequence maintenance with full autoscaling. By implementing this in a standardized framework the enterprise achieves consistency and improved reliability.
Functional Patterns supported include
• Format Mappers
• Data ingest Interfaces
• Business Process steps and workflows
• Collation and Aggregation workflows
In any typical enterprise there are a finite number of application functional patterns, BOTEGRATE includes a set of pre-defined patterns for the most commonly used patterns, and the collection of libraries allow for customizations to create additional templates for new patterns. BOTEGRATE is not a coding framework for UI and Case Management workflow application patterns at this time, it only supports backend event driven processes. Based on analysis of the application portfolio within a project RADASCENT will provide the custom templates for the patterns supported by the Project.
LOW CODE – CONFIG IN LIEU OF CODE
BOTEGRATE has built in Low code components where the application developers have to incorporate a few lines of configuration or a few lines of code to implement complex re-usable functions as part of the framework within the appropriate coding template. Typical of any framework, the list of supported features included in BOTEGRATE is continuously evolving, and RADASCENT is dedicated to building the framework components needed for the portfolio of applications with its customer base.
BOTEGRATE includes the following components to support Event Driven Processes.
Data Validations
• Basic JSON schema format validations draft -04 through draft -06
• Custom validations for
Let’s get on the cloud – FAST!
• One of validations ( Example; Either a Given Name or Surname is a required Field)
• Cardinality checks ( Example: Manifest Indicates 280 Passengers, Validate if data is provided for 280 passengers)
• Cache Validations for Enumerations ( Example: List of primary action Codes in a Lookout Record)
• Reference data validations based on APIs ( Example: Call an API to validate if an Importer is registered)
• Reference data validations based on Cache maintained by the Framework (Example: Implement a cache of all IATA airport codes and validate the Departure Airport code against this list). Includes support for maintenance of the cache with Adds and Updates)
• Data transformation methods ( Example Automatic translation of Date fields in various date formats to MONGO DB standard format including the time portion)
• Data Augmentations of multiple JSON elements using APIs ( Example; Standardize an Address using Google Geocode service and augment the data with Lat/Log data
• User exits or hooks to perform additional validations not included in the suite
• Validations can be classified as error or warning with error being rejected and warning with options to start new process streams like ‘Data Steward notifications’
Database abstractions
In the cloud majority of No SQL databases persist data in JSON form. BOTEGRATE persists Schema Enforced JSON documents so that the application creating the data has full responsibility to ensure the integrity of the data.
BOTEGRATE abstracts the DB actions with simple functions to be used by the application developer.
BOTEGRATE implements the following abstract Methods.
• Save document
• Change document
• Remove document
• Fetch document
• Based on numerous search criteria supported by indexes
• Aggregate documents based on criteria
• All of the above abstractions are built for Atlas Mongo and Document DB with plans to extend for other NO SQL databases
• Use Projection to retrieve and return exactly the elements needed by a service (Developers do not need to get the full JSON document and prune the data based on the service needs).
• Connection parameters, collection names etc. are driven off property files for each application
Audit Logging
BOTEGRATE templates have built in support for audit logging of transactional data. Every business transaction can optionally be audited with a change log which captures every version of the document as it is updated. This functionality just requires a few lines of code and properties to be established in addition to establishing appropriate S3 buckets or Google Storage.
BOTEGRATE also has a no code feature that compares two version of JSON documents of a specific schema to determine what changed. The ‘what changed’ feature can be shown in the UI as well as used to trigger downstream processes selectively. For example, Biographic targeting only needs to be performed if any of the biographic elements change. This will optimize the executions of various processes in the portfolio.
IN PROGRESS FUNCTIONALITY
DAX implementations for Reference data validations
Amazon Dynamo DB Accelerators (DAX) is a powerful in memory key value store that offers microsecond response in large scales. This solution fits the use case for reference data validations which are used millions of times every day across numerous business applications. RADASCENT is in the process of developing framework components to build and maintain the reference data in DAX for use across the enterprise.
Delta Analysis scripts
RADASCENT is working on extending the JSON compare feature to be used in a low code template to perform delta analysis between cloud No SQL and on premise RDBMS Databases. The plan is to execute the delta analysis using lambda functions in the cloud environment using connectors to on-premise RDBMS. This solution will eliminate the use of COTS products like SAS for performing delta analysis. RADASCENT intends to incorporate this step in the application integration process for all cloud migration projects.
Benefits
Use of BOTEGRATE in cloud migration projects provides the following benefits
• Improves development efficiency significantly by reducing lifecycle time for cloud migration
• Increases code standardization across the project resulting in improved maintainability
• Increases reliability by utilizing high end resources to solve challenging aspects like transaction management and incorporating these in the code templates.
• Use of Plain Java and open source components allows core components to be cloud provider agnostic. Same exact application jar files and images developed using BOTEGRATE have been deployed and tested against Lambda,Google cloud functions and many other container services. This ensures complete cloud provider portability
• Abstraction of DB functions allows for low cost portability across No SQL Databases
• Choice of most appropriate and cost effective cloud technologies like S3/Google cloud storage for Audit and transaction logs reduces TCO for the Project
• Using BOTEGRATE can help establish a repeatable assembly line like process for Large migration projects and stay within deadlines and costs
• Using BOTEGRATE, project teams can employ a mix of senior, mid and junior level resources, effectively utilizing junior resources to perform repeatable steps across different components and utilizing senior and mid level resources to help set up the assembly line processes for each pattern and to fine tune the applications.