Overview

Zymr SantaFe is a cloud application framework designed to accelerate the development of even the most demanding applications. A pre-built microservices framework for cloud aware application servers, SantaFe has been architected to be modular, with a lightweight software bus and a loosely-coupled message-passing programming system. While several microservices frameworks exist in the market, they tend to lock you to specific vendors. SantaFe, however, is built on open-source technologies and available in source-code format to you for a nominal license fee. It is vendor-neutral and extensible for your custom needs. It leverages curated open-source libraries, and intelligently integrates them to perform flawlessly, as the basis for cloud-based applications with exacting requirements. Highly scalable, SantaFe also enables the integration of multiple applications, and the easy migration of legacy systems to the cloud. Additionally, SantaFe offers several bridges to connect to external systems.

  • The SantaFe Console-Bridge provides a clean separation for enabling visualization services for web GUI or mobile applications.
  • SantaFe’s South-Bridge is an open protocol-normalized architecture to mediate with external systems that may be using a different standard or proprietary connection protocols.
  • The SantaFe North-Bridge offers a rich set of pluggable services for external ecosystems that are typically found in enterprise environments such as service provisioning, monitoring, help-desk, billing and others.
  • SantaFe has granularity and highly secure RBAC (Role-Based Access Control), as well as user authentication services from LDAP/AD to OpenID/oAuth2.
  • SantaFe supports NoSQL and SQL databases.

SantaFe Editions

SantaFe comes in several editions to meet evolving needs of cloud architects based on use-cases, programming language and specific feature set:

SantaFe’s Cloud-Edition (CE) is built with curated Java based open-source libraries that have been adopted widely and support RESTful programming models. CE is a Java-based microservices framework that leverages Spring Integration and RabbitMQ to offer a flexible Enterprise Application Integration (EAI) design principle of loosely-coupled, message-driven, services. It offers a set of enterprise ready services and protocol connectors out-of-the-box.
SantaFe’s Python-Edition (PY) is built for those cloud applications that have chosen Python centric development. SantaFe PY is a pure Python-based cloud application framework that leverages RabbitMQ, Celery, MongoDB and other Python libraries to offer a flexible Enterprise Application Integration (EAI) design pattern of loosely-coupled, message-driven, services. PY offers a set of enterprise ready services and protocol connectors out-of-the-box.
SantaFe’s Mobile-Edition (ME) is designed to accelerate the development of modern mobile applications. ME is a Java-based microservices framework offering a host of popular features including ready integration to MongoDB, oAuth2, and eco-connectors to social networks. This framework doesn’t use a messaging bus but instead uses a highly optimized RESTful services model to enable a mobile app server that is very responsive. The goal for ME is to meet or exceed the ‘one-second rule’ which states that the app responds to all user interaction within one-second. ME come integrated with ElasticSearch that enables very useful search options.
SantaFe’s Enterprise-Edition (EE) is designed to meet the requirements of enterprise applications developed in Java. EE is a Java-based implementation with strong emphasis on SOA design principles involving workflow and non-workflow based distributed services. EE uses JBoss as its core SOA framework and jBPM for workflow based service handling. It support Spring Hibernate ORM with PostgreSQL, or MySQL databases, and is ideal for applications that need JBoss based integration.

Requirements

Development of the SantaFe cloud application framework emerged from pressing and common challenges faced in most cloud based development projects. SantaFe was built to meet the following requirements:

  • Open Architecture : Incorporates curated open-source building blocks to solve specific challenges.
  • Loosely coupled architecture : Component based architecture
  • Separation of Concerns : Modular with a strong separation of concerns that enables factoring services and utilities that can be easily reused.
  • Message Based Integration : Ability to pass messages between systems to ensure an easy way to develop event-based and workflow-based execution models.
  • Enterprise Integration Patterns :Support for Enterprise Integration Patterns that allow integration using pipes and endpoints to help bridge existing and new applications.
  • Common Services : Develop commonly used utility services out-of-the-box to offer great leverage for most applications – such as user-management, logging, etc.
  • Ontology Services : Develop ontology-based (or model-aware) services that provide strong object-models for managing objects and relationships. Develop robust persistency architecture to support domain-specific ontology.
  • Canonical Transformation : Develop the architecture that transforms various protocols used to communicate with external systems by normalizing protocol-specific data objects into canonical data objects.
  • Orchestration : Enable metadata driven orchestration of services by allowing rules to define how a canonical data object is handled with the framework.
  • Performance :Ensure responsiveness of the services and ability to handle large volumes by tuning the messaging interfaces, persistency and other techniques.
  • Scalability :Ensure the framework support cloud-scale by enabling easy extensibility, replication of service and stateless operations.
  • Security : Ensure strong security model for user access control, LDAP, oAuth2, SSL and other data security measures.
  • Cloud Ready : Flexible deployment on various cloud environments by leveraging Linux based VMs, with ready support of Amazon AWS, OpenStack, VMware and other environments.

System Architecture

The SantaFe cloud application framework is built using a lightweight software bus that uses a message-based services model.The following describes the system architecture and all the key components of SantaFe.

Software Implementation

Zymr implemented each SantaFe edition by intelligently leveraging leading curated open-source components, and then testing them thoroughly to meet the requirements stated above.

Zymr follows agile development processes with clear articulation of requirements in Jira, unit-testing of every component, and end-to-end system testing with sufficient emphasis on subjecting the framework with stress over extended periods of time. Zymr uses jMeter and other tools to measure the system’s performance. End-systems built using SantaFe have used Selenium, Robot and Python based test automation environments. SantaFe based systems have been deployed in various cloud environments using Linux VMs, and automated DevOps using Puppet and Python.

Success

With SantaFe, Zymr has developed a robust set of microservices frameworks that have been adopted by clients to accelerate the development of their cloud based applications. SantaFe frameworks have been deployed in production environments with several client applications, and have proven to be extremely reliable, with 99.99% uptime. This is a testimony to the thorough and comprehensive qualification of each of the SantaFe editions for features, scalability and performance.

Case Studies

Unified Datacenter Management

Vodafone ‘GroupOn’ E-Commerce Marketplace

Healthcare Service Orchestration

“Smartsourcing” an agile development
partner can be a strategic business advantage

© 2017, Zymr, Inc. All Rights Reserved.