SlideShare a Scribd company logo
1 of 6
Download to read offline
Rapid Cloud Application Development 
with LimeDS 
Wannes Kerckhove, Thomas Dupont, Bruno Volckaert 
Context 
The Cloud revolutionized the IT industry and led to the emergence of a rich ecosystem that                               
offers countless services and new opportunities to a wide array of different actors. Startup                           
companies and small businesses can benefit greatly from the availability of countless reliable                         
and affordable Infrastructure as a Service (IaaS) providers, allowing instant scaling of resources                         
without the need for upfront investments in expensive hardware. Enabled by operational tools                         
such as Docker and Juju, which facilitate the configuration, provisioning and monitoring of cloud                           
deployments, Platform as a Service (PaaS) offerings provide dependable and easily                     
manageable runtime environments for all kinds of software platforms. By leveraging PaaS                       
solutions, operational overhead can be reduced and development cycles can be accelerated.                       
Finally, Software as a Service (SaaS) has become one of the prime ways in which people                               
interact with software (next to mobile apps) and often provide accessible Application                       
Programming Interfaces (APIs) that enable interesting integration­possibilities with other cloud                   
applications and services. 
 
The quality and scope of an ecosystem is an important factor, but at the core of its success are                                     
the applications (cfr. the landslide in the mobile industry after the release of the first iPhone and                                 
later Android). However, developing quality cloud applications & services is not a trivial task: the                             
inherent distributed nature of the cloud and the additional effort required for testing are some of                               
the obstacles faced in this regard. At the same time, engineering teams all over the world are                                 
still holding on to development practices and technologies that were designed before the                         
emergence of cloud technologies: large enterprise applications stacks that are hard to configure                         
and take a long time to boot are not compatible with the Cloud philosophy of rapidly deployable                                 
instances. Middleware platforms that are difficult to extend with new communication protocols or                         
are having trouble accepting dynamic data due to the use of some rigorously defined format.                             
Libraries on the other hand are not tuned to running in a fully distributed environment and can’t                                 
take full advantage of the power of the infrastructure.  
 
The rise of Open Data initiatives along with the APIs provided by Cloud services such as                               
Google Maps, Twitter, OpenWeatherMap make it now easier than ever to create meaningful                         
applications that can influence the way we live our lives. Unfortunately, these sources cannot                           
always be relied upon because of service interruptions (Open Data is mostly provided on a                             
voluntarily basis, no SLAs) or because of the limits imposed by the APIs (sometimes as a                               
means of revenue, but often as a way to bound system load). 
LimeDS: Wiring Applications in The Cloud 
LimeDS (LIghtweight Modular Environment for Data­oriented Services) is a toolkit for rapidly                       
building JVM­based Cloud applications with a strong focus on developer productivity and                       
interoperability with other services and devices. Development started at the Internet Based                       
Communication Networks and Services (IBCN) research group of Ghent University with the goal                         
of creating a platform that can provide a fast and qualitative solution to the recurring R&D                               
challenges IBCN faces in collaboration with the industry. 
 
In the last two years, LimeDS has been deployed in a public transport research project (with a                                 
focus on providing a robust service in a harsh railway environment) and is currently being used                               
in several Internet of Things and Mechatronics projects as an integration and control flow engine                             
between the edge­devices and the Cloud. This successful track record has allowed us to                           
expand upon the platform and we are now looking to take on new applications domains. 
 
 
 
Conceptually, LimeDS relies on a simple abstraction: functional components with JSON                     
formatted input and output are used to model modular pieces of logic ranging from basic filter or                                 
processing steps, to storage operations or network service invocations. These components form                       
the building blocks of a LimeDS application. Specific services and functionality can then be                           
created by combining these building blocks in what we call Data Flows. A visual editor (see the                                 
screenshot above) enables users to design Data Flows in a very intuitive way by drawing                             
connections between components and by adding small snippets of Javascript code, which is                         
well­suited to perform transformations on the JSON message format. Power users can utilize                         
the LimeDS Java API to create Data Flows programmatically or to extend the modular platform                             
with e.g. additional authentication algorithms or new communication protocols. 
 
The power of this abstraction lies in the uniformity of the components. While the Data Flow                               
paradigm can be used to create complex applications with extensive logical flows, the individual                           
components always adhere to a simple interface with JSON flowing in and out. This allows the                               
framework to provide generic but configurable capabilities to each of the components without                         
needing to know the details of its operation. Examples of such capabilities are component                           
caching, I/O validation, security, failure detection, load balancing, etc. Additionally, each                     
component can be configured to be triggered by HTTP requests, incoming messages or                         
scheduling events. 
 
LimeDS is implemented on top of OSGi, a mature Java middleware framework for creating                           
modular software. OSGi embraces the dynamic and uncertain nature of software (Is Service X                           
available? Has the system loaded a compatible version of library Y?) and provides developers                           
with the necessary hooks to react to at­runtime changes in a production environment. Powered                           
by OSGi, LimeDS will dynamically wire and rewire links between the components while the                           
software is running. If a component is malfunctioning or a connection with a remote system can                               
no longer be established, LimeDS is able to discover new paths in the Data Flow, allowing the                                 
application to recover from otherwise system­breaking failures. 
 
The headless version of LimeDS (without the visual editor) has a footprint of under 10 MB, can                                 
be deployed on any platform with a Java 8 compatible JVM, boots in a few seconds, can run                                   
validated, high­performance RESTful Web services and integrate with external Web APIs                     
out­of­the­box. 
 
 
   
In order to highlight some strengths of the LimeDS platform, we show a concise example of a                                 
Data Flow: 
 
 
The above Java code uses the LimeDS annotation API to construct a component that                           
periodically fetches car park information from another component (​InfoGetter​), filters the                     
information for available spots and then uses the LimeDS EventBus to publish this new                           
information to enable other components to react (e.g. by notifying a user). The component that                             
fetches the car park information is defined as follows: 
 
 
Note that this component has a HTTP assertion configured that will enable the framework to                             
monitor the availability of a remote API. If the API goes down, LimeDS will react by deactivating                                 
the component and all components that depend on it. For the example presented here, this                             
implies that when the remote API fails, the ​FreeSpotPublisher ​component will no longer be                           
scheduled to run until the API becomes available again. Image all the boilerplate code that                             
would be required to implement this kind of behaviour in a standard Java application.                           
Additionally, the component is configured to cache its responses, reducing the load on the                           
remote API. 
 
This functionality can of course also be visually constructed using the visual flow builder, which                             
will result in the same behaviour running on top of the LimeDS instance. 
 
 
The screenshot above shows a preview of how this flow would look like in the visual builder.                                 
This time Javascript was chosen as the implementation language of choice for the                         
FreeSpotPublisher ​component. 
 
To conclude we would like to state that LimeDS is not a silver bullet and there are certainly                                   
aspects of the framework where other technologies have a definite edge. However, by                         
combining a (visual) building block approach to development with a dynamic runtime that                         
facilitates application robustness and with productivity features aimed at reducing boilerplate                     
code, all in a lightweight package, we are confident that LimeDS can be an interesting addition                               
to the toolkit of any developer working in the Cloud ecosystem. 
What’s next? 
We are planning to release LimeDS under an Open Source License as we want it to be used by                                     
both corporations and private individuals. Our ambition is to build a community around the                           
platform to promote the sharing and reuse of components and to ensure the quality, robustness                             
and scalability of the platform by incorporating community feedback. 
 
To this end, we are developing a LimeDS repository system that will facilitate the sharing of                               
components through means of a Web interface and will provide the necessary mechanisms to                           
enable the provisioning and update management of running LimeDS instances. This system will                         
also be made Open Source in order to provide teams with a way to setup their own private                                   
repositories. 
 
To show our commitment to the platform, we will use the repository system to share a number of                                   
components that will allow LimeDS users to easily integrate with industry­standard technologies                       
and APIs. 
 
In the long run, we would like to expose the LimeDS platform as a Cloud Service (PaaS) with a                                     
wide range of management and debugging tools, to enable users to create production­ready                         
and publicly accessible services in a matter of minutes. 
Contact 
For more information about LimeDS, visit our website at ​http://limeds.intec.ugent.be​. Feel free to 
use the contact form for further enquiries. 
 
 

More Related Content

What's hot

Where can you use serverless?  How does it relate to APIs, integration and mi...
Where can you use serverless?  How does it relate to APIs, integration and mi...Where can you use serverless?  How does it relate to APIs, integration and mi...
Where can you use serverless?  How does it relate to APIs, integration and mi...Kim Clark
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesAraf Karsh Hamid
 
20111206 Cloud Expo Nl Jaarbeurs 7 Dec
20111206 Cloud Expo Nl Jaarbeurs 7 Dec20111206 Cloud Expo Nl Jaarbeurs 7 Dec
20111206 Cloud Expo Nl Jaarbeurs 7 DecTheo Slaats
 
Oracle SOA Suite 12c 1z0-434 Day 1/3
Oracle SOA Suite 12c 1z0-434 Day 1/3Oracle SOA Suite 12c 1z0-434 Day 1/3
Oracle SOA Suite 12c 1z0-434 Day 1/3Michael Medin
 
Implementation and Evaluation of a Component-Based framework for Internet App...
Implementation and Evaluation of a Component-Based framework for Internet App...Implementation and Evaluation of a Component-Based framework for Internet App...
Implementation and Evaluation of a Component-Based framework for Internet App...ITIIIndustries
 
COMPARATIVE STUDY OF VARIOUS PLATFORM AS A SERVICE FRAMEWORKS
COMPARATIVE STUDY OF VARIOUS PLATFORM AS A SERVICE FRAMEWORKSCOMPARATIVE STUDY OF VARIOUS PLATFORM AS A SERVICE FRAMEWORKS
COMPARATIVE STUDY OF VARIOUS PLATFORM AS A SERVICE FRAMEWORKSijccsa
 
Cloud based integration_and_soa_architecture
Cloud based integration_and_soa_architectureCloud based integration_and_soa_architecture
Cloud based integration_and_soa_architectureFiorano Software
 
Soa12c launch 1 overview cr
Soa12c launch 1 overview crSoa12c launch 1 overview cr
Soa12c launch 1 overview crVasily Demin
 
EastBanc Technologies Portals and CMS Portfolio
EastBanc Technologies Portals and CMS PortfolioEastBanc Technologies Portals and CMS Portfolio
EastBanc Technologies Portals and CMS PortfolioEastBanc Tachnologies
 
Converged open platform for enterprise
Converged open platform for enterpriseConverged open platform for enterprise
Converged open platform for enterpriseRoger Xia
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsNima Badiey
 
Cloud portability e interoperability: il progetto europeo mOSAIC
Cloud portability e interoperability: il progetto europeo mOSAICCloud portability e interoperability: il progetto europeo mOSAIC
Cloud portability e interoperability: il progetto europeo mOSAICVMEngine
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration TechnologiesPeter R. Egli
 
An evaluation of distributed datastores using the app scale cloud platform
An evaluation of distributed datastores using the app scale cloud platformAn evaluation of distributed datastores using the app scale cloud platform
An evaluation of distributed datastores using the app scale cloud platformhimanshuvaishnav
 
Why Your Digital Transformation Strategy Demands Middleware Modernization
Why Your Digital Transformation Strategy Demands Middleware ModernizationWhy Your Digital Transformation Strategy Demands Middleware Modernization
Why Your Digital Transformation Strategy Demands Middleware ModernizationVMware Tanzu
 
Interface characteristics - Kim Clark and Brian Petrini
Interface characteristics - Kim Clark and Brian PetriniInterface characteristics - Kim Clark and Brian Petrini
Interface characteristics - Kim Clark and Brian PetriniKim Clark
 

What's hot (19)

Where can you use serverless?  How does it relate to APIs, integration and mi...
Where can you use serverless?  How does it relate to APIs, integration and mi...Where can you use serverless?  How does it relate to APIs, integration and mi...
Where can you use serverless?  How does it relate to APIs, integration and mi...
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
20111206 Cloud Expo Nl Jaarbeurs 7 Dec
20111206 Cloud Expo Nl Jaarbeurs 7 Dec20111206 Cloud Expo Nl Jaarbeurs 7 Dec
20111206 Cloud Expo Nl Jaarbeurs 7 Dec
 
Oracle SOA Suite 12c 1z0-434 Day 1/3
Oracle SOA Suite 12c 1z0-434 Day 1/3Oracle SOA Suite 12c 1z0-434 Day 1/3
Oracle SOA Suite 12c 1z0-434 Day 1/3
 
Implementation and Evaluation of a Component-Based framework for Internet App...
Implementation and Evaluation of a Component-Based framework for Internet App...Implementation and Evaluation of a Component-Based framework for Internet App...
Implementation and Evaluation of a Component-Based framework for Internet App...
 
COMPARATIVE STUDY OF VARIOUS PLATFORM AS A SERVICE FRAMEWORKS
COMPARATIVE STUDY OF VARIOUS PLATFORM AS A SERVICE FRAMEWORKSCOMPARATIVE STUDY OF VARIOUS PLATFORM AS A SERVICE FRAMEWORKS
COMPARATIVE STUDY OF VARIOUS PLATFORM AS A SERVICE FRAMEWORKS
 
Enomaly
EnomalyEnomaly
Enomaly
 
Cloud based integration_and_soa_architecture
Cloud based integration_and_soa_architectureCloud based integration_and_soa_architecture
Cloud based integration_and_soa_architecture
 
Soa12c launch 1 overview cr
Soa12c launch 1 overview crSoa12c launch 1 overview cr
Soa12c launch 1 overview cr
 
Nethaji Resume
Nethaji ResumeNethaji Resume
Nethaji Resume
 
Darron_Haworth_2016
Darron_Haworth_2016Darron_Haworth_2016
Darron_Haworth_2016
 
EastBanc Technologies Portals and CMS Portfolio
EastBanc Technologies Portals and CMS PortfolioEastBanc Technologies Portals and CMS Portfolio
EastBanc Technologies Portals and CMS Portfolio
 
Converged open platform for enterprise
Converged open platform for enterpriseConverged open platform for enterprise
Converged open platform for enterprise
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
 
Cloud portability e interoperability: il progetto europeo mOSAIC
Cloud portability e interoperability: il progetto europeo mOSAICCloud portability e interoperability: il progetto europeo mOSAIC
Cloud portability e interoperability: il progetto europeo mOSAIC
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration Technologies
 
An evaluation of distributed datastores using the app scale cloud platform
An evaluation of distributed datastores using the app scale cloud platformAn evaluation of distributed datastores using the app scale cloud platform
An evaluation of distributed datastores using the app scale cloud platform
 
Why Your Digital Transformation Strategy Demands Middleware Modernization
Why Your Digital Transformation Strategy Demands Middleware ModernizationWhy Your Digital Transformation Strategy Demands Middleware Modernization
Why Your Digital Transformation Strategy Demands Middleware Modernization
 
Interface characteristics - Kim Clark and Brian Petrini
Interface characteristics - Kim Clark and Brian PetriniInterface characteristics - Kim Clark and Brian Petrini
Interface characteristics - Kim Clark and Brian Petrini
 

Viewers also liked

Ms. McVey's Class Fossil Presentation
Ms. McVey's Class Fossil PresentationMs. McVey's Class Fossil Presentation
Ms. McVey's Class Fossil PresentationScience Tech
 
French Leave Eleuthera Brochure
French Leave Eleuthera BrochureFrench Leave Eleuthera Brochure
French Leave Eleuthera BrochureFrenchLeaveVillage
 
Ms. Wetzel's Class Fossil Presentation
Ms. Wetzel's Class Fossil PresentationMs. Wetzel's Class Fossil Presentation
Ms. Wetzel's Class Fossil PresentationScience Tech
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...mfurlanetto
 

Viewers also liked (6)

The TalentBox
The TalentBoxThe TalentBox
The TalentBox
 
Ms. McVey's Class Fossil Presentation
Ms. McVey's Class Fossil PresentationMs. McVey's Class Fossil Presentation
Ms. McVey's Class Fossil Presentation
 
French Leave Eleuthera Brochure
French Leave Eleuthera BrochureFrench Leave Eleuthera Brochure
French Leave Eleuthera Brochure
 
Ctl business group
Ctl business groupCtl business group
Ctl business group
 
Ms. Wetzel's Class Fossil Presentation
Ms. Wetzel's Class Fossil PresentationMs. Wetzel's Class Fossil Presentation
Ms. Wetzel's Class Fossil Presentation
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
 

Similar to Rapid Development of Cloud Apps with LimeDS Framework

Ijaprr vol1-3-10-14prajguru
Ijaprr vol1-3-10-14prajguruIjaprr vol1-3-10-14prajguru
Ijaprr vol1-3-10-14prajguruijaprr_editor
 
Ijaprr vol1-3-10-14prajguru
Ijaprr vol1-3-10-14prajguruIjaprr vol1-3-10-14prajguru
Ijaprr vol1-3-10-14prajguruijaprr
 
Mobilizing Oracle Applications ERP - A Whitepaper by RapidValue Solutions
Mobilizing Oracle Applications ERP - A Whitepaper by RapidValue SolutionsMobilizing Oracle Applications ERP - A Whitepaper by RapidValue Solutions
Mobilizing Oracle Applications ERP - A Whitepaper by RapidValue SolutionsRapidValue
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment ToolkitBret Piatt
 
COMPARISON OF OPEN-SOURCE PAAS ARCHITECTURAL COMPONENTS
COMPARISON OF OPEN-SOURCE PAAS ARCHITECTURAL COMPONENTSCOMPARISON OF OPEN-SOURCE PAAS ARCHITECTURAL COMPONENTS
COMPARISON OF OPEN-SOURCE PAAS ARCHITECTURAL COMPONENTScscpconf
 
Comparison of open source paas architectural components
Comparison of open source paas architectural componentsComparison of open source paas architectural components
Comparison of open source paas architectural componentscsandit
 
Technology Overview
Technology OverviewTechnology Overview
Technology OverviewLiran Zelkha
 
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...Convertigo | MADP & MBaaS
 
Comparative Study of Various Platform as a Service Frameworks
Comparative Study of Various Platform as a Service Frameworks Comparative Study of Various Platform as a Service Frameworks
Comparative Study of Various Platform as a Service Frameworks neirew J
 
Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerceHARIHARAN ANANTHARAMAN
 
REST-style Actionscript programming interface for message distribution using ...
REST-style Actionscript programming interface for message distribution using ...REST-style Actionscript programming interface for message distribution using ...
REST-style Actionscript programming interface for message distribution using ...Kresimir Popovic
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsSrdjan Strbanovic
 
International Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docxInternational Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docxvrickens
 
Cloud Computing Standards and Use Cases (Robert Grossman) 09-v8p
Cloud Computing Standards and Use Cases (Robert Grossman) 09-v8pCloud Computing Standards and Use Cases (Robert Grossman) 09-v8p
Cloud Computing Standards and Use Cases (Robert Grossman) 09-v8pRobert Grossman
 

Similar to Rapid Development of Cloud Apps with LimeDS Framework (20)

Ijaprr vol1-3-10-14prajguru
Ijaprr vol1-3-10-14prajguruIjaprr vol1-3-10-14prajguru
Ijaprr vol1-3-10-14prajguru
 
Ijaprr vol1-3-10-14prajguru
Ijaprr vol1-3-10-14prajguruIjaprr vol1-3-10-14prajguru
Ijaprr vol1-3-10-14prajguru
 
Mobilizing Oracle Applications ERP - A Whitepaper by RapidValue Solutions
Mobilizing Oracle Applications ERP - A Whitepaper by RapidValue SolutionsMobilizing Oracle Applications ERP - A Whitepaper by RapidValue Solutions
Mobilizing Oracle Applications ERP - A Whitepaper by RapidValue Solutions
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
 
COMPARISON OF OPEN-SOURCE PAAS ARCHITECTURAL COMPONENTS
COMPARISON OF OPEN-SOURCE PAAS ARCHITECTURAL COMPONENTSCOMPARISON OF OPEN-SOURCE PAAS ARCHITECTURAL COMPONENTS
COMPARISON OF OPEN-SOURCE PAAS ARCHITECTURAL COMPONENTS
 
Comparison of open source paas architectural components
Comparison of open source paas architectural componentsComparison of open source paas architectural components
Comparison of open source paas architectural components
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...Convertigo Mobility Platform | Mobile Application Development for Enterprises...
Convertigo Mobility Platform | Mobile Application Development for Enterprises...
 
Comparative Study of Various Platform as a Service Frameworks
Comparative Study of Various Platform as a Service Frameworks Comparative Study of Various Platform as a Service Frameworks
Comparative Study of Various Platform as a Service Frameworks
 
Cloud technologies
Cloud technologiesCloud technologies
Cloud technologies
 
NodeJs Frameworks.pdf
NodeJs Frameworks.pdfNodeJs Frameworks.pdf
NodeJs Frameworks.pdf
 
Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerce
 
REST-style Actionscript programming interface for message distribution using ...
REST-style Actionscript programming interface for message distribution using ...REST-style Actionscript programming interface for message distribution using ...
REST-style Actionscript programming interface for message distribution using ...
 
Twelve factor-app
Twelve factor-appTwelve factor-app
Twelve factor-app
 
Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
 
Top 5 backend frameworks for web development in.pptx
Top 5 backend frameworks for web development in.pptxTop 5 backend frameworks for web development in.pptx
Top 5 backend frameworks for web development in.pptx
 
International Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docxInternational Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docx
 
call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...call for papers, research paper publishing, where to publish research paper, ...
call for papers, research paper publishing, where to publish research paper, ...
 
Cloud Computing Standards and Use Cases (Robert Grossman) 09-v8p
Cloud Computing Standards and Use Cases (Robert Grossman) 09-v8pCloud Computing Standards and Use Cases (Robert Grossman) 09-v8p
Cloud Computing Standards and Use Cases (Robert Grossman) 09-v8p
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 

Rapid Development of Cloud Apps with LimeDS Framework

  • 1. Rapid Cloud Application Development  with LimeDS  Wannes Kerckhove, Thomas Dupont, Bruno Volckaert  Context  The Cloud revolutionized the IT industry and led to the emergence of a rich ecosystem that                                offers countless services and new opportunities to a wide array of different actors. Startup                            companies and small businesses can benefit greatly from the availability of countless reliable                          and affordable Infrastructure as a Service (IaaS) providers, allowing instant scaling of resources                          without the need for upfront investments in expensive hardware. Enabled by operational tools                          such as Docker and Juju, which facilitate the configuration, provisioning and monitoring of cloud                            deployments, Platform as a Service (PaaS) offerings provide dependable and easily                      manageable runtime environments for all kinds of software platforms. By leveraging PaaS                        solutions, operational overhead can be reduced and development cycles can be accelerated.                        Finally, Software as a Service (SaaS) has become one of the prime ways in which people                                interact with software (next to mobile apps) and often provide accessible Application                        Programming Interfaces (APIs) that enable interesting integration­possibilities with other cloud                    applications and services.    The quality and scope of an ecosystem is an important factor, but at the core of its success are                                      the applications (cfr. the landslide in the mobile industry after the release of the first iPhone and                                  later Android). However, developing quality cloud applications & services is not a trivial task: the                              inherent distributed nature of the cloud and the additional effort required for testing are some of                                the obstacles faced in this regard. At the same time, engineering teams all over the world are                                  still holding on to development practices and technologies that were designed before the                          emergence of cloud technologies: large enterprise applications stacks that are hard to configure                          and take a long time to boot are not compatible with the Cloud philosophy of rapidly deployable                                  instances. Middleware platforms that are difficult to extend with new communication protocols or                          are having trouble accepting dynamic data due to the use of some rigorously defined format.                              Libraries on the other hand are not tuned to running in a fully distributed environment and can’t                                  take full advantage of the power of the infrastructure.     The rise of Open Data initiatives along with the APIs provided by Cloud services such as                                Google Maps, Twitter, OpenWeatherMap make it now easier than ever to create meaningful                          applications that can influence the way we live our lives. Unfortunately, these sources cannot                            always be relied upon because of service interruptions (Open Data is mostly provided on a                              voluntarily basis, no SLAs) or because of the limits imposed by the APIs (sometimes as a                                means of revenue, but often as a way to bound system load). 
  • 2. LimeDS: Wiring Applications in The Cloud  LimeDS (LIghtweight Modular Environment for Data­oriented Services) is a toolkit for rapidly                        building JVM­based Cloud applications with a strong focus on developer productivity and                        interoperability with other services and devices. Development started at the Internet Based                        Communication Networks and Services (IBCN) research group of Ghent University with the goal                          of creating a platform that can provide a fast and qualitative solution to the recurring R&D                                challenges IBCN faces in collaboration with the industry.    In the last two years, LimeDS has been deployed in a public transport research project (with a                                  focus on providing a robust service in a harsh railway environment) and is currently being used                                in several Internet of Things and Mechatronics projects as an integration and control flow engine                              between the edge­devices and the Cloud. This successful track record has allowed us to                            expand upon the platform and we are now looking to take on new applications domains.        Conceptually, LimeDS relies on a simple abstraction: functional components with JSON                      formatted input and output are used to model modular pieces of logic ranging from basic filter or                                 
  • 3. processing steps, to storage operations or network service invocations. These components form                        the building blocks of a LimeDS application. Specific services and functionality can then be                            created by combining these building blocks in what we call Data Flows. A visual editor (see the                                  screenshot above) enables users to design Data Flows in a very intuitive way by drawing                              connections between components and by adding small snippets of Javascript code, which is                          well­suited to perform transformations on the JSON message format. Power users can utilize                          the LimeDS Java API to create Data Flows programmatically or to extend the modular platform                              with e.g. additional authentication algorithms or new communication protocols.    The power of this abstraction lies in the uniformity of the components. While the Data Flow                                paradigm can be used to create complex applications with extensive logical flows, the individual                            components always adhere to a simple interface with JSON flowing in and out. This allows the                                framework to provide generic but configurable capabilities to each of the components without                          needing to know the details of its operation. Examples of such capabilities are component                            caching, I/O validation, security, failure detection, load balancing, etc. Additionally, each                      component can be configured to be triggered by HTTP requests, incoming messages or                          scheduling events.    LimeDS is implemented on top of OSGi, a mature Java middleware framework for creating                            modular software. OSGi embraces the dynamic and uncertain nature of software (Is Service X                            available? Has the system loaded a compatible version of library Y?) and provides developers                            with the necessary hooks to react to at­runtime changes in a production environment. Powered                            by OSGi, LimeDS will dynamically wire and rewire links between the components while the                            software is running. If a component is malfunctioning or a connection with a remote system can                                no longer be established, LimeDS is able to discover new paths in the Data Flow, allowing the                                  application to recover from otherwise system­breaking failures.    The headless version of LimeDS (without the visual editor) has a footprint of under 10 MB, can                                  be deployed on any platform with a Java 8 compatible JVM, boots in a few seconds, can run                                    validated, high­performance RESTful Web services and integrate with external Web APIs                      out­of­the­box.         
  • 4. In order to highlight some strengths of the LimeDS platform, we show a concise example of a                                  Data Flow:      The above Java code uses the LimeDS annotation API to construct a component that                            periodically fetches car park information from another component (​InfoGetter​), filters the                      information for available spots and then uses the LimeDS EventBus to publish this new                            information to enable other components to react (e.g. by notifying a user). The component that                              fetches the car park information is defined as follows:     
  • 5. Note that this component has a HTTP assertion configured that will enable the framework to                              monitor the availability of a remote API. If the API goes down, LimeDS will react by deactivating                                  the component and all components that depend on it. For the example presented here, this                              implies that when the remote API fails, the ​FreeSpotPublisher ​component will no longer be                            scheduled to run until the API becomes available again. Image all the boilerplate code that                              would be required to implement this kind of behaviour in a standard Java application.                            Additionally, the component is configured to cache its responses, reducing the load on the                            remote API.    This functionality can of course also be visually constructed using the visual flow builder, which                              will result in the same behaviour running on top of the LimeDS instance.      The screenshot above shows a preview of how this flow would look like in the visual builder.                                  This time Javascript was chosen as the implementation language of choice for the                          FreeSpotPublisher ​component.    To conclude we would like to state that LimeDS is not a silver bullet and there are certainly                                    aspects of the framework where other technologies have a definite edge. However, by                          combining a (visual) building block approach to development with a dynamic runtime that                          facilitates application robustness and with productivity features aimed at reducing boilerplate                      code, all in a lightweight package, we are confident that LimeDS can be an interesting addition                                to the toolkit of any developer working in the Cloud ecosystem. 
  • 6. What’s next?  We are planning to release LimeDS under an Open Source License as we want it to be used by                                      both corporations and private individuals. Our ambition is to build a community around the                            platform to promote the sharing and reuse of components and to ensure the quality, robustness                              and scalability of the platform by incorporating community feedback.    To this end, we are developing a LimeDS repository system that will facilitate the sharing of                                components through means of a Web interface and will provide the necessary mechanisms to                            enable the provisioning and update management of running LimeDS instances. This system will                          also be made Open Source in order to provide teams with a way to setup their own private                                    repositories.    To show our commitment to the platform, we will use the repository system to share a number of                                    components that will allow LimeDS users to easily integrate with industry­standard technologies                        and APIs.    In the long run, we would like to expose the LimeDS platform as a Cloud Service (PaaS) with a                                      wide range of management and debugging tools, to enable users to create production­ready                          and publicly accessible services in a matter of minutes.  Contact  For more information about LimeDS, visit our website at ​http://limeds.intec.ugent.be​. Feel free to  use the contact form for further enquiries.