SlideShare a Scribd company logo
Duo World
1
What is Duo World
• A PaaS that enables the users to develop apps and host their apps in a
“developer portal” for public access or to sell their apps in the market
place.
• First any person can register as an end-user and use the apps hosted
by developers by joining the public portals.
• Users can upgrade their account to develop, host and publish apps.
• Developers could purchase apps developed by other developers and
integrate those apps to their portals.
• All the developer tenants are inter-connected using the “cloud event
bus”
2
High Level Architecture of Duo World
Local
Repository
Local
Repository
Load Balanced Cloud Event Bus Backbone
Cloud Event Bus
Cloud Event Bus
Global App
Repository
Duo World App
Store
Duo World
User
Registration 3
Prominent Components of Duo World
• User Portal – Enables the user to manage his account.
• DevStudio – IDE that provides features for developers to develop apps
for the platform.
• App Portal – Enables the developer to host apps for public access for
the end-users.
• App Market – Enables a developer to purchase apps published by
other developer.
• Tenant Watch – Handles administration tasks such as configuring,
monitoring of tenant resources.
4
Duo World Architecture
• Duo World is based on a hybrid of following architectural styles;
• Event Driven Architecture.
• Resource Oriented Architecture.
• Service Oriented Architecture.
5
Service Layer
Presentation
Layer
Duo World Eco-System
6
Cloud Event Bus
Tenant Watch
UI Microkernel
User PortalApp LauncherDev Studio App Market
Duo Object
Store
Process
Manager
Process
Scheduler
Duo Auth
Workflow
Engine
Duo Services Framework
7
Go Service Framework
Authentication
Interfaces
Configuration
Interfaces
Monitoring
Interfaces
Statistic
Interfaces
REST API
Documentation
Cloud Event Bus
Integration
Distributed
Logging
Interfaces
• Reusable components to develop the service layer components in the duo world
eco system.
• Reduces technical complexity to develop backend services by providing interfaces
to handle most commonly used functionality.
• Implemented using Golang.
UI Microkernel
• Based on the Microkernel concept of Operating System Architectures.
• Based on the concept of modularity.
• Implemented in the Presentation Layer using Angular.JS.
• Provides transparent access to the backend services using reusable interfaces.
• Part of the SDK where developers could use its interfaces to develop their apps.
8
UI Microkernel
Authentication
System Wide
Event Handling
Chat
Functionality
WebRTC Object Store
Backend
Monitoring
Application
Execution
Cloud Event Bus
• Middleware that integrates servers in the duo world eco-system, Integrates
external systems and provides evening and messaging mechanisms.
• Provides features such as;
• Distributed locking.
• Coordination between servers.
• Attempts to centralize global state.
• Centralizes Configuration
• Can be used to integrate with;
• Facebook
• Twitter
• Gmail
• SMS Gateways
• Can be used for fault tolerant features because every server in the eco-system is
connected to the event bus.
• Implemented using Node.JS 9
RabbitMQ Server
Rabbit MQ Docker
Rabbit MQ
Server
Docker
Agent
Server
Agent
Elastic Search Server
Elastic Search Docker
Elastic Search
Server
Docker
Agent
Server
Agent
Cloud Event Bus – Deployment View
10
Cloud Event Bus
Application Server 1
Server
Agent
Object Store Docker
Object Store Agent
DuoAuth Docker
DuoAuth Agent
Server 2
Process Manager Docker
Service Console Agent
Process Dispatcher Docker
Process Dispatcher Agent
Couchbase Server 1
Couchbase Docker
Couchbase
Server
Docker
Agent
Server
Agent
Couchbase Server 2
Couchbase Docker
Couchbase
Server
Docker
Agent
Server
Agent
Server
Agent
Cloud Event Bus – Logical View
11
Endpoint Manager
Client Registry
Command Manager
Chat Message Get All Users
Web Sockets TCP REST
Authentication Manager
Event Manager
Change User State
Integration Manager
Facebook Twitter Object Store RabbitMQ
Redis Session
Storage
OAuth Endpoint
Tenant Watch
• Application that centralizes all the administration tasks related to a
tenant.
• Monitor and control and configure dockers, servers and services using
agents.
• Configure global settings.
• Manage users connected to a tenant.
• Uses the services provided by UI Microkernel.
12
Duo Object Store
• REST API for developers to manipulate data using CRUD operations.
• Integrates with multiple types of databases (Key Value, Document, Big
Table, and Relational).
• Can be configured use various databases.
• Ability to replicate data maintaining the atomic property.
• In addition to the REST interface there’s a Golang API for Golang
developers.
13
Object Store Architecture
14
Object Store Data Service
Store Dispatcher
Storage Manager
Replicated Storage Engine
Cassandra Storage
Engine
Hive Storage Engine
Redis Storage Engine
Mongo Storage Engine
Queued Storage Engine
RabbitMQ
Dispatcher
Store Configuration ManagerSecurity Manager Schema Validator
Golang Library
Elastic Storage Engine
Couch Storage Engine
DuoWorld
DevStudio
• IDE that enables developers to develop apps on DuoWorld platform.
• Based on Codiad – an Open Source IDE, which can be extended using
plugins.
• Plugins to visually design user interfaces or workflows.
• Publish apps for the portal
15
DevStudio
16
Dev Studio Plugin – UI Designer
17
Dev Studio Plugin – Process Designer
18
App Portal
• Enables developers to publicly host their applications to be accessed
by end-users.
• Used UI Microkernel.
• Available with Apache Cordova for cross-platform mobile
applications.
19
App Portal
20
Thank You
21

More Related Content

What's hot

Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
Jakarta_EE
 
Microservice Architecture using Spring Boot with React & Redux
Microservice Architecture using Spring Boot with React & ReduxMicroservice Architecture using Spring Boot with React & Redux
Microservice Architecture using Spring Boot with React & Redux
NexThoughts Technologies
 
Access, Alerts and Application Insights
Access, Alerts and Application InsightsAccess, Alerts and Application Insights
Access, Alerts and Application Insights
Martin Abbott
 
Planning WSO2 Deployments on Pivotal Cloud Foundry
Planning WSO2 Deployments on Pivotal Cloud FoundryPlanning WSO2 Deployments on Pivotal Cloud Foundry
Planning WSO2 Deployments on Pivotal Cloud Foundry
Imesh Gunaratne
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
Jenis Dharmadurai
 
Liferay
LiferayLiferay
WSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product OverviewWSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product Overview
WSO2
 
Modern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for InnovationModern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for Innovation
Andrew Blades
 
Realm integration
Realm integrationRealm integration
Realm integration
Vijay Polsani
 
Android General information
Android General informationAndroid General information
Android General informationPrashant Gosai
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
Araf Karsh Hamid
 
WSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment PatternsWSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment Patterns
WSO2
 
Build your next app with MvvmCross 6
Build your next app with MvvmCross 6Build your next app with MvvmCross 6
Build your next app with MvvmCross 6
Nicolas Milcoff
 
[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native Environment[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native Environment
WSO2
 
2015 cloud trend and cloud DR
2015 cloud trend and cloud DR2015 cloud trend and cloud DR
2015 cloud trend and cloud DRbizmerce
 
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Globus
 
WSO2Con USA 2015: Building Your Own Store with WSO2 Enterprise Store: The WSO...
WSO2Con USA 2015: Building Your Own Store with WSO2 Enterprise Store: The WSO...WSO2Con USA 2015: Building Your Own Store with WSO2 Enterprise Store: The WSO...
WSO2Con USA 2015: Building Your Own Store with WSO2 Enterprise Store: The WSO...
WSO2
 
stackconf 2021 | Prometheus in 2021 and beyond
stackconf 2021 | Prometheus in 2021 and beyondstackconf 2021 | Prometheus in 2021 and beyond
stackconf 2021 | Prometheus in 2021 and beyond
NETWAYS
 
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
WSO2
 
Docker - HieuHoang
Docker - HieuHoangDocker - HieuHoang
Docker - HieuHoang
Hieu Hoang
 

What's hot (20)

Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
 
Microservice Architecture using Spring Boot with React & Redux
Microservice Architecture using Spring Boot with React & ReduxMicroservice Architecture using Spring Boot with React & Redux
Microservice Architecture using Spring Boot with React & Redux
 
Access, Alerts and Application Insights
Access, Alerts and Application InsightsAccess, Alerts and Application Insights
Access, Alerts and Application Insights
 
Planning WSO2 Deployments on Pivotal Cloud Foundry
Planning WSO2 Deployments on Pivotal Cloud FoundryPlanning WSO2 Deployments on Pivotal Cloud Foundry
Planning WSO2 Deployments on Pivotal Cloud Foundry
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
 
Liferay
LiferayLiferay
Liferay
 
WSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product OverviewWSO2 Business Process Server - Product Overview
WSO2 Business Process Server - Product Overview
 
Modern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for InnovationModern apps in a microservices age May meet up Architecting for Innovation
Modern apps in a microservices age May meet up Architecting for Innovation
 
Realm integration
Realm integrationRealm integration
Realm integration
 
Android General information
Android General informationAndroid General information
Android General information
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
 
WSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment PatternsWSO2 Enterprise Integrator Deployment Patterns
WSO2 Enterprise Integrator Deployment Patterns
 
Build your next app with MvvmCross 6
Build your next app with MvvmCross 6Build your next app with MvvmCross 6
Build your next app with MvvmCross 6
 
[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native Environment[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native Environment
 
2015 cloud trend and cloud DR
2015 cloud trend and cloud DR2015 cloud trend and cloud DR
2015 cloud trend and cloud DR
 
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)Introduction to the Globus Platform (GlobusWorld Tour - UMich)
Introduction to the Globus Platform (GlobusWorld Tour - UMich)
 
WSO2Con USA 2015: Building Your Own Store with WSO2 Enterprise Store: The WSO...
WSO2Con USA 2015: Building Your Own Store with WSO2 Enterprise Store: The WSO...WSO2Con USA 2015: Building Your Own Store with WSO2 Enterprise Store: The WSO...
WSO2Con USA 2015: Building Your Own Store with WSO2 Enterprise Store: The WSO...
 
stackconf 2021 | Prometheus in 2021 and beyond
stackconf 2021 | Prometheus in 2021 and beyondstackconf 2021 | Prometheus in 2021 and beyond
stackconf 2021 | Prometheus in 2021 and beyond
 
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
[WSO2Con EU 2017] WSO2 Integration Cloud: End-to-End Demonstration Including ...
 
Docker - HieuHoang
Docker - HieuHoangDocker - HieuHoang
Docker - HieuHoang
 

Similar to Duo World Architecture

Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Patrick Chanezon
 
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
DevOps.com
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewChris Ciborowski
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
Docker, Inc.
 
citus™ iot ecosystem
citus™ iot ecosystemcitus™ iot ecosystem
citus™ iot ecosystem
DUONG Dinh Cuong
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
vijayrvr
 
Md Zahir Uddin
Md Zahir UddinMd Zahir Uddin
Md Zahir Uddin
Md Zahir Uddin
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
John Zaccone
 
Entando datasheet
Entando datasheetEntando datasheet
Entando datasheet
Daniele Oliverio
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
SenthilKumar Selvaraj
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
Docker, Inc.
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
VMware Tanzu
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source
John Willis
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
James Falkner
 
FICO Open Shift presentation
FICO Open Shift presentationFICO Open Shift presentation
FICO Open Shift presentation
Nicholas Gerasimatos
 
Cloud Native Application Integration With APIs
Cloud Native Application Integration With APIsCloud Native Application Integration With APIs
Cloud Native Application Integration With APIs
Nirmal Fernando
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Vishwas N
 
DCHQ
DCHQDCHQ

Similar to Duo World Architecture (20)

Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
Centralize and Simplify Secrets Management for Red Hat OpenShift Container En...
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
citus™ iot ecosystem
citus™ iot ecosystemcitus™ iot ecosystem
citus™ iot ecosystem
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Md Zahir Uddin
Md Zahir UddinMd Zahir Uddin
Md Zahir Uddin
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
 
Entando datasheet
Entando datasheetEntando datasheet
Entando datasheet
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
FICO Open Shift presentation
FICO Open Shift presentationFICO Open Shift presentation
FICO Open Shift presentation
 
Cloud Native Application Integration With APIs
Cloud Native Application Integration With APIsCloud Native Application Integration With APIs
Cloud Native Application Integration With APIs
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
DCHQ
DCHQDCHQ
DCHQ
 

More from Supun Dissanayake

Creativity vs Best Practices
Creativity vs Best PracticesCreativity vs Best Practices
Creativity vs Best Practices
Supun Dissanayake
 
Duo World Presentation
Duo World Presentation Duo World Presentation
Duo World Presentation
Supun Dissanayake
 
Perception.JS - A Framework for Context Acquisition Processing and Presentation
Perception.JS - A Framework for Context Acquisition Processing and PresentationPerception.JS - A Framework for Context Acquisition Processing and Presentation
Perception.JS - A Framework for Context Acquisition Processing and Presentation
Supun Dissanayake
 
Solve it Differently with Reactive Programming
Solve it Differently with Reactive ProgrammingSolve it Differently with Reactive Programming
Solve it Differently with Reactive Programming
Supun Dissanayake
 
Steroids Tech Talk at the Colombo JavaScript Meetup in October 2017
Steroids Tech Talk at the Colombo JavaScript Meetup in October 2017Steroids Tech Talk at the Colombo JavaScript Meetup in October 2017
Steroids Tech Talk at the Colombo JavaScript Meetup in October 2017
Supun Dissanayake
 
Internals of Steroids Framework
Internals of Steroids FrameworkInternals of Steroids Framework
Internals of Steroids Framework
Supun Dissanayake
 

More from Supun Dissanayake (6)

Creativity vs Best Practices
Creativity vs Best PracticesCreativity vs Best Practices
Creativity vs Best Practices
 
Duo World Presentation
Duo World Presentation Duo World Presentation
Duo World Presentation
 
Perception.JS - A Framework for Context Acquisition Processing and Presentation
Perception.JS - A Framework for Context Acquisition Processing and PresentationPerception.JS - A Framework for Context Acquisition Processing and Presentation
Perception.JS - A Framework for Context Acquisition Processing and Presentation
 
Solve it Differently with Reactive Programming
Solve it Differently with Reactive ProgrammingSolve it Differently with Reactive Programming
Solve it Differently with Reactive Programming
 
Steroids Tech Talk at the Colombo JavaScript Meetup in October 2017
Steroids Tech Talk at the Colombo JavaScript Meetup in October 2017Steroids Tech Talk at the Colombo JavaScript Meetup in October 2017
Steroids Tech Talk at the Colombo JavaScript Meetup in October 2017
 
Internals of Steroids Framework
Internals of Steroids FrameworkInternals of Steroids Framework
Internals of Steroids Framework
 

Recently uploaded

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 

Recently uploaded (20)

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 

Duo World Architecture

  • 2. What is Duo World • A PaaS that enables the users to develop apps and host their apps in a “developer portal” for public access or to sell their apps in the market place. • First any person can register as an end-user and use the apps hosted by developers by joining the public portals. • Users can upgrade their account to develop, host and publish apps. • Developers could purchase apps developed by other developers and integrate those apps to their portals. • All the developer tenants are inter-connected using the “cloud event bus” 2
  • 3. High Level Architecture of Duo World Local Repository Local Repository Load Balanced Cloud Event Bus Backbone Cloud Event Bus Cloud Event Bus Global App Repository Duo World App Store Duo World User Registration 3
  • 4. Prominent Components of Duo World • User Portal – Enables the user to manage his account. • DevStudio – IDE that provides features for developers to develop apps for the platform. • App Portal – Enables the developer to host apps for public access for the end-users. • App Market – Enables a developer to purchase apps published by other developer. • Tenant Watch – Handles administration tasks such as configuring, monitoring of tenant resources. 4
  • 5. Duo World Architecture • Duo World is based on a hybrid of following architectural styles; • Event Driven Architecture. • Resource Oriented Architecture. • Service Oriented Architecture. 5
  • 6. Service Layer Presentation Layer Duo World Eco-System 6 Cloud Event Bus Tenant Watch UI Microkernel User PortalApp LauncherDev Studio App Market Duo Object Store Process Manager Process Scheduler Duo Auth Workflow Engine
  • 7. Duo Services Framework 7 Go Service Framework Authentication Interfaces Configuration Interfaces Monitoring Interfaces Statistic Interfaces REST API Documentation Cloud Event Bus Integration Distributed Logging Interfaces • Reusable components to develop the service layer components in the duo world eco system. • Reduces technical complexity to develop backend services by providing interfaces to handle most commonly used functionality. • Implemented using Golang.
  • 8. UI Microkernel • Based on the Microkernel concept of Operating System Architectures. • Based on the concept of modularity. • Implemented in the Presentation Layer using Angular.JS. • Provides transparent access to the backend services using reusable interfaces. • Part of the SDK where developers could use its interfaces to develop their apps. 8 UI Microkernel Authentication System Wide Event Handling Chat Functionality WebRTC Object Store Backend Monitoring Application Execution
  • 9. Cloud Event Bus • Middleware that integrates servers in the duo world eco-system, Integrates external systems and provides evening and messaging mechanisms. • Provides features such as; • Distributed locking. • Coordination between servers. • Attempts to centralize global state. • Centralizes Configuration • Can be used to integrate with; • Facebook • Twitter • Gmail • SMS Gateways • Can be used for fault tolerant features because every server in the eco-system is connected to the event bus. • Implemented using Node.JS 9
  • 10. RabbitMQ Server Rabbit MQ Docker Rabbit MQ Server Docker Agent Server Agent Elastic Search Server Elastic Search Docker Elastic Search Server Docker Agent Server Agent Cloud Event Bus – Deployment View 10 Cloud Event Bus Application Server 1 Server Agent Object Store Docker Object Store Agent DuoAuth Docker DuoAuth Agent Server 2 Process Manager Docker Service Console Agent Process Dispatcher Docker Process Dispatcher Agent Couchbase Server 1 Couchbase Docker Couchbase Server Docker Agent Server Agent Couchbase Server 2 Couchbase Docker Couchbase Server Docker Agent Server Agent Server Agent
  • 11. Cloud Event Bus – Logical View 11 Endpoint Manager Client Registry Command Manager Chat Message Get All Users Web Sockets TCP REST Authentication Manager Event Manager Change User State Integration Manager Facebook Twitter Object Store RabbitMQ Redis Session Storage OAuth Endpoint
  • 12. Tenant Watch • Application that centralizes all the administration tasks related to a tenant. • Monitor and control and configure dockers, servers and services using agents. • Configure global settings. • Manage users connected to a tenant. • Uses the services provided by UI Microkernel. 12
  • 13. Duo Object Store • REST API for developers to manipulate data using CRUD operations. • Integrates with multiple types of databases (Key Value, Document, Big Table, and Relational). • Can be configured use various databases. • Ability to replicate data maintaining the atomic property. • In addition to the REST interface there’s a Golang API for Golang developers. 13
  • 14. Object Store Architecture 14 Object Store Data Service Store Dispatcher Storage Manager Replicated Storage Engine Cassandra Storage Engine Hive Storage Engine Redis Storage Engine Mongo Storage Engine Queued Storage Engine RabbitMQ Dispatcher Store Configuration ManagerSecurity Manager Schema Validator Golang Library Elastic Storage Engine Couch Storage Engine DuoWorld
  • 15. DevStudio • IDE that enables developers to develop apps on DuoWorld platform. • Based on Codiad – an Open Source IDE, which can be extended using plugins. • Plugins to visually design user interfaces or workflows. • Publish apps for the portal 15
  • 17. Dev Studio Plugin – UI Designer 17
  • 18. Dev Studio Plugin – Process Designer 18
  • 19. App Portal • Enables developers to publicly host their applications to be accessed by end-users. • Used UI Microkernel. • Available with Apache Cordova for cross-platform mobile applications. 19