O’Reilly Emerging Technology Conference Oliver Steele Chief Software Architect Laszlo Systems, Inc. April 23, 2003
Dec 25, 2014
O’Reilly EmergingTechnology Conference
Oliver SteeleChief Software Architect
Laszlo Systems, Inc.
April 23, 2003
Announcement
• BOF: Are There Riches in Rich Internet Applications?“This BOF will provide a forum to discuss the
economics of software and services focused on the user experience: how the industry obsession with servers will interact with the emerging emphasis on application front ends.”
• Winchester (this room) 6-7pm
• Pizza
LZX Goal: RIA Development
• LZX = XML + JavaScript– DHTML with different tags– Tags to declare views, layouts, data, animation– Leverages existing skills and capabilities
• Developer sees DHTML• Deployer sees J2EE servlet• Browser sees SWF file• User sees a RIA
• HTML is designed for static page publicationpage = content + structure + formatHTML = text + markup + style
• LZX is designed for rich internet applicationsRIA = data + logic + presentationLZX = XML + JavaScript + components
Thin Internet Application
Dynamic Internet Application
Rich Internet Application
Ingredients of a RIA
Ingredients of a RIA Platform
Features
• Model– Data (XML)– Data Requests (HTTP)– Data Binding (XPath; DOM)
• View– View Components (XML tags)– View Hierarchies (XML structure)– Animation (SMIL-like)– Constraints (JavaScript expressions)
• Control– Scripting (JavaScript)– Events (CSS Event names)
• Modularity and Extensibility– Classes (XML tags)– Includes (XInclude)– Component Libraries (tags + includes)
Pizza
LZX Feature Walkthrough
Desktop Application Model (MVC)
Supporting RIA Development
• Best Development Practices– Modularity– Extensibility– Separation of concerns (MVC)
• Team Development Practices– Text-based– Collaboration– Media import
• Productivity– Declarative– Standards-based– Low boilerplate
Architecture of a RIA
• Model– Data
• View– Media– Animation– Components
• Control– User interaction– Business logic– Server transactions
LZX Ingredients
• XML– View hierarchy– Data
• JavaScript– Program logic and behavior– “Back door”
• Other Technologies– XPath for binding views to data– HTTP for data and media queries
Looking Back: HTML
• Simple applications are simple
• Complex applications are feasible
• Supports collaboration between developers and designers
The domain is thePresentation of static documents.
Looking Forward: RIA Development
• Simple applications should be simple
• Complex applications should be feasible
• Support collaboration between developers and designers
The domain is thepresentation of rich interactivetransactional web-deployed applications.