Book Image

Easy Web Development with WaveMaker

By : Edward Callahan
Book Image

Easy Web Development with WaveMaker

By: Edward Callahan

Overview of this book

Developers of all levels can now easily develop custom, responsive, and rich web application clients with secure, scalable servers utilizing relational databases and RESTful services using WaveMaker Studio. Whether you need a departmental business application or a form application for your weekend club, this book will show you how to design, develop, and deploy professional grade web applications with WaveMaker. Easy Web Development with WaveMaker will help you use WaveMaker to design, develop, and deploy rich, responsive web applications, even if you are not a programmer. If you need to build a data-driven web application, but you only know ‘enough to be dangerous,' you need this book. This book examines every angle of using WaveMaker to build applications, from dissecting examples to customizing, deploying, and debugging your own applications. This book enables the non-professional programmer to become comfortable not only with using WaveMaker Studio itself, but also with the artefacts produced by the studio as well as the runtime and services provided by the WaveMaker framework. You will learn everything, from how customize the user experience with JavaScript and CSS to integrating with custom Java services and the Spring Framework server-side. Easy Web Development with WaveMaker 6.5 is packed with examples, code samples, screenshots, and links to equip you to be successful with WaveMaker Studio.
Table of Contents (23 chapters)
Easy Web Development with WaveMaker
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
6
Styling the Application
7
Working with Databases
8
Utilizing Web Services
Index

Index

A

  • Ace editor / Installing locally using a release package
  • addHistory() function /
  • alert
    • about /
  • Alestic
    • URL / Amazon EC2
  • Amazon EC2 / Amazon EC2
  • Amazon Elastic Compute Cloud (Amazon EC2)
    • about / Cloud deployment
  • Apache JServ Protocol (AJP) / Mod_proxy
  • Apache log4j 1.2
    • about / Logging
  • app.alert() / Logging
  • Apple
    • about / Before you begin
  • application
    • planning / Begin with the end in mind
  • asynchronous events
    • about / Asynchronous events
  • Atom services
    • about /
  • autoDataSet property /
  • autoUpdate option /

B

  • back button feature
    • about /
  • beginDataUpdate() function / Custom columns
  • binding dialog, Hello WaveyWeb project
    • about / Binding dialog
  • binding expressions
    • about / Binding expressions
  • bindings / Binding and events
  • BitNami
    • URL / Amazon EC2
  • browser-executed code
    • warning / Important warning for browser-executed code

C

  • cache
    • clearing / Clearing the cache
  • canvas, Hello WaveyWeb project
    • about / The canvas
    • working / Working on the canvas
  • Chrome Developer Tools console / The console
  • Chrome Developer Tools for WebKit
    • about / Chrome Developer Tools for WebKit
  • classes
    • defining /
  • classes folder
    • about / Studio is also an application
  • class files
    • about / JAR and class files
  • classpath
    • about / The classpath
    • JAR files / JAR and class files
    • class files / JAR and class files
    • Java source files / Java source files
  • class rule
    • testing, with dojo.query() /
  • Clear Cache
    • URL / Clearing the cache
  • client
    • about / Client
    • logging / Logging
    • Developer tools / Developer tools
    • console access / At the console
  • client framework, WaveMaker application architecture
    • about / Getting comfortable with the JavaScript client
    • Dojo Toolkit / Dojo Toolkit
    • Dojo framework / Dojo made easy
    • binding / Binding and events
    • events / Binding and events
    • loading / Loading the client
  • Closure Compiler
    • about / Closure Compiler
  • Cloud build, PhoneGap / Cloud build
  • Cloud deployment
    • about / Cloud deployment
    • Cloud Foundry / Cloud Foundry
    • Amazon EC2 / Amazon EC2
  • Cloud Foundry / Cloud Foundry
  • Cloud Foundry V1
    • about / WAR/EAR
  • Cloud Jee
    • about / Cloud deployment
  • CloudJee
    • URL / The big picture
  • Cloud Market
    • URL / Amazon EC2
  • complex types, wm.Variable component / Complex types
  • components
    • accessing, of page container page /
  • components, Hello WaveyWeb project
    • inserting / Inserting components
  • configuration, PhoneGap build / Configuring the build
  • confirmations
    • about /
  • console.log() / Logging
  • Cordova
    • about / The big picture
  • Cordova API
    • about / Cordova API
  • Cordova application
    • pre-requisites / Before you begin
  • Cordova libraries
    • URL / Local build
  • CouchDB
    • about /
  • createComponent() function / createComponent()
  • createSQLQuery() function /
  • CSS
    • about /
    • importing /
  • CSS property
    • !important /
  • curl
    • about / Securing runtime service
  • custom columns
    • about / Custom columns
  • custom components
    • about / Custom components
  • customerEditLiveForm1BeforeServiceCall() function / onBeforeServiceCall
  • Custom Function
    • about / Custom Function
  • customization, security configuration
    • URL access / URL access
    • service operation access / Service operation access
  • custom service
    • adding / Adding a custom service
  • custpurchase database /

D

  • database objects
    • used, for creating form /
  • databases, data model generation
    • importing /
  • Database security provider
    • about / Security providers
  • database services, data model generation
    • customizing /
  • Data Definition Language (DDL) /
  • data model
    • generating /
  • data model generation
    • about /
    • existing database, importing /
    • schema, creating /
    • schema, exporting /
    • project only schema changes, creating /
    • service, examining /
    • database services, customizing /
    • databases, reimporting /
  • dataSet property /
  • DateTime widget / Validation
  • debugger
    • about / Debugger
  • deferLoad property /
  • Demo security provider
    • about / Security providers
  • dependency injection
    • about / Dependency injection
  • deployment
    • preparing for / Preparing for deployment
  • deployment dialog
    • about / The deployment dialog
  • deployment requirements
    • about / Deployment requirements
  • designable dialogs
    • about /
  • Developer tools
    • about / Developer tools
    • Closure Compiler / Closure Compiler
    • Chrome Developer Tools for WebKit / Chrome Developer Tools for WebKit
    • tools, for other browsers / Tools for other browsers
    • mobile debugging / Mobile debugging
    • Weinre / Weinre
  • dialogs
    • about /
    • generic dialog /
    • loading dialog /
    • designable dialog /
    • page dialog /
  • Distinguished Name (DN) / Security providers
  • dojo.connect() / Events
  • Dojo.connect()
    • about / Binding and events
  • dojo.query()
    • class rules, testing with /
  • Dojo framework / Dojo made easy
  • DojoGrid
    • about / DojoGrid
    • expressions, displaying / Display expressions
  • Dojo Toolkit
    • about / Dojo Toolkit
  • drop table statement /
  • dynamic page content
    • about / Dynamic page content
    • reflow / Reflow
    • createComponent() / createComponent()

E

  • Eclipse
    • URL / Starting with JPDA
    • project, attaching with / Attaching with Eclipse
  • Eclipse/STS / Eclipse/STS
    • WaveMaker project, importing into / Eclipse/STS
  • editor
    • extracting, from template /
  • Engine Yard
    • about / Cloud deployment
  • EntryData, wm.Variable component / EntryData
  • event handlers
    • about / Event handlers
  • events / Binding and events
    • about / Events
    • asynchronous events / Asynchronous events
    • event handlers / Event handlers
  • external editor
    • using / Using an external editor
  • external edits
    • compiling / Compiling external edits

F

  • feed
    • binding /
  • FeedService.Feed object /
  • feed services
    • about /
  • filters
    • about / Filters
  • FireBird
    • about /
  • Firebug
    • URL / Tools for other browsers
  • Firebug Lite
    • URL / Tools for other browsers
  • Firefox OS
    • URL / The mobile hybrid
  • form
    • creating, database objects used /
  • formatters
    • about / Formatters
    • useLocalTime / useLocalTime
    • Custom Function / Custom Function
    • URL, for online documentation / Custom Function

G

  • General Public License (GPL) / Installing locally using a release package
  • general troubleshooting
    • about / General troubleshooting
    • logging output / Logging output
    • cache, clearing / Clearing the cache
    • WEB-INF, resetting / Resetting WEB-INF
    • server, restarting / Restarting the server
    • old applications, undeploying / Undeploying old applications
  • generic dialog
    • about /
  • getDataValue() function / Setting and getting values
  • getFeed method /
  • getFeedWithHttpConfig method /
  • getfirebug site
    • URL / Logging
  • getInvalidWidget() method / LiveForm
  • getServiceBean() function / Access other service beans
  • getServiceBean() method / Springing into the server side, Server-side validation
  • getUserId() method / The security service
  • getUserName() method / The security service
  • getUserRoles() method / Roles, Using code
  • Git
    • about / Using revision control software
  • git checkout command
    • about / Building a Studio from GitHub
  • GitHub
    • Studio, building from / Building a Studio from GitHub
    • about / Using revision control software
  • GlassFish / Deployment requirements
  • global variables
    • about /
  • Google Chrome / Being browser smart
  • gotoPage operation
    • about /
  • grids
    • about / DojoGrid

H

  • @HideFromClient annotation / Using code
  • Hello WaveyWeb project
    • about / Hello WaveyWeb
    • services, adding / Adding services
    • components, inserting / Inserting components
    • canvas / The canvas
    • canvas, working / Working on the canvas
    • source editors / Source editors
    • palette / The palette
    • properties panel / The Properties panel
    • binding dialog / Binding dialog
    • revision control software, using / Using revision control software
  • Heterogeneous Replicated Database (HRDB)
    • about / Adding services
  • Hibernate
    • about /
  • Hibernate Tools
    • about /
  • history feature
    • about /
  • HQL
    • about /
    • mixing, with live data /
  • HSQLDB
    • about / Page access control
  • HSQLDB databases
    • about / WAR/EAR
  • HyperSQL Database (HSQLDB)
    • URL / Adding services

I

  • !important property /
  • import statement /
  • Infrastructure as a service (IaaS)
    • about / Cloud deployment
  • inner class
    • about / Types
  • insert() operation
    • about / Securing runtime service
  • installation, wsdl4j-bin.jar /
  • internationalization applications, WaveMaker
    • URL / Studio is also an application
  • invokeMethodWithEvents() function / Logging
  • iOS Developer Program
    • URL / Before you begin
  • isList feature / wm.Variable

J

  • JAR file
    • about / Java or web service
  • JAR files
    • about / JAR and class files
  • Java / At the console
  • JavaScript variables
    • about / JavaScript variables
  • Java service
    • about / Java or web service
  • Java source files
    • about / Java source files
  • Javaw / Starting with JPDA
  • JAX-WS /
  • JAXB /
  • JBoss / Deployment requirements
  • Jenkins plugin / WAR/EAR
  • JPDA
    • about / Starting with JPDA
  • JSON
    • about /
  • JVM configuration, Tomcat Server deployment / JVM configuration

K

  • key design factors, performance
    • page containers /
    • module loading, reducing /

L

  • layoutBox / Leveraging layouts
  • lazy loading
    • about /
  • LDAP
    • about / Security providers
  • LDAP Browser
    • URL / Security providers
  • LDAP configuration
    • about / Security providers
  • leveraging layouts
    • about / Leveraging layouts
  • lib folder
    • about / Studio is also an application
  • live data
    • HQL, mixing with /
  • live data components
    • about /
    • form, creating with database objects /
    • live panels, dissecting /
    • related data /
  • LiveForm
    • about / LiveForm
    • validation / Validation
    • onBeforeServiceCall / onBeforeServiceCall
  • live panels
    • dissecting /
  • liveSaving property
    • about / Disabling live saving
    • disabling / Disabling live saving
  • live views /
    • about /
  • loading dialog
    • about /
  • local build, PhoneGap / Local build
  • logging
    • about / Logging
  • logging, client
    • about / Logging
    • built-in debugger / Built-in debugger
  • logging, server / Logging
  • logging output
    • about / Logging output
  • lowest common denominator approach
    • about / Begin with the end in mind

M

  • META-INF folder
    • about / Studio is also an application
  • mobile debugging / Mobile debugging
  • mobile hybrid
    • about / The mobile hybrid
  • module loading
    • reducing /
  • Mod_proxy / Mod_proxy
  • MongoDB /
  • moveControl() function / Reflow
  • MS Access
    • about /
  • multitenancy
    • about / Multitenancy
    • URL, for info / Multitenancy
  • myMouseOverFunction() function / The Properties panel

N

  • National Language Support (NLS) / Studio is also an application
  • navigation calls
    • about /
  • NetBeans
    • about / NetBeans
    • WaveMaker project, importing into / NetBeans
  • network traffic
    • observing / Watching the network

O

  • object-relational mapping (ORM) /
  • old applications
    • undeploying / Undeploying old applications
  • onBeforeServiceCall() function / Event handlers, onBeforeServiceCall
  • onChange event / Validation
  • onclick event / Event handlers
  • onEnterKeyPress event / LiveForm
  • onGridButtonClick event handler
    • about / Custom columns
  • OpenJDK / Deployment requirements
  • Open Shift
    • about / Cloud deployment
  • Organizational Unit (OU) / Security providers

P

  • page access control
    • about / Page access control
  • page container page
    • components, accessing of /
  • page containers
    • using /
    • about /
  • page dialogs
    • about /
  • PageRichText
    • about /
  • pages folder
    • about / Studio is also an application
  • palette, Hello WaveyWeb project / The palette
  • PhoneGap
    • about / The big picture
  • PhoneGap build
    • about / PhoneGap build
    • local build / Local build
    • Cloud build / Cloud build
    • configuring / Configuring the build
  • PhoneGap documentation
    • URL, for build features / Uploading the ZIP
  • Play store
    • URL / Before you begin
  • project
    • attaching, with Eclipse / Attaching with Eclipse
  • projects
    • about / Welcome to projects
  • prompts
    • about /
  • properties panel, Hello WaveyWeb project
    • about / The Properties panel
    • page properties / The page and project properties
    • project properties / The page and project properties
  • published page properties
    • about /

Q

  • QBE
    • about /
  • query() method /

R

  • RBAC
    • about / Widget RBAC
  • reflow
    • about / Reflow
  • reflowParent() function / Reflow
  • related editors /
  • resource manager / The resource manager
  • resources
    • about / Resources
  • REST
    • about /
    • XML, returning /
    • JSON, returning /
  • restrictValues property / Validation
  • return merchandise authorization (RMA) / Begin with the end in mind
  • Rich Site Summary (RSS)
    • about /
  • roleCheck() method / Using code
  • roles
    • about / Roles
  • RuntimeAccess
    • about / RuntimeAccess
    • service beans, accessing / Access other service beans
    • server-side validation / Server-side validation
  • runtime service /
    • securing / Securing runtime service
    • live saving, disabling / Disabling live saving

S

  • sample application
    • exploring, in Studio / Exploring the sample application
  • saveInCookie feature / Configuring security
  • schema, data model generation
    • creating /
    • exporting /
  • screen sizing strategies
    • about /
    • multiple versions, of application /
    • one page, for all devices /
    • page per device /
    • hybrid approach /
  • script tab / The Script tab
  • security, WaveMaker
    • about / Security in WaveMaker
    • configuring / Configuring security
    • security providers / Security providers
  • security configuration
    • about / Configuring security
    • security providers / Security providers
    • roles / Roles
    • Setup services tab / Setup Services
    • customizing / Customizing the configuration
  • security providers
    • Demo security provider / Security providers
    • Database security provider / Security providers
    • LDAP / Security providers
  • security service
    • about / The security service
  • selectFirstRow property / Binding expressions
  • server
    • restarting / Restarting the server
    • about / Server
    • logging / Logging
  • service, data model generation
    • examining /
  • service beans
    • accessing / Access other service beans
  • service calls
    • optimizing /
  • service calls optimization
    • autoUpdate option /
    • result set size, controlling /
    • client-side querying, of variable results /
    • live views /
    • related editors /
  • Service Method Definition (SMD)
    • about / Studio is also an application
  • service operation access
    • about / Service operation access
    • code, using / Using code
    • XML, using / Using XML
  • services, Hello WaveyWeb project
    • adding / Adding services
  • services folder
    • about / Studio is also an application
  • setCaption() function / Setting and getting values
  • setDataValue() function / Setting and getting values
  • setFilter() function / Filters
  • setSecuritySvc() method / Using code
  • Setup Services tab
    • about / Setup Services
  • Simple CRM
    • overview / Introducing CRM Simple
  • simple notifications
    • about /
    • alert /
    • toast /
    • confirmations /
    • warnOnce /
    • prompts /
  • simple types, wm.Variable component / Simple types
  • SOAP
    • about /
  • Softerra
    • about / Security providers
  • source editors, Hello WaveyWeb project
    • script tab / The Script tab
    • source panels / The other source panels
    • resource manager / The resource manager
  • source panels / The other source panels
  • specificity
    • about /
  • Spring
    • about / Preparing for deployment
  • springapp.xml / Preparing for deployment
  • Spring MVC Server
    • about / The big picture
  • Spring Security
    • about / Security in WaveMaker
    • URL / Security in WaveMaker
  • SQL
    • calling /
  • SQLyog
    • about /
  • stored procedures
    • calling, from Java /
  • Studio
    • building, from GitHub / Building a Studio from GitHub
    • sample application, exploring / Exploring the sample application
    • about / Studio is also an application
  • styled widgets
    • borrowing /
  • styling tools
    • about /
  • subthemes
    • about /
  • su tool / Java or web service

T

  • tab layers
    • about /
  • takeNap() function /
  • template
    • editor, extracting from /
  • template class
    • dissecting / Dissecting the template class
  • theme designer
    • about /
  • themes
    • about /
    • subthemes /
    • managing /
    • importing /
    • exporting /
  • this keyword / No this keyword
  • tilt
    • URL / Tools for other browsers
  • toast
    • about /
  • Tomcat
    • about / The big picture
    / Deployment requirements
  • Tomcat Documentation Index
    • URL / JVM configuration
  • Tomcat Server deployment
    • about / Tomcat
    • JVM configuration / JVM configuration
    • Mod_proxy / Mod_proxy
  • tooled styling
    • about /
  • tool features
    • about / Useful tool features
  • toString() function
    • about / JavaScript toString()
  • trees
    • about / Trees
    • completions / Completions
    • JS Reference / JS reference
    • JavaScript toString() / JavaScript toString()
    • source code / Source code
  • troubleshooting
    • about / Troubleshooting
  • Tundra Dijit theme
    • about /
  • types / Types

U

  • UNIX time
    • about / useLocalTime
  • update() operation
    • about / Securing runtime service
  • updateCustomer() function / Server-side validation
  • URL access
    • about / URL access
    • page access control / Page access control
  • URL management
    • about /
    • using /
  • useLocalTime feature
    • about / useLocalTime
  • useProxy option
    • about /

V

  • validation, LiveForm / Validation
  • values
    • setting / Setting and getting values
    • getting / Setting and getting values
  • Variable.query() function /
  • VMware
    • URL / The big picture

W

  • .wmproject.properties file / Welcome to projects
  • W3C
    • about /
  • WAR/EAR
    • about / WAR/EAR
  • warn once
    • about /
  • WaveMaker
    • database, importing / Importing the database
    • CSS /
    • security / Security in WaveMaker
    • security providers / Security providers
  • WaveMaker 6.5
    • about / Installing locally using a release package
  • WaveMaker 6.6
    • theme designer /
  • WaveMaker 6.6.0
    • about /
  • WaveMaker application architecture
    • overview / The big picture
    • client framework / Getting comfortable with the JavaScript client
    • server architecture / Springing into the server side
    • client and server communications / Client and server communication
    • types / Types
  • WaveMaker applications
    • deployment requisites / Deployment requirements
    • preparing, for deployment / Preparing for deployment
  • WaveMaker Debugger / Built-in debugger
  • WaveMaker project
    • importing, into NetBeans / NetBeans
    • importing, into Eclipse/STS / Eclipse/STS
  • WaveMaker server
    • about / The big picture
  • WaveMaker setup
    • version, obtaining / Getting the right version
    • browsers, obtaining / Being browser smart
    • locally, installing with release package / Installing locally using a release package
  • WaveMaker Studio
    • setting up / Getting the right version
    • projects / Welcome to projects
  • WaveMaker Version 6.5
    • about / Getting the right version
  • Waveytools.js /
  • WEB-INF
    • resetting / Resetting WEB-INF
  • web.xml file / Starting from web.xml
  • Web Feed Services
    • about /
    • feed, binding /
  • Weblogic / Deployment requirements
  • web service
    • about / Java or web service
  • WebSphere / Deployment requirements
  • Weinre / Weinre
  • wm.NavigationCall /
  • wm.Variable component
    • about / wm.Variable
    • adding, to project / wm.Variable
    • using / wm.Variable
    • simple types / Simple types
    • EntryData / EntryData
    • complex types / Complex types
  • workspace
    • setting up / Setting up your workspace
  • wsdl4j-bin.jar
    • installing /
  • wsdl4j library
    • about /
  • wsimport tool /

X

  • XHR service
    • about /

Z

  • ZIP file
    • uploading / Uploading the ZIP
    • customizing / Customizing the ZIP file