Extensibility Overview
What’s on this page?
- What is Tulip Extensibility?
- What is the Overall Architecture Like?
- Mobile Extensibility
- Cloud Extensibility
- What Levels of Extensibility are Possible?
- How Can a Client or Tulip-Partner Team Leverage Extensibility?
What is Tulip Extensibility?
Tulip powers the in-store experience for large retailers.
In addition to using the out-of-the-box features of our application, retailers have the ability to extend Tulip for additional capabilities based on their existing environment.
Based upon extensibility architecture principles implemented by leading software vendors, Tulip provides a platform named Bamboo Extensibility Framework to allow retailers to modify and add core functionalities of Tulip. The framework consists of a set of tools in multi-layered architecture to support extension points for behaviour modification.
The Bamboo Extensibility framework allows retailers to seamlessly upgrade to the latest developments from Tulip while maintaining their desired behaviour.
What is the Overall Architecture Like?
Tulip is built on a standard enterprise tiered platform. At a high level the following diagram is a relevant platform context at a high level. Requests from our standard mobile apps traverse to the appropriate feature services that may rely on Tulip’s platform data tier where Retailer data is cached. Platform services provide the synchronization vehicle between Tulip’s cloud platform and Retailers data master systems.
- Tulip Mobile Application platform supports Tulip functionalities on mobile devices
- API layer provides authenticated, documented APIs that external and internal applications can talk to
- Business Logic Layer performs logic to execute tasks such as calculating tax on an order, or sorting stores by inventory availability
- Data Services defines and gives access to core business objects such as products, orders, customers, and messages.
- Platform Services and Integration Services Layer form the interface between infrastructure, and common services that are essential to all core and extensibility services. This is what enables the Bamboo extensibility framework.
Bamboo is designed to have extensibility tools for each tier mentioned above. In other words, our customers have capabilities to use our flexible platform to make changes in each layer to better address their needs.
Here’s a diagram that presents how it actually works alongside Tulip’s standard OOTB business services.
Bamboo framework enables extensibility that can be added both at the mobile app layer, as well in the business services layer.
Mobile Extensibility
- Mobile Function hooks: This allows for modifying normal UI business logic as extensibility Javascript, that can be pulled down during initial launch when enabled (with configuration) from the backend. This code then runs in place of an existing ootb logic. Example of this logic contains modifying sort order of certain lists (Store list view - sort by availability, or proximity, or last logged in stores).
- UI extensibility on the Mobile app allows for using web based embedded smart views to enhance or complement existing screen components. This isn’t a webview which is a static isolated view to external application. UI extensibility actually enabled an interactive bridge that allows behaviour modification.
- This enabled through a javascript SDK that is prepackged with the mobile app. This enables the possibility of intelligently passing in current context and application parameters to the web view that can be rendered from various sources.
- This enabled a developer to write a web component that can be hosted on a server and it can use the Tulip extensibility JS SDK to have access to the mobile app components like:
- Application context (e.g. current selected customer, order, product),
- Device hardware (camera, payment terminal),
- State current function that invoked the feature, associate Identifiers.
- This allows the web module to implement features within Tulip app, like create or modify orders, add a customer to an order, begin checkout, etc.
Cloud Extensibility
- API Extensions: Provides any developer to create a new API specific to their environment which, when run, will execute a provided Hook. For instance, a new API is needed that accepts data in a new non-Tulip format, modifies it and then saves it to Tulip. Or a new API that fetches products and sorts them in a custom way.
- Cloud function hooks: Modify behaviour of an existing business service, or call another external service - e.g. Retrieve latest inventory from a 3rd party service at the Retailer’s platform as opposed to the Tulip’s inventory cache. This feature is heavily used for real time communications when upstream systems where Client master data systems need to be kept in sync with Tulip.
What Levels of Extensibility are Possible?
There is a scale of flexibility, which Tulip shall now be able to provide in addition to core products and functionality therein.
Tulip and partner teams (vendors or client IT teams) can together work on providing simple standardized custom features or attain complex features that can provide high degree of flexibility. Simpler custom features, and/or integration to external systems or services are now possible through rapid setup and support core product upgrades without concern. Based on extensibility framework should the partner team choose to go with a very flexible platform, e.g. a headless commerce platform with customized data integration and storage solutions, Tulip will partner to design the initial set up and provide the toolset for building this flexible platform as well and determine the optimal approach to maintenance and upgrades.
The best option is completely dependent on what is required for vendors. There are certain criteria to consider when choosing the right degree of flexibility for your product. Metrics are included but not limited to:
- How much is setup and maintenance costs?
- How performance is affected for initial data load?
- How easy the system can be upgraded?
- and so on.
With the help of enterprise architecture specialists at Tulip, the best solution can be identified to fulfill given requirements.
How Can a Client or Tulip-Partner Team Leverage Extensibility?
Hosting a remote business logic on Client/Vendor side for leveraging existing APIs, modifying and implementing new API for pushing or modifying data in Tulip, or for implementing intelligent feature screen capability in the App are all possibilities achievable by the Bamboo extensibility framework.
Tulip integrations team will work with partner IT teams and provide the necessary framework details, API documentation and access to SDK for developing integrations and enrichment interface features. At Tulip, a dedicated team of experts helps making sure that the integration with existing platform can work smoothly for vendors.