1 A Framework for Automatic Web Application Generation Marc Battyani - Fractal Concept.

Slides:



Advertisements
Similar presentations
/ department of mathematics and computer sciencedepartment of mathematics and computer science / architecture of information systems.
Advertisements

Lecture plan Information retrieval (from week 11)
Modern Web Application Frameworks CSE 591 – Security and Vulnerability Analysis Spring 2015 Adam Doupé Arizona State University
Introduction to ASP.NET. 2 © UW Business School, University of Washington 2004 Outline Static vs. Dynamic Web Pages.NET Framework Installing ASP.NET First.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Lecture 2 Web application architecture. Themes Architecture : The large scale structure of a system, especially a computer system Design choice: The need.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
Active Server Pages Chapter 1. Introduction Understand how browsers and servers interacted when the Web was young Understand what early Internet and intranet.
CGI and Perl MSc Publishing on the WWW. What is CGI ? (1) User Buying and selling Playing games Customised web pages Developer Means to run external programs.
SCRIPTING LANGUAGE. The first interactive shells were developed in the 1960s to enable remote operation of the first time-sharing systems, and these,
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
User Group 2015 Version 5 Features & Infrastructure Enhancements.
Server Side Scripting Norman White. Where do we do processing? Client side – Javascript (embed code in html) – Java applets (send java program to run.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
RUBY ON RAILS It’s so rad. What we’ll cover  What is Ruby?  What is RoR?  Why RoR?  Developing with RoR  Deployment  Demo  Questions.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
VS.NET Syllabus By Peter Huang.
“ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
PHP PHP: Hypertext Preprocessing Preston Brinks and Sean McKenzie.
Introduction to Internet Programming (Web Based Application)
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
AJAX Making Dynamic Web pages more Dynamic Jim Hendricks April 25th, 2006.
Lecture 19 Web Application Frameworks Boriana Koleva Room: C54
PHP and MySQL by Example COMP YL Professor Mattos.
Computer Science 101 Database Concepts. Database Collection of related data Models real world “universe” Reflects changes Specific purposes and audience.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Introduction to ColdFusion Yu Fu 2003 MEC Candidate.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
A Web-Enabled Aircraft Scheduler Michael Wallette 20 Nov
1 3. Computing System Fundamentals 3.1 Language Translators.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Schedule Introduction to Web & Database Integration Tools and Resources HTML and Styles Forms and Client-Side Scripts DB Engines Forms Processing and Server-Side.
XML and Its Applications Ben Y. Zhao, CS294-7 Spring 1999.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
Rich Web Applications for the Enterprise... Creating RWA from Your Oracle Database Presented By: John Krahulec Bizwhazee SEOUC Charlotte February 2009.
Java for networking Module Introduction Data Communications Communication architecture Application.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
WEB SERVER SOFTWARE FEATURE SETS
1 Introduction to Web Application Review. 2 Five Layers Architecture HTML, CSS, Java Script ASP.net User ’ s.dll, Nunit, Web Services ADO.net SQL Server,
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Bucharest, 23 February 2005 CHM PTK technologies Adriana Baciu Finsiel Romania.
Software Testing Training Online. Software testing is ruling the software business in current scenario. It provides an objective, independent view of.
Building Enterprise Applications Using Visual Studio®
Web Programming Language
Introduction and Principles
Relational database and SQL MySQL LAMP SQL queries
WEB SERVICES.
Platform as a Service.
Google Web Toolkit - Gufran Mohammed
Web Applications Security What are web Applications?
Web App vs Mobile App.
The Re3gistry software and the INSPIRE Registry
Web Development Using ASP .NET
ApplinX Rod Carlson Senior Technical Lead.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Presentation transcript:

1 A Framework for Automatic Web Application Generation Marc Battyani - Fractal Concept

2 Evolution of Web Applications Static documents Simple applications Search engines eCommerce General applications

3 First Gen Web Apps Tools HTML/DHTML WYSIWYG editors Powerful general purpose editors CGI interface Perl

4 Second Gen Web Apps Tools Server side script languages ASP PHP Perl Python Etc.

5 Current Gen Web Apps Tools.NET J2EE

6 Next Gen Web Apps Tools Common Lisp

7 Restricting The Problem Domain Corporate acceptability Data centric Partitionable concurrency model

8 Engineering Constraints Data Integrity UI Views Generation View Coherence Application Navigation Flexibility Portability Performance and Scalability

9 Why Common Lisp? Performance Stability Excellent macro system Most powerful object system Lexical closures Dynamic code generation and compilation Debugging and dynamic modification of a running system Resilience to changes

10 General Architecture HTTP Front-End Application Server Database Sexpr SQL

11 Object Class Descriptions: Slots added to Meta Class GUID Instanciable user-name sql-name Description Version direct-views direct-functions direct-rules And a few more..

12 Object Class Descriptions: Slots added to slot definitions user-name sql-name Description value-type list-of-values Unique Stored Indexed null-allowed Unit read-only-groups hidden-groups disable-predicate void-link-text view-type And a few more….

13 Session and State Management URI = encoded property lists Session objects SSL session id Robot session id

14 UI Management Navigation Pull mode Push mode HTML Generation LHTML representation Views Using remote scripting Automatically generated Semi-automatically generated

15 Documents Generation cl-pdf cl-typesetting cl-typegraph

16 The Meta Application The first application written with the framework has been the framework application itself.

17 Web Services Basic XML-RPC support SOAP support in the future if needed

18 Current state Full production use since 2002 Real complex applications are being done with it. 100% increase of the user base

19 Applications A network infrastructure management workflow and repository for a bank. A network stats and maps generation software for a bank. Traceability software for the blood and biological supply chain. Benefits management software.

20 Conclusion One order of magnitude in productivity over alternatives Still unmatched functionalities Much better result quality and usability than the existing alternatives. (99.98% uptime last week) The choice of Common Lisp has been comforted by the result. The full framework has less than 20K lines of code and it already has functionalities without equivalent in other frameworks. This compares rather well to the 0.6 to several millions of lines of code of the J2EE and.NET frameworks.