WaveMaker and Cloud Foundry

Preview:

DESCRIPTION

General knowledge about WaveMaker, Cloud Foundry and some alternatives.

Citation preview

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

58

THE END

Cloud Computing - Hochschule Hof

THANK YOU!

Recommended