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
Some of us move with the times
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 Benefits of Application Generation Tools
Workshop Structure 90 minutes total in two 45 minute sessions Working with databases and forms to build web and mobile applications Session 1 - Build database application using WaveMaker o o o o o Introduce the topic Introduce RAD and Application Generation Introduce WaveMaker Studio Build a web and mobile database application Look at generated code artifacts and talk about what technologies are used Session 2 - A deeper into Working with Databases and Forms o o o o Build more application components Database Forms Style
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 users, etc.)
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 No runtime vendor lock in
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 JDBCaccessible 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 builtin 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.
Lab 1: Build your first application with an existing database
WaveMaker as a 5GL Application Development Environment
WaveMaker Studio Delivers Integrated Tools to Build Mobile, Web Apps App Developer Technical business user DevOps professional Enterprise architect CIO API Owner
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
Lab 2: Export the code and examine (show buzzwords JavaScript, AJAX, angular.js, Java Spring, Tomcat application server, Eclipse, etc.)
WaveMaker Architecture
WaveMaker Application Integration Points
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 Java Services Create a web service outside of WM and access using a Restful API 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