wavemaker and cloud foundry

58
WAVEMAKER & CLOUD FOUNDRY Presenter: Ankit Kathuria – Nam Nguyen Hoai

Upload: nam-nguyen

Post on 12-May-2015

894 views

Category:

Technology


7 download

DESCRIPTION

General knowledge about WaveMaker, Cloud Foundry and some alternatives.

TRANSCRIPT

Page 1: WaveMaker and Cloud Foundry

WAVEMAKER & CLOUD FOUNDRYPresenter: Ankit Kathuria – Nam Nguyen Hoai

Page 2: WaveMaker and Cloud Foundry

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

Page 3: WaveMaker and Cloud Foundry

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

Page 4: WaveMaker and Cloud Foundry

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

Page 5: WaveMaker and Cloud Foundry

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

Page 6: WaveMaker and Cloud Foundry

6

Imagination of WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof

WHY WAVEMAKER AND CLOUD FOUNDRY?

Page 7: 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

Page 8: WaveMaker and Cloud Foundry

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

Page 9: WaveMaker and Cloud Foundry

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]

Page 10: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 10

WaveMaker User Interface

Page 11: WaveMaker and Cloud Foundry

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

Page 12: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 12

Companies use WaveMaker

Source: [2]

Page 13: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 13

Some problems of traditional solution without PaaS

Page 14: WaveMaker and Cloud Foundry

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.

Page 15: WaveMaker and Cloud Foundry

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.

Page 16: WaveMaker and Cloud Foundry

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.

Page 17: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 17

Cloud Foundry

Page 18: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 18

Cloud Foundry

Page 19: WaveMaker and 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

Page 20: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 20

Companies using Cloud Foundry

Page 21: WaveMaker and 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

Page 22: WaveMaker and Cloud Foundry

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)

Page 23: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 23

Example: Database Diagram

Page 24: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 24

Example: How WaveMaker works

Source: [3]

Page 25: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 25

Example: WaveMaker Runtime Architecture

Source: [3]

Page 26: WaveMaker and Cloud Foundry

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

… …

Page 27: WaveMaker and Cloud Foundry

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

Page 28: WaveMaker and Cloud Foundry

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

Page 29: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 29

Example: Widgets & Variables Interaction

Source: [4]

Page 30: WaveMaker and Cloud Foundry

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

Page 31: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 31

Example: Security

Security

Login & Logout

Roles

Page 32: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 32

Example: Deploy

Deploy

CloudFoundry

WAR/EAR

Tomcat Server

Page 33: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 33

Example: Deploy to Public CloudFoundry

Requirements: Cloud Foundry account Connect to the Internet

Page 34: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 34

Example: Cloud Foundry Architecture

Source: [5]

Page 35: WaveMaker and Cloud Foundry

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

Page 36: WaveMaker and Cloud Foundry

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.

Page 37: WaveMaker and Cloud Foundry

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.

Page 38: WaveMaker and Cloud Foundry

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.

Page 39: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 39

Example: Deploy to Micro CloudFoundry

Requirements: Cloud Foundry account Register the domain with Cloud Foundry Token

Page 40: WaveMaker and Cloud Foundry

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.

Page 41: WaveMaker and Cloud Foundry

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

Page 42: WaveMaker and Cloud Foundry

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

Page 43: WaveMaker and Cloud Foundry

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)

Page 44: WaveMaker and Cloud Foundry

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

Page 45: WaveMaker and Cloud Foundry

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

Page 46: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 46

Exercise: Database

Page 47: WaveMaker and Cloud Foundry

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

Page 48: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 48

Eclipse + Cloud Foundry

Use Eclipse Extension Cloud Foundry Integration Extension in STS

Cloud Foundry Integration Extension in Eclipse

Page 49: WaveMaker and Cloud Foundry

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

Page 50: WaveMaker and Cloud Foundry

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

Page 51: WaveMaker and Cloud Foundry

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

Page 52: WaveMaker and Cloud Foundry

Cloud Computing - Hochschule Hof 52

When should use WaveMaker? When should not?

Page 53: WaveMaker and Cloud Foundry

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.

Page 54: WaveMaker and Cloud Foundry

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.

Page 55: WaveMaker and Cloud Foundry

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.

Page 56: WaveMaker and Cloud Foundry

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

Page 58: WaveMaker and Cloud Foundry

58

THE END

Cloud Computing - Hochschule Hof

THANK YOU!