Menu Close

Code Engine

Code Engine is a simple, yet powerful, code execution engine. It is designed to be used in applications, where you want to empower your business users to maintain fragments of the application logic in a secure and controlled environment, offer the level of automation flexibility and maintainability that is not possible with the compiled and deployed code, and to do so without sacrificing the performance and security of the application.

Experience the flexibility of Code Engine, where you decide the level of integration into your application. Customize your experience by choosing how much work you handle and how much automation you entrust to Code Engine. Join us and unlock a seamless balance between manual control and automated efficiency for your projects.

Seamlessly incorporate Code Engine into your products with minimal effort. Enjoy effortless setup and configuration for both new and existing products. Join us and experience the simplicity and efficiency of integrating Code Engine into your projects.

Experience the unparalleled performance of Code Engine, rivaling that of compiled and deployed code. Engineered for speed and efficiency, it thrives in environments with heavy workloads and demanding performance requirements. Elevate your projects with Code Engine’s lightning-fast capabilities, ensuring optimal performance in any scenario. Join us and witness the transformative power of Code Engine for your high-performance needs.

Application Opportunities

Data Mapping Scenarios

Integration and data mapping customizations in a software system involve configuring how data is transferred, transformed, and mapped between different applications, databases, or systems. These customizations are essential for ensuring seamless data flow and interoperability between various components of the system. Here are some examples of integration or data mapping customizations:

  1. Custom data transformations: Define custom transformation logic to convert data from one format to another during the integration process. For example:
    • Parsing and reformatting date/time values to comply with a specific standard or system requirement.
    • Converting between different units of measurement (e.g., currency conversion, metric to imperial units).
    • Normalizing data formats or structures to align with the target system’s schema.
  2. Conditional mappings: Implement conditional logic to dynamically map data fields based on certain criteria or rules. For example:
    • Mapping customer data to different fields in the target system based on the customer’s location or industry.
    • Routing incoming data to different destination endpoints based on the data content or source system.
    • Applying data transformations selectively based on the values or attributes of the incoming data.
  3. Enrichment and augmentation: Enhance incoming data by enriching it with additional information from external sources or internal databases. For example:
    • Augmenting customer records with demographic data obtained from a third-party API or service.
    • Adding geolocation information to incoming orders based on the customer’s shipping address.
    • Enriching product data with inventory status or pricing information retrieved from an ERP system.
  4. Error handling and data validation: Define custom error handling mechanisms and validation rules to ensure data quality and integrity during the integration process. For example:
    • Implementing data validation checks to ensure that incoming data meets specific criteria or constraints (e.g., data type validation, range validation).
    • Logging and handling errors that occur during data transmission or transformation, such as network errors or data format mismatches.
    • Implementing retry mechanisms or fallback strategies to recover from transient errors and ensure data consistency.
  5. Custom endpoint configurations: Configure custom endpoints or connectors to integrate with specific third-party systems, APIs, or data sources. For example:
    • Developing custom adapters or connectors to integrate with legacy systems or proprietary APIs that do not have built-in support.
    • Configuring secure connections and authentication mechanisms (e.g., OAuth, API keys) for accessing external services or cloud platforms.
    • Implementing custom protocols or message formats to exchange data with specialized systems or devices.
  6. Batch processing and scheduling: Set up custom batch processing jobs and scheduling configurations to automate data integration tasks on a recurring basis. For example:
    • Defining custom data import/export jobs to transfer large volumes of data between systems at scheduled intervals.
    • Configuring data synchronization tasks to keep multiple systems in sync with each other in near real-time.
    • Implementing custom workflow automation logic to orchestrate complex data integration processes involving multiple steps or dependencies.
Rules and Calculations

Several products and systems may require frequent changes in calculations or rules to adapt to evolving requirements, regulations, or business conditions. Some common examples include:

  1. Financial systems: Accounting software, tax preparation software, and banking systems often require frequent updates to accommodate changes in tax laws, accounting standards, or financial regulations.
  2. Insurance systems: Insurance companies need to adjust their underwriting rules, pricing models, and policy terms regularly to reflect changes in risk factors, market conditions, and regulatory requirements.
  3. Healthcare systems: Electronic medical record (EMR) systems, medical billing software, and healthcare analytics platforms often need to incorporate updates to clinical guidelines, reimbursement rules, and healthcare regulations.
  4. E-commerce platforms: Online retail systems may require frequent changes to pricing algorithms, promotional rules, and inventory management strategies to stay competitive and responsive to market dynamics.
  5. Manufacturing and supply chain systems: Production planning software, inventory management systems, and supply chain optimization tools may need to adapt to changes in demand patterns, production processes, and supplier relationships.
  6. Gaming and gambling systems: Casino management systems, sports betting platforms, and online gaming software often need to update their odds calculations, game rules, and payout algorithms to comply with gaming regulations and maintain player engagement.
  7. Transportation and logistics systems: Fleet management software, route optimization systems, and transportation planning tools may need to adjust their algorithms and rules to optimize delivery schedules, minimize fuel costs, and comply with transportation regulations.
User Preferences

User configuration types refer to settings, preferences, or options that users can customize to tailor a system or application to their specific needs or preferences. Some common examples include:

  1. Theme or appearance settings: Users may have the option to choose from different color schemes, fonts, or layouts to customize the visual appearance of a website, application, or operating system.
  2. Language and localization settings: Users may be able to select their preferred language, date format, time zone, or currency to personalize the user interface and content to their cultural or regional preferences.
  3. Notification preferences: Users may have the ability to configure their notification settings, such as choosing which types of alerts or messages they want to receive, how often they want to be notified, and through which channels (e.g., email, push notifications).
  4. Privacy and security settings: Users may be given control over their privacy and security preferences, such as managing their privacy settings, opting in or out of data collection or tracking, and setting up authentication methods (e.g., passwords, biometrics).
  5. Accessibility settings: Users with disabilities or special needs may have access to accessibility settings to customize the user interface, such as adjusting text size, enabling screen readers, or configuring keyboard shortcuts.
  6. Account preferences: Users may be able to customize their account settings, such as updating their profile information, managing subscription or membership preferences, and configuring communication preferences.
  7. Application behavior settings: Users may have the option to customize the behavior of the application or software, such as setting default preferences for file handling, sorting options, or auto-save settings.
  8. Personalization settings: Users may have the ability to personalize their experience based on their interests, browsing history, or usage patterns, such as customizing recommended content, product recommendations, or search results.

These examples demonstrate the various ways in which user configuration settings can empower users to tailor their experience and interact with systems or applications in a way that aligns with their individual preferences, needs, and requirements.

Context-specific Scenarios

In a multi-tenant SaaS (Software as a Service) product, tier-specific or context-specific configuration refers to settings, preferences, or options that can be customized at different levels of the application based on the needs or requirements of specific tenants, user groups, or usage contexts. Here are some examples:

  1. Subscription tier configurations: SaaS products often offer different subscription tiers with varying features, functionality, and service levels. Tier-specific configurations allow tenants to customize settings or access certain features based on their subscription level. For example:
    • Tier-specific limits on the number of users, storage space, or API requests allowed.
    • Access to premium features or add-on modules based on the subscription tier.
    • Tier-specific branding options, such as customizing the logo or color scheme for different subscription tiers.
  2. User group configurations: Within a tenant, administrators may want to configure settings for specific user groups or roles with different levels of access or permissions. Context-specific configurations for user groups might include:
    • Role-based access control (RBAC) settings to define permissions for different user roles.
    • Customizable workflows or approval processes for specific user groups.
    • Group-specific notification preferences or email templates.
  3. Localization and regional configurations: SaaS products may serve users in different regions or countries with unique language, currency, or regulatory requirements. Context-specific configurations for localization might include:
    • Language preferences for user interfaces and communication.
    • Currency formats and conversion settings for financial transactions.
    • Compliance settings for data privacy regulations or tax laws specific to certain regions.
  4. Tenant-specific configurations: Some configurations may need to be customized for individual tenants based on their unique needs or preferences. Examples of tenant-specific configurations include:
    • Custom branding and white-labeling options for each tenant’s branded portal or application.
    • Integration settings tailored to each tenant’s backend systems or third-party services.
    • Customizable reporting templates or dashboards based on each tenant’s reporting requirements.
  5. Usage context configurations: Certain settings or configurations may need to adapt based on the context or environment in which the application is deployed. For example:
    • Configuration options for different deployment environments (e.g., development, staging, production).
    • Context-specific settings for multi-device or multi-channel access (e.g., web browser, mobile app, API).
    • Configuration options for integrating with specific third-party services or APIs based on the deployment context.

Source Code

.Net Core (enhancements and support)
.Net Framework (no longer supported)

NuGet Artifacts

com.armatsoftware.code.engine (Code Engine Core Components)
com.armatsoftware.code.engine.storage (Storage and Integrity Abstraction Layer)
com.armatsoftware.code.engine.storage.file (File System Persistence Adpater)