wavemaker and cloud foundry
DESCRIPTION
General knowledge about WaveMaker, Cloud Foundry and some alternatives.TRANSCRIPT
WAVEMAKER & CLOUD FOUNDRYPresenter: Ankit Kathuria – Nam Nguyen Hoai
Cloud Computing - Hochschule Hof 2
Presentation Goals
Understand how WaveMaker and Cloud Foundry work
Be able to apply right after the presentation
Have ideas of some alternatives
Cloud Computing - Hochschule Hof 3
Table of Contents
Part 1: Why WaveMaker and Cloud Foundry?
Part 2: How WaveMaker and Cloud Foundry work
Part 3: You can try them
Part 4: About other alternatives
Part 5: Q&A
Cloud Computing - Hochschule Hof 4
Part 1
Part 1: Why WaveMaker and Cloud Foundry?
Part 2: How WaveMaker and Cloud Foundry work
Part 3: You can try them
Part 4: About other alternatives
Part 5: Q&A
5
Imagination of WaveMaker and Cloud Foundry
Cloud Computing - Hochschule Hof
WaveMakerIDE
Tool to develop application
Applications Cloud FoundryPaaS
Environment for Applications to
run!
Hen Eggs Cage
6
Imagination of WaveMaker and Cloud Foundry
Cloud Computing - Hochschule Hof
WHY WAVEMAKER AND CLOUD FOUNDRY?
Cloud Computing - Hochschule Hof 7
Some limitations when developing SaaS with traditional IDEs
Difficult for non-expert programmers to approach
Sometimes need to build to see the result
Need to export the project then upload to deploy on the cloud
Cloud Computing - Hochschule Hof 8
Strong points of WaveMaker
More Drag and Drop
Pre-defined template
Create & Export database right
in Software
View the result without
building
Pre-built single sign
on
Create validation
without writing codes
Deploy to the cloud with clicks
Reduce 50% development
time
Cloud Computing - Hochschule Hof 9
In short, what is WaveMaker?
Drag and drop (WYSIWYG)Web fast
•Multi-tenant server: application can run in 3 environment: Desktop, Tablet, Phone
Continue to develop using other Java IDEsExtensible
Simple clicks to deploy to multi-tenant serverCloud ready
Belongs to communityOpen Source
http://www.wavemaker.comWebsite
Source: [1]
Cloud Computing - Hochschule Hof 10
WaveMaker User Interface
Cloud Computing - Hochschule Hof 11
History of WaveMaker
Dec 16, 2007
• Name: ActiveGrid
• Initial Realease
Mar 2011
• Acquired by VMWare
• Last stable release: 6.5.3
Cloud Computing - Hochschule Hof 12
Companies use WaveMaker
Source: [2]
Cloud Computing - Hochschule Hof 13
Some problems of traditional solution without PaaS
Cloud Computing - Hochschule Hof 14
PaaS: Platform as a service
Platform as a service (PaaS) : cloud computing services = software as a service (SaaS) + infrastructure as a service (IaaS).
The consumer creates the software using tools and/or libraries from the provider.
The consumer controls software deployment and configuration settings.
Provider provides the networks, servers, storage and other services.
Cloud Computing - Hochschule Hof 15
Cloud Foundry
CloudFoundry's an open-source PaaS (github.com/cloudfoundry).
It commoditizes the stack - that is, in practical terms, it makes it dead simple to get things like databases (MySQL, PostgreSQL, Redis, MongoDB), messaging (RabbitMQ), and web servers (Tomcat) up and running quickly
Focus strictly on writing applications, instead of worrying about middleware and infrastructure.
Developers have access to high productivityframeworks.
Choice of cloud deployment, whether that is across a public, private, or hybrid cloud.
Cloud Computing - Hochschule Hof 16
Cloud Foundry
Open source cloud computing Platform as a service (PaaS) software developed by VMWare.
Written in Ruby.
Also a hosted service offered by VMware. This service can be accessed at cloudfoundry.com.
This service is still in beta and pricing is not yet determined.
Runs on VMware's infrastructure.
Cloud Computing - Hochschule Hof 17
Cloud Foundry
Cloud Computing - Hochschule Hof 18
Cloud Foundry
Cloud Computing - Hochschule Hof 19
History of Cloud Foundry
As well as being an Open Source project, Cloud Foundry is also a hosted service offered by VMWare.
As of September 2012, this service is still in beta and pricing is not yet determined.
CloudFoundry.com runs on VMware's infrastructure and uses its vSphere virtualization product suite as infrastructure
Cloud Computing - Hochschule Hof 20
Companies using Cloud Foundry
Cloud Computing - Hochschule Hof 21
Part 2
Part 1: Why WaveMaker and Cloud Foundry?
Part 2: How WaveMaker and Cloud Foundry work
Part 3: You can try them
Part 4: About other alternatives
Part 5: Q&A
Cloud Computing - Hochschule Hof 22
Example
ShoutBox Application A chat-like feature in forum beside topics
Deploy to Public CloudFoundry http://shoutboxproject.cloudfoundry.com/login.html# Username & password: your firstname (e.g: roshan)
Cloud Computing - Hochschule Hof 23
Example: Database Diagram
Cloud Computing - Hochschule Hof 24
Example: How WaveMaker works
Source: [3]
Cloud Computing - Hochschule Hof 25
Example: WaveMaker Runtime Architecture
Source: [3]
Cloud Computing - Hochschule Hof 26
Example: WaveMaker Visual Components
Layout Box
Panel
Tab Layer
Layer
Live Panel
Grid Panel
Detail Panel
Live Form
Edit Panel
…
…
…
… …
Cloud Computing - Hochschule Hof 27
Example: Widgets
•button, label, picture …Basic Widgets
•Panel, tab, layer …Containers
•checkbox, radio button, text, calendar …Editors•created from data tables
Data widgets (IMPORTANT)
•Facebook Like button, maps, Youtube, Feed …Web content
Cloud Computing - Hochschule Hof 28
Example: Variables
•normal variable in JavaVariable
•extend Variable•can call the Server Services
Service Variable
•sub-type of service variable•use with live views and live forms
Live Variable
•automatically createdLogin/Logout
Variable
Cloud Computing - Hochschule Hof 29
Example: Widgets & Variables Interaction
Source: [4]
Cloud Computing - Hochschule Hof 30
Example: Form & Validation
Database Widget
• Widget that contains table information
Dojo Grid & Live Form
• Dojo Grid: Data Grid
• Live Form: contains details data
Live Form Editors
• Insert• Upda
te• Delet
e
Cloud Computing - Hochschule Hof 31
Example: Security
Security
Login & Logout
Roles
Cloud Computing - Hochschule Hof 32
Example: Deploy
Deploy
CloudFoundry
WAR/EAR
Tomcat Server
Cloud Computing - Hochschule Hof 33
Example: Deploy to Public CloudFoundry
Requirements: Cloud Foundry account Connect to the Internet
Cloud Computing - Hochschule Hof 34
Example: Cloud Foundry Architecture
Source: [5]
Cloud Computing - Hochschule Hof 35
Example: Cloud Foundry - App Execution Engine
The piece that runs your application.
Launches and manages the Rails, Java, and other language app servers.
App is scaled up more app execution engines will launch an app server with your code.
It can be launched on any suitably configured server, then it connects to the other servers in the PaaS and starts running user applications
Cloud Computing - Hochschule Hof 36
Example: Cloud Foundry - Request Router
Front door to the PaaS.
Accepts all the HTTP requests for all the applications running in the PaaS routes them to the best app execution engine that runs the appropriate application code.
Load balancer that knows which app is running where.
Needs to be told about the hostname used by each application and it keeps track of the available app execution engines for each app.
Cloud Computing - Hochschule Hof 37
Example: Cloud Foundry - The cloud controller
Implements the external API used by tools to load/unload apps and control their environment, including the number of app execution engines that should run each application.
As part of taking in new applications it creates the bundles that app execution engines load to run an application.
A nice aspect of the cloud controller is that it is relatively policy-free, meaning that it relies on external input to perform operations such as scaling how many app execution engines each application uses. This allows different management policies to be plugged-in.
Cloud Computing - Hochschule Hof 38
Example: Cloud Foundry - Health Manager
Responsible for keeping applications alive
Ensuring that if an app execution engine crashes the applications it ran are restarted elsewhere.
All these parts are tied together using a simple message bus, which, among other things allows all the servers to find each other.
Cloud Computing - Hochschule Hof 39
Example: Deploy to Micro CloudFoundry
Requirements: Cloud Foundry account Register the domain with Cloud Foundry Token
Cloud Computing - Hochschule Hof 40
Example: Micro CloudFoundry
Downloadable version of Cloud Foundry that can run on a developer's laptop.
Applications deployed on it will run with minimal modification on any private or public cloud running Cloud Foundry.
offers developers choice of frameworks, choice of application infrastructure services and choice of clouds in which to deploy applications.
Cloud Computing - Hochschule Hof 41
Example: Micro CloudFoundry (cont.)
Supports Java on Spring, Ruby on Rails/Sinatra and Node.JS frameworks as well as MySQL, MongoDB and Redis application services.
supports both Cloud Foundry’s scriptable command line interface (vmc) and integration with the Eclipse-based SpringSource Tool Suite (STS).
Allows developers to retarget deployments between on-premise and public environments without code modifications
Cloud Computing - Hochschule Hof 42
Part 3
Part 1: Why WaveMaker and Cloud Foundry?
Part 2: How WaveMaker and Cloud Foundry work
Part 3: You can try them
Part 4: About other alternatives
Part 5: Q&A
Cloud Computing - Hochschule Hof 43
Exercise
Build a Master – Details website
Topic: Class list
Database: HSQLDB: Hyper Structured Query Language Database 3 Tables: Student, Country, Gender
User can insert, update and delete 3 lists: Student list Country list Gender list
User can Run the application using Run function Deploy to Public Cloud Foundry (account needed)
Cloud Computing - Hochschule Hof 44
Exercise: Steps
Step 1• Create Project
and choose TemplateStep 2 • Make some
minor changes
Step 3 • Create DatabaseStep4 • Create Live
Panels
Step 5
Cloud Computing - Hochschule Hof 45
Exercise: Steps
Hard way: Can watch our clips for each step
Normal way: Follow our real time steps
Easy way: Can import the sample project we built and see how it runs
Cloud Computing - Hochschule Hof 46
Exercise: Database
Cloud Computing - Hochschule Hof 47
Part 4
Part 1: Why WaveMaker and Cloud Foundry?
Part 2: How WaveMaker and Cloud Foundry work
Part 3: You can try them
Part 4: About other alternatives
Part 5: Q&A
Cloud Computing - Hochschule Hof 48
Eclipse + Cloud Foundry
Use Eclipse Extension Cloud Foundry Integration Extension in STS
Cloud Foundry Integration Extension in Eclipse
Cloud Computing - Hochschule Hof 49
WaveMaker + Tomcat
Deploy to Tomcat Server
Sad News: up to now, cannot deploy to Tomcat 7 (newest version) (Source: [6])
Solution: deploy to WAR file and put into Tomcat 7
Cloud Computing - Hochschule Hof 50
Other WaveMaker Alternatives
Vaadin: Website: https://vaadin.com Demo: http://demo.vaadin.com/dashboard/
Openxava: Website: http://www.openxava.org/ Demo: http://www.openxava.org/NaviOX/m/Order
Cloud Computing - Hochschule Hof 51
Other WaveMaker Alternatives
Vaadin & Openxava WaveMaker
Use Java and JavaScript
Provide extension for other IDEs like Eclipse
Less typing code
Less drag and drop More drag and drop
Have to deploy to files and upload to the Cloud or Servers such as Tomcat
Deploy directly to Cloud
Cloud Computing - Hochschule Hof 52
When should use WaveMaker? When should not?
Cloud Computing - Hochschule Hof 53
Other Cloud Foundry Alternatives
Red Hat's OpenShift are cloud alternatives for Cloud Foundry.
Cloudify is an open source, cloud computing PaaS started February 2012 by GigaSpaces Technologies.
Google App Engine enables you to build and host web apps on the same systems that power Google applications.
Cloud Computing - Hochschule Hof 54
Cloud Foundry vs. OpenShift
Cloud Foundry Open Shift
Supports the Spring, Grails, Scala, Play, Node.js and Ruby, Rails, Sinatra Frameworks
supports JBoss, Node.js, Java, Ruby on Rails, Python, PHP, Perl, server side Javascript as well as some packages like Drupal and Wordpress
Cloud Foundry recommends Eclipse,Wavemaker and Spring Extension.
Red Hat recommends using the jBoss development IDE. Plug-in giving an option to create various types of projects.
These include an OpenShift one with all the publishing settings already set up.
This makes developing a little easier as developers do not have to use the command line tools to publish your application.
Cloud Computing - Hochschule Hof 55
GoogleApp vs. Cloud Foundry
GoogleApp Cloud Foundry
App Engine offers fast development and deployment.
App Engine is in Production . Cloud Foundry is still Beta.
Supports Java, Python supports Java / Spring, Groovy/Grails, Ruby Rails & Sinatra, Node.js, .Net
Not an Open Source. Open Source.
Simple administration, with no need to worry about hardware, patches or backups; and effortless scalability.
Cloud Computing - Hochschule Hof 56
Part 5
Part 1: Why WaveMaker and Cloud Foundry?
Part 2: How WaveMaker and Cloud Foundry work
Part 3: You can try them
Part 4: About other alternatives
Part 5: Q&A
Cloud Computing - Hochschule Hof 57
References
[1] http://www.wavemaker.com/product/
[2] http://www.slideshare.net/alexandruc/wavemaker-presentation
[3] http://dev.wavemaker.com/wiki/bin/wmdoc_6.2/Architecture
[4] http://dev.wavemaker.com/wiki/bin/wmdoc_6.5/InspectTutorial
[5] http://blog.rightscale.com/2011/04/14/cloud-foundry-architecture-and-auto-scaling//
[6] http://jira.wavemaker.com/browse/WM-4549
58
THE END
Cloud Computing - Hochschule Hof
THANK YOU!