Golgi provides developers with a toolkit for App2App and App2Server rich content and function transport. Golgi enables developers to focus on the features and design of their App, leaving data transport to Golgi. With built in features such as type-safe native code generation, store and forward, push notifications and end-to-end encryption, Golgi is easy to use while battery efficient, reliable, fast and secure.
Powerful Google developer tools for immediate impact! (2023-24 C)
Golgi - App Data Transport Made Easy
1. Data
Transport
MadeEasy
Golgi manages the exchange of data
between apps and between apps and servers
Golgi provides developers with a toolkit for App2App and App2Server rich content and
function transport. Golgi enables developers to focus on the features and design of their
App, leaving data transport to Golgi. With built in features such as type-safe native code
generation, store and forward, push notifications and end-to-end encryption, Golgi is
easy to use while being battery efficient, reliable, fast and secure.
2. Developers define RPC
Communicate what you want. Define what you want to do and program when
you want to do it. Golgi provides type-safe native code for Android and iOS, with a
simple implementation process. All data types supported.
Push Notification
Implementing Push Notifications for your App can be time consuming and often
difficult, particularly so as you extend your App with new features and enhancements.
Multiple OS environments can further complicate things. Golgi embraces Google
Cloud Messenger and Apple Push Notifications. We provide a single type safe API
that makes this process easy and lets you spend your time adding value to your App
and accelerating your App monetization.
Store and Forward
The Golgi platform incorporates store and forward functionality, meaning that
even if an end point is without data connectivity, which is often the case in a mobile
environment, Golgi will deliver, and complete the exchange as soon as that end
point restores connectivity.
Security
Golgi provides the highest levels of security available. TLS and end-to-end encryption
provides the security to safeguard your data.
Metrics
Detailed Analytics on all of your App2App and App2 Server transactions are
available to view via the Golgi Dashboard.
Scalability
The Golgi platform is already built for scale. Today, the platform powers over
1 Billion mobile moments every day. This means we’ve got your traffic growth
covered once your App takes off.
Why use Golgi?
• Kills the spinning wheel with lightening-fast app
loading and updating
• Quick and easy implementation
• Reduced development times
• Built-in push notifications for Android and iOS
• Highly scalable, supporting over 1 Billion mobile
moments every day
• Reduced battery drain
• Highly secure and reliable
• Geo-based routing enabling high speed transactions
with Golgi servers in USA, Europe and Asia
3. struct Message{ // options of bool, byte, i16, i32
1:required string myMsg // i64, double, string
} // easily extensible with backward compatibility
service golgiExample{
Message Chat(1:Message myMsg2u)
}
Golgi Definition File (Thrift based)
Message myMsg2u = new Message(); // creating new Message Object
myMsg2u.setMyMsg(“Hello World”); // setting content of message
String myFriend = “+16501234567”; // developer defined namespace
Chat.sendTo(myChatReplyHandler,
myFriend,
myMsg2u); // Void with Asynchronous Response
Use of Class in Sender (Android Java)
Chat.RequestReceiver myChatHandler = new Chat.RequestReceiver(){
@Override
public void receiveFrom(Chat.ResultSender resultSender, Message rxMsg) {
System.out.println(rxMsg); // Print out received message
Message myReply = new Message(); // Create reply
myReply.setMyMsg(“Hello you!”); // Populate reply
resultSender.success(myReply); // Send Reply with Success
}
};
Chat.registerReceiver(myChatHandler()); // Register Handler with Golgi
Use of Class in Receiver (Android Java)
Firstly, as a developer, you define your data service
using the Golgi Definition File, which is based on Thrift.
This is a fast and easy way to tell Golgi what you want
to communicate. Golgi uses this Definition File to
generate type-safe native API code for Android and
iOS environments for easy implementation. Simply
incorporate these simple API function calls into your
app and enable Golgi to manage the transportation of
your data.
In a mobile-to-mobile scenario, the App will make a
connection to the Golgi platform and then send the
payload. The Golgi platform determines whether
the end device is Android or iOS and sends the
corresponding push notification to wake it up. The
recipient device then connects to the Golgi platform,
receives its data and returns a response. The Golgi
Example Golgi Code:
How does it Work?
The Golgi Definition File specifies a service called “Chat” for sending and receiving “Messages” between apps and serv-
ers. The Sender calls Chat.sentTo() to send the message and the receiver sets up a receiveFrom() in registerReceiver()
to receive the “Message”.
In this specific example the Sender sends “Hello World” to “+1650123457”, which is received by the receiver and the
receiver sends “Hello you!” back to the sender.
platform then connects to the original device and sends it
the result. A mobile to server scenario is very similar, but
with a persistent IP connection between the Golgi platform
and the external server.
All transactions use TLS and end-to-end encryption
providing the highest level of security to safeguard your
data. The Golgi server farm is spread across three
geographic regions – USA, Europe and Asia for maximum
redundancy and reliability and App data transport speed
and efficiency.
Golgi manages all of the orchestration of data transport and
exchange, the push notifications and everything needed to
get data from one end point to another, including handling
all of the real world problems that may happen in a mobile
context – connection failure, lack of responses, etc.