Академический Документы
Профессиональный Документы
Культура Документы
1
Evolution of Web Applications
Static documents
Simple applications
Search engines
eCommerce
General applications
2
First Gen Web Apps Tools
HTML/DHTML
WYSIWYG editors
Powerful general purpose editors
CGI interface
Perl
3
Second Gen Web Apps Tools
Server side script languages
ASP
PHP
Perl
Python
Etc.
4
Current Gen Web Apps Tools
.NET
J2EE
5
Next Gen Web Apps Tools
Common Lisp
6
Restricting The Problem
Domain
Corporate acceptability
Data centric
Partitionable concurrency model
7
Engineering Constraints
Data Integrity
UI Views Generation
View Coherence
Application Navigation
Flexibility
Portability
Performance and Scalability
8
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
9
General Architecture
HTTP Front-End
Application Server
Database
Sexpr
SQL
10
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..
11
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….
12
Session and State Management
URI = encoded property lists
Session objects
SSL session id
Robot session id
13
UI Management
Navigation
Pull mode
Push mode
HTML Generation
LHTML representation
Views
Using remote scripting
Automatically generated
Semi-automatically generated
14
Documents Generation
cl-pdf
cl-typesetting
cl-typegraph
15
The Meta Application
The first application written with the
framework has been the framework
application itself.
16
Web Services
Basic XML-RPC support
SOAP support in the future if needed
17
Current state
Full production use since 2002
Real complex applications are being
done with it.
100% increase of the user base
18
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.
19
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.
20