Migration and Developer Productivity Solutions
Cloud, Mobile and Web Development
Workshop
Charles Finley
Transformix Computer
Corporation
Cloud, Mobile and Web Development Workshop:
A Hands-on Tools-Based Workshop
Speaker Introduction – Charles Finley
with Rick Churchill and Keven Miller
• Transformix specializes in legacy application migration and
modernization
• Complete Replatforming • Database migrations • Language conversions • Integration
• Web and Mobile Development
• Databases include Oracle, IBM DB2, MSSQL, Postrgresql, Mysql • Many migrations to Oracle
• Targets Linux, UNIX and Windows
• Minimally Invasive Legacy Application Modernization
• 40+ years in IT • www.xformix.com
What we do
• Migrate and Modernize Legacy Applications
Our work often means:
• Recreating obsolete programming languages (BRW,
DataNow, MPEX, Suprtool, etc. )
• Modernizing data sources (ISAM to RDBMS)
• Non-relational database to RDBMS
Why we are interested in RAD and
Application Generation
• Modernization of legacy applications in a non-invasive
way
• Database modernization
• Screen (Forms) modernization • Other Services
• Adding external functionality to existing applications such as Google Maps and Social Medial Integration
• To add a development framework to cloned languages
• To Upgrade our skills and remain relevant
• To assist customers in finding development tools that
work for existing and newer developers
Contrary to Popular belief, not all who
know COBOL are dinosaurs
Only the times are not so simple anymore
Additional Complexity
• The Problem is much
worse than simply the
programming languages
• For Each Application there
is the potential for a
different runtime and
development
environment
• A wide range of developer
types may contribute to
the application
Workshop Overview
• High level hands-on overview how anyone with
a modest can learn to develop cloud, web and
mobile applications with the right software
development toolset
• Labs
– pre-configured laptop computers
– attendees get to experience firsthand what it is
like to create an application from existing data
sources that work on mobile devices and are
cloud ready
What You Will Learn
• Solid foundation in how modern software is organized
• Hands-on experience building the beginnings of a modern cloud capable application
• Technical reinforcement in core web technologies HTML,
CSS, with emphasis on JavaScript through code generation • Reusable patterns of code and functionality deployable
across a wide range of projects
• Rapid Application Development of Database and Forms Centric Apps
Workshop Structure
• Session 1 - Build database application using WaveMaker
o Introduce the topic o Introduce RAD and
Application Generation
o Introduce WaveMaker Studio o Build a web and mobile
database application o Look at generated code
artifacts and talk about what technologies are used
• Session 2 - A deeper into Working with Databases and Forms
o Build more application components
o Database o Forms o Style
90 minutes total in two 45
minute sessions
Working with databases and forms to build web and mobile applications
Presenting one solution for dealing with IT
Development Complexity
• Rapid Application Development and Application Generation Tools for Cloud, Mobile and Web applications
• Integration with Legacy, cloud and other outside applications • Future Proofing Applications
Workshop Goals
• Describe some of the key challenges of IT development • Show how IT Development tools and techniques have
changed
• Show an implementation of a modern application
development toolset through an hands-on approach
• Show how using the right tools can mitigate some of the key challenges of IT development
• Emphasis on using WaveMaker to modernize and develop Databases, Forms and Services
Adding to the complexity
• Application consists of
many languages and 3rd
party products
• The Problem is
compounded by
integration requirements
between applications
• Many different levels of
developers (IT, technical
Key IT Development Challenges
• Large number of
programming languages, development toolsets, operating environments
• Business rules and data
locked inside of legacy systems.
• IT people are not the only
developers
• Non extendable application
development toolsets
• Skillsets needed to enhance
and maintain applications
• New requirements for mobile,
web access
• Increasing costs to maintain • Cloud opportunities
– Using cloud
– Integrating with cloud
based applications
• Application integration
challenges
• Integration with Legacy, cloud
and other outside applications
• The need to Future Proof – Based on defacto
standards
Solutions for Dealing with IT Development
Complexity
• Rapid Application Development and Application
Generation Tools
• Ability to extend the application outside of the
development environment
• Integration with Legacy, cloud and other outside
applications
• Future Proof - Web App Architecture - the Spring MVC –
Angular. js stack
– Based on defacto standards
– Limit runtime vendor lock in
WaveMaker = force.com without the lock-in
• Ease of use
• Database centric
• Non-professional developers can use
• Drag and drop
• Except WaveMaker has
– Security
– Data integrity
– Multi-user
– Extendibility
– Browser based
– Cloud based
WaveMaker FEATURES
Automatic generation of
Hibernate mapping, Hibernate queries from database schema import.
Automatic creation of Enterprise Data Widgets based on
schema import. Each widget can display data from a
database table as a grid or edit form. Edit form implements create, read, update, and delete (CRUD) functions automatically.
Visual, drag & drop assembly of web applications.
WYSIWYG Ajax development studio runs in a browser. Developer sees live application
data within the studio (LiveLayout).
Simplified (one-touch) deployment to Cloud, Weblogic, JBoss.
Data schema aware forms to edit, update, delete data
(LiveForms).
RSS web services, Java Services and databases.
Leverage existing Java.
Deploys a standard Java .war file. Browser-based WaveMaker
studio can be bundled by
independent software vendor (ISV) with their web-based application to enable user customization; effectively an open source alternative to Force.com.
Complete Java web application using
WaveMaker with just three mouse clicks
· Click 1: import an existing data schema from any JDBC-accessible database. WaveMaker automatically creates a custom enterprise data widget for each table in the schema. At the same time, WaveMaker creates a Hibernate mapping and the JSON wiring to connect the Java Hibernate classes to the JavaScript enterprise data widgets.
· Click 2: use the WaveMaker visual builder to drag an enterprise data widget from the palette onto a page.
WaveMaker has a "Live Data" capability which lets you see the data for your application within the builder itself.
· Click 3: press the run button in the WaveMaker visual builder to deploy your application to WaveMaker's
built-in Tomcat server. You can also deploy the application as a WAR file to any Java server, as well as edit the WaveMaker project in any Java IDE.
WaveMaker Studio Delivers Integrated
Tools to Build Mobile, Web Apps
• App Developer
• Technical business user • DevOps professional
• Enterprise architect • CIO
Future Proof - Web App Architecture - the Spring MVC – Angular.js stack
Spring MVC and Angular.js together make for a really productive and appealing frontend development stack for building form-intensive web applications.
• The architecture of a Spring MVC + Angular single page app
• How to structure a web UI using Angular
• Javascript / CSS libraries complement well Angular
• REST API backend with Spring MVC
• Securing a REST API using Spring Security
The client is MVC-capable and contains all the presentation logic which is separated in a view layer, a controller layer and a frontend services layer. After the initial application startup, only JSON data goes over the wire between client and server.
Lab 2:
Export the code and examine (show buzzwords – JavaScript, AJAX, angular.js, Java Spring, Tomcat application server, Eclipse, etc.)
Legacy Application Integration with
WaveMaker
Legacy Application Integration
WM – Runtime Library
Prefabs Create a Prefab to run services or applications on a Legacy computer
WM – Service Integration Model
Database Services Import RDBMS versions of Legacy Databases
Web Services Create a web service outside of WM and access using a Restful API
Java Services Create adapters to existing legacy artificts including screens and programs
Summary and Conclusions
IT is in a constant state of evolution
Web, UI, social media technologies have made it possible to use a combination of
services to interact with users, vendors and customers
As new applications are built, many older ones are retained. Those that cannot be
replaced must be modernized to keep up
Cloud architecture gives management the flexibility to choose which services we
use.
Defacto standards are emerging HTML 5, CSS3, JavaScript, JSON, etc.
Web services and API orientation help insure that applications will interface with
others for a long time
It makes sense to use an API focus
The API focus allows the use of Legacy applications and newer applications on the
same UI.
Legacy applications can be dealt with in stages with Web Services being the first
thing addressed
Modern 5GL Development tools can help mitigate the effect of increasing
complexity of IT