1 (800) 939 6812

For Developers

Introducing Catavolt's standards-based Open UI tools and Open Connector Model. Enterprise mobile app development built for developers, with the scalabilty and security of a rapid mobile app development platform.

CATAVOLT'S OPEN UI TOOLS

Create beautiful user interfaces for your business users using Facebook React, an open source JavaScript library, without sacrificing the security and scalability of Catavolt’s rapid mobile app development platform.


DEVELOPER-GRADE UI TOOLS



Enterprise developers can now use standards-based, open source tools to create mobile app user interfaces using Catavolt.

React, an open source JavaScript library created for building user interfaces, is a powerful development tool that enables developers to create native-level user experiences on any device. With Catavolt, developers can integrate with other standards-based third party app creation tools as well. Catavolt provides tools for development teams to code smarter: there's no need to compromise on customization of the user experience, and more opportunity to use code-free tools when possible to speed up the integration, development and deployment of apps.


FOR IT TEAMS OF ALL SIZES



Whether you have 1 developer or 1,000, Catavolt provides the capabilities your team needs to develop rich, cross-platform mobile user interfaces.

All existing and future Catavolt customers are provided with Open UI tools free of charge. Catavolt's open approach allows IT departments of any size to utilize their existing skills to create apps, depending on their level of resources available and desired urgency. The Catavolt App Builder will also be available for those that wish to maximize app creation and deployment speed.


ZERO CODE GENERATION



Catavolt is the only rapid mobile app development platform that uses a declarative approach to development that does not generate code.

For enterprise developers, there is nothing more frustrating than messy, WYSIWYG-generated code that has to be optimized and maintained at a significant expense. Catavolt’s unique, metadata-driven approach to rapid app development does not generate code. Whether building apps using Open UI tools, or with Catavolt’s no code App Builder, no code is generated, greatly reducing development maintenance obligations.


CATAVOLT'S OPEN CONNECTOR MODEL

Develop custom enterprise connectors using REST and Java,
and connect any existing app or system to Catavolt’s secure, scalable cloud.


AN OPEN PLATFORM



Get the best of both worlds: Develop custom connectors for existing enterprise applications and back-end systems, and connect them Catavolt’s rapid mobile app development platform.

The Catavolt platform acts as the intelligent data hub of the enterprise, allowing for rapid and secure integration of applications, both on-premise and in the cloud. The standards-based Open Connector Model supports the OpenAPI Specification (also known as Swagger), permitting connection and mobilization of any application, system or device. For fans of Catavolt’s codeless App Builder and pre-built API connectors, the Open Connector Model preserves the ability to use these options as well as provide for more sophisticated and customized development efforts using REST and Java.


SECURE API GATEWAY



Focus on creating great apps with a superior user experience, and spend less development time on integration and security.

With the Catavolt platform, integration is a breeze and built-in security provides peace of mind. Catavolt’s Secure API Gateway accelerates the extension of on-premise systems into the cloud while hiding all enterprise data from the public internet.

How does this work? Catavolt doesn’t send any enterprise data outside of the Secure API Gateway. Even while accessing Catavolt apps from the public internet, there is no method to detect or identify the origination or underlying structure of back-end system data shown in Catavolt apps.


CONNECT TO ANY APP OR DEVICE WITH REST



The OpenAPI Specification has ushered in an era of standards-based computing and data integration that has taken the developer community by storm.

Catavolt chose the OpenAPI Specification because it positions existing developers well for future connection to beacons, sensors, wearables and other myriad devices that make up the “Internet of Things.” Any existing mobile app or application on any connected device can now be connected to and brought under the secure umbrella of the Catavolt cloud.

Sample REST API Code

Any data object in Catavolt is now available via REST API. Catavolt creates a REST URL for every object, as well as a corresponding Swagger document, which describes the request and response. This is an example REST API for a Sales Order object that shows a list of Sales Orders from a back end system.

GET https://www.catavolt.net/api/my-tenant/SalesOrders?limit=10   Header:X-Catavolt-API-Key=X    
Header:X-Catavolt-Session-Key=944776417:1:106817Return Code:200Response:{  
   "response":[  
      {  
         "CatavoltObjectID":"Q1MwMTAzMnxTTzAwMDAwMDQx",
         "account_number":"CS01032",
         "account_name":"Belt Corporation of America  Inc.",
         "order_date":"2007-01-10",
         "order_number":"SO00000041",
         "promise_date":"2007-01-20",
         "shipto_city":"Cumming",
         "shipto_state":"GA",
         "total_amount":4425.0
      },
      {  
         "CatavoltObjectID":"Q1MwMTA1NXxTTzAwMDAwMDUx",
         "account_number":"CS01055",
         "account_name":"Moog Components Group",
         "order_date":"2007-01-17",
         "order_number":"SO00000051",
         "promise_date":"2007-01-27",
         "shipto_city":"Blacksburg",
         "shipto_state":"VA",
         "total_amount":76.5
      },
      {  
         "CatavoltObjectID":"Q1MwMTA1MHxTTzAwMDAwMDYx",
         "account_number":"CS01050",
         "account_name":"BudgitHoist.com",
         "order_date":"2007-01-19",
         "order_number":"SO00000061",
         "promise_date":"2007-01-29",
         "shipto_city":"Forest Park",
         "shipto_state":"IL",
         "total_amount":7665.0
      },
      {  
         "CatavoltObjectID":"Q1MwMTAxM3xTTzAwMDAwMDcx",
         "account_number":"CS01013",
         "account_name":"Grant Steiner",
         "order_date":"2007-01-23",
         "order_number":"SO00000071",
         "promise_date":"2007-03-15",
         "shipto_city":"Grants",
         "shipto_state":"NM",
         "total_amount":3780.0
      },
      {  
         "CatavoltObjectID":"Q1MwMTAwMnxTTzAwMDAwMDgx",
         "account_number":"CS01002",
         "account_name":"Ames Creek",
         "order_date":"2007-01-24",
         "order_number":"SO00000081",
         "promise_date":"2007-02-27",
         "shipto_city":"Cave Creek",
         "shipto_state":"AZ",
         "total_amount":2520.0
      },
      {  
         "CatavoltObjectID":"Q1MwMTA1NHxTTzAwMDAwMDkx",
         "account_number":"CS01054",
         "account_name":"Red Seal Electric Co.",
         "order_date":"2007-01-26",
         "order_number":"SO00000091",
         "promise_date":"2007-03-18",
         "shipto_city":"Cleveland",
         "shipto_state":"OH",
         "total_amount":6564.9
      },
      {  
         "CatavoltObjectID":"Q1MwMTA1MXxTTzAwMDAwMTAx",
         "account_number":"CS01051",
         "account_name":"Electro-Tec Corp.",
         "order_date":"2007-02-01",
         "order_number":"SO00000101",
         "promise_date":"2007-03-07",
         "shipto_city":"Blacksburg",
         "shipto_state":"VA",
         "total_amount":2160.0
      },
      {  
         "CatavoltObjectID":"Q1MwMTA0NHxTTzAwMDAwMTEx",
         "account_number":"CS01044",
         "account_name":"Measurement Specialties, Inc.",
         "order_date":"2007-02-06",
         "order_number":"SO00000111",
         "promise_date":"2007-03-01",
         "shipto_city":"Hampton",
         "shipto_state":"VA",
         "total_amount":21.5
      },
      {  
         "CatavoltObjectID":"Q1MwMTAxNHxTTzAwMDAwMTIx",
         "account_number":"CS01014",
         "account_name":"Serafina",
         "order_date":"2007-02-12",
         "order_number":"SO00000121",
         "promise_date":"2007-04-18",
         "shipto_city":"Serafina",
         "shipto_state":"NM",
         "total_amount":9360.0
      },
      {  
         "CatavoltObjectID":"Q1MwMTAwOHxTTzAwMDAwMTMx",
         "account_number":"CS01008",
         "account_name":"Stanfield",
         "order_date":"2007-02-13",
         "order_number":"SO00000131",
         "promise_date":"2007-02-23",
         "shipto_city":"Stanfield",
         "shipto_state":"AZ",
         "total_amount":1448.5
      }
   ],
   "returnCode":200
}
   
BUILD CUSTOM CONNECTORS USING JAVA



Catavolt’s Open Connector Model makes it easy for enterprise developers to create customized Java-based connectors that work with any back-end system.

Create an intelligent, centralized hub for all on-premise and cloud back-end systems without exposing data from one system to another. This leads to a higher level of data integrity and removes the need to create custom connectors to connect systems directly to each other.

Sample Java Connector Code

Open connectors can be created in Java using POJOs (Plain Old Java Objects). In the Java class, annotations can be used to expose fields and define meta data. The Catavolt Open Connector Model has built-in support for calling web services and parsing the results.

@com.catavolt.connector.annotations.DataObject(description="Google Places",
id="googlePlaces",objectTitle="Google Place", listTitle="Google Places")
public class GooglePlaces extends DataObject { 
    public static final String API_KEY = ""; 

    /** 

     * Fields - Annotate the fields you'd like to expose to the cloud. 

     */ 

    @Attribute 
    public String icon; 
    @Attribute(key=true,keySequence=1) 
    public String id; 
    @Attribute(jsonPath="geometry/location/lat") 
    public BigDecimal location_lat; 
    @Attribute(jsonPath="geometry/location/lng") 
    public BigDecimal location_lng; 
    @Attribute 
    public String place_id;
    @Attribute 
    public String name; 
    @Attribute(jsonPath="types[0]")
    public String type; 
    @Attribute 
    public String vicinity; 
    @Override 

    public List queryList(Session session, DataSource dataSource, QueryCriteria queryCriteria) { 

    // Retrieve session properties for user's current location (lat and lng) 
    String userLat = session.getSessionProperties().get("userLocation_lat");
    String userLng = session.getSessionProperties().get("userLocation_lng"); 
    
    // The Catavolt toolkit has built in classes for calling web services and parsing the results 
    HTTPResponseWrapper httpResponse = 
    DataObjectHelper.invokeHTTPRequest("https://maps.googleapis.com/maps/api/place/n
    earbysearch/json?location=" + userLat + ","+userLng +   "&radius=500&key=" + 
    API_KEY); 
    ArrayList result = new ArrayList(); 
    JSONObject jsonResponse = null; 

   try {
	jsonResponse = new JSONObject(httpResponse.getResponseContent());
	JSONArray list = jsonResponse.getJSONArray("results");
	for (int i=0;<list.length();i++) {
		JSONObject place = list.getJSONObject(i);
		GooglePlaces bean = new GooglePlaces();
		// You can use the toolkit to parse JSON and load your object. This is where the jsonPath annotation is used.
		DataObjectHelper.loadFromJSONObject(place, bean);
		result.add(bean);				
	}
} 
    
    catch (JSONException ex) { 
        LOGGER.log(Level.SEVERE, "Error parsing content into JSON response " + 
        throw new RuntimeException("Error parsing result of GooglePlaces API.", ex); 
    } 

    return result;

}

 

WANT TO LEARN MORE?

 

We’re in the process of opening up our platform to be more accommodating to the needs of enterprise developers. There are many more exciting features being released soon to help developers build their own customized apps and better utilize the security and scalability features of the Catavolt rapid mobile app development platform.

Join the Catavolt Developer Community today, and we’ll keep you posted about additional features as they are released. You will not be placed into any sales funnel, or contacted by any salespeople. We know you’re not buying – you’re making!

Meet the Mobilizer: JD Martin, Corbins Electric

Learn about how JD Martin at Corbins Electric uses Catavolt's Enterprise Application Mobility Platform to mobilize their field contracting teams.

Download