Petr CZJUG, December 2010

Similar documents
Chapter 1: Welcome to Lift Chapter 2: PocketChange Chapter 3: Lift Fundamentals... 25

Migrating traditional Java EE applications to mobile

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

Reactive Web Programming with Lift

Databases/JQuery AUGUST 1, 2018

Implementing a Numerical Data Access Service

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

Developing Applications with Java EE 6 on WebLogic Server 12c

The NoPlsql and Thick Database Paradigms

What s new in Spring Web Flow 2.0

Application Design and Development: October 30

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Take a Load Off with U2 RESTful Web Services. Nik Kesic, Lead Technical Support for Rocket U2

Etanova Enterprise Solutions

MySQL as a Document Store. Ted Wennmark

JVA-563. Developing RESTful Services in Java

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred

Tapestry. Code less, deliver more. Rayland Jeans

Overview of Web Application Development

Enterprise Web Development

Oracle Application Development Framework Overview

Introduction. Key Features and Benefits

Mix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Project Horizon Technical Overview. Steven Forman Principal Technical Consultant

Project Horizon Technical Overview. Bob Rullo GM; Presentation Architecture

The Next Generation. Prabhat Jha Principal Engineer

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

QLIKVIEW ARCHITECTURAL OVERVIEW

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

<Insert Picture Here>

Module 3 Web Component

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

Struts: Struts 1.x. Introduction. Enterprise Application

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Ur/Web: A Simple Model for Programming the Web. Adam Chlipala MIT CSAIL POPL 2015 January 15, 2015

CS50 Quiz Review. November 13, 2017

Job Description: Junior Front End Developer

<Insert Picture Here> The Oracle Fusion Development Platform: Oracle JDeveloper and Oracle ADF Overview

Create-A-Page Design Documentation

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009

HIBERNATE MOCK TEST HIBERNATE MOCK TEST I

Introduction to Worklight Integration IBM Corporation

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

JAVA. 1. Introduction to JAVA

IN PRACTICE. Daniele Bochicchio Stefano Mostarda Marco De Sanctis. Includes 106 practical techniques MANNING

PHP. MIT 6.470, IAP 2010 Yafim Landa

Scaling DreamFactory

Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek

Integration Patterns for Mission Critical System of. Systems. OpenSplice DDS. Julien ENOCH Engineering Team Lead PrismTech.

Jignesh Sheth Ph:

Java Training Center, Noida - Java Expert Program

FILE - JAVA WEB SERVICE TUTORIAL

Modern and Responsive Mobile-enabled Web Applications

Introduction to K2View Fabric

Mail: Web: juergen-schuster-it.de

Product Data Sheet: Ignition 8 Industrial Application Platform. A Whole New View

Getting MEAN. with Mongo, Express, Angular, and Node SIMON HOLMES MANNING SHELTER ISLAND

Restful Application Development

REST Easy with Infrared360

Improve and Expand JavaServer Faces Technology with JBoss Seam

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

LTBP INDUSTRIAL TRAINING INSTITUTE

J2EE Technologies. Industrial Training

Lesson 14 SOA with REST (Part I)

Creating Ultra-fast Realtime Apps and Microservices with Java. Markus Kett, CEO Jetstream Technologies

Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE

Remote Health Service System based on Struts2 and Hibernate

welcome to BOILERCAMP HOW TO WEB DEV

Hospital System Lowers IT Costs After Epic Migration Flatirons Digital Innovations, Inc. All rights reserved.

13. Databases on the Web

Copyright

Red Hat Developer Studio 12.0

Software Design Document

CSC 309 The Big Picture

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18

Introduction to Autodesk MapGuide EnterpriseChapter1:

The Future of Interoperability: Emerging NoSQLs Save Time, Increase Efficiency, Optimize Business Processes, and Maximize Database Value

Oracle Fusion Middleware 11g: Build Applications with ADF I

ORACLE DATA SHEET KEY FEATURES AND BENEFITS ORACLE WEBLOGIC SUITE

TechWatch Report Javascript Libraries and Frameworks

Isomorphic Kotlin. Troy

Heroku. Rimantas Kybartas

All India Council For Research & Training

Java Enterprise Edition

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline

Practical Aspects of Enterprise Application Development

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

Development of an e-library Web Application

How To Get Database Schema In Java Using >>>CLICK HERE<<<

Traditional Ajax vs. New business targeted Ajax

David Pollak CUFP September 26 th, 2008

<Insert Picture Here> Accelerated Java EE Development: The Oracle Way

Red Hat JBoss Enterprise Application Platform 7.2

LTBP INDUSTRIAL TRAINING INSTITUTE

ASP.NET MVC Training

Transcription:

Petr Hošek @petrh CZJUG, December 2010

Why do we need another web framework?

Foursquare switched over to Scala & Lift last year and we ve been thrilled with the results. The ease of developing complex interactive AJAX web pages enabled very rapid port from our previous platform. Harry Heymann,

Lift is the kind of web framework that enables you as a developer to concentrate on the big picture. Strong, expressive typing and higherlevel features like the built-in Comet support allow you to focus on innovating instead of the plumbing. David LaPalomento,

Lift is the only new framework in the last four years to offer fresh and innovative approaches to web development. It s not just some incremental improvement of the status quo, it redefines the state-ofthe-art. If you are a web developer, you should learn Lift. Michael Galpin,

The fact that Lift-based applications run unchanged on the SAP's NetWeaver CE Java application server makes this an intriguing approach for enterprise applications in the SAP world. Darren Hague,

Overall View

Expressive elegant web framework Combines best of other frameworks

Powered by language Modern object-functional JVM language

View First Approach

View-Driven Development Similar to MVC but not exactly the same No business code allowed in the view Usually represents seep of business logic Designer friendly markup content Views are well-formed XHTML/HTML5

vs Model-View-Controller View-Driven-Development

Snippets

Snippet provides rendering logic Called arbitrarily times on multiple pages Snippet is Scala class or object Functions transforming sequence of XML nodes Snippets can be stateful or stateless Using session affinity No hidden magic or code plumbing Everything is just well designed

AJAX & Comet

Native support for AJAX and Comet Probably best support available today JavaScript becomes Scala functions Using Scala function callbacks for AJAX Abstracts underlying JavaScript libraries Support for JQuery, YUI and ExtJS

Comet support through Actors Sending/receiving messages to/from browser Utilizes long-polling Future use of HTML5 web sockets Provides inherent security Using opaque GUIDs for AJAX & Comet URLs

Persistence Support

Mapper persistence framework Original persistence framework

Lightweight object-relational mapping Similar design to ActiveRecord Support for common relational databases MySQL, PostgreSQL, Oracle Database, etc. Support for different persistence systems Hibernate, JPA, etc.

Record persistence framework New store-agnostic persistence framework

Support for different stores MongoDB, CouchDB, Squeryl, etc. Easy to develop custom back-end Automatic validation,crud and REST support

REST & WebServices

Built-in REST and WebService support Using either simple DSL or full dispatching Both statefull and stateless Declarative rules for URI dispatching DSL for JSON construction Extremely fast serialization/deserialization First-class XML support Native part of Scala language

Modularity

Lift uses modular architecture Using Apache Maven artifacts Many existing modules available to use Just add dependency into your project

Security

Out-of-the-box security No vulnerability from the Top Ten Difficult to introduce vulnerabilities Developers needs to make an effort Page elements have opaque GUIDs Used to reference server components AJAX and Comet use similar GUIDs Sensitive data are not exposed Persistence safe from SQL injection SQL queries sanitization enforcement

Scalability

Support for database sharding Using federation of database servers Using non-blocking input/output Out-of-the-box support for Jetty Continuations Decoupling threads from requests Implemented via Scala Actors

Negatives & Drawbacks

The good, the bad and the ugly Lift has downsides as well Framework takes over control What is happening in the background? Documentation is insufficient Many important details are missing Exploring Lift book is incomplete Upcoming Lift in Action book is still in EAP No direct tool support Related to insufficient Scala tool support

Summary

Lift makes the web development simple Lift combines many ideas & methodologies Lift has new take on web development Lift is inherently secure Lift has excellent AJAX and Comet support Lift is already proven in the industry

Content adapted from Lift in Action book Timothy Perrett, Manning Publications, 2011 Content adapted from Exploring Lift book Derek Chen-Becker, Marius Danciu and Tyler Weir, 2009 Content adapted from official website liftweb.net Courtesy of WorldWide Conferencing, LLC