Download conferences.embarcadero.com

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
www.arcanatech.com
Web Application Development
in IntraWeb
Session #2006
Presented by
Jason Southwell
Arcana Technologies
www.arcanatech.com
Who am I?
●
Delphi Developer since 1995
●
President of Arcana
●
Consultant
●
Freelance Author
●
Member of
●
A-Team, TeamZed
●
Indy Core
●
FreeCLX, CrossFPC
www.arcanatech.com
Who are You???
www.arcanatech.com
IntraWeb
●
Radically simple web development
●
Application Based Framework
●
Process Identical to VCL Development
●
●
●
Cross-platform / Cross-environment
Included in Delphi 7 (IW 5.1) and Delphi
2005 (IW 7.2)
No need for HTML / JS / CSS
●
But the knowledge will help you...
www.arcanatech.com
Component Usage
●
●
All non-visual thread-safe components
IntraWeb forms are a special type of
form and require custom IW specific
visual components
●
●
Most standard VCL visual components have IW
replacements
Powerful 3rd Party IW Components
●
TMS - www.tmssoftware.com
●
Arcana - www.arcanatech.com
www.arcanatech.com
Structure of a Project
●
DPR
●
●
ServerController
●
●
Global server settings
UserSession
●
●
Varies depending on whether you are building
a Service, Standalone, ISAPI or DSO
Session based data module
Unit1
●
Your first visual IW form
www.arcanatech.com
Deployment
●
ISAPI
●
●
Standalone
●
●
Custom Indy based web server
Service
●
●
IIS, Omni, Apache, others
Custom Indy based web server
DSO
●
Apache (not supported in D2005/2006)
www.arcanatech.com
Deployment Requirements
●
Standalone / Service
●
●
ISAPI
●
●
Upload exe and execute (or install service).
Upload to scripts folder on web server or
configure script application on IIS
DSO
●
Upload to web server & edit Apache config file
May require additional files:
●
●
●
●
Images
Flash Animation, Movies
StyleSheets/Script
The “Files” & “Cache” subdirectories
www.arcanatech.com
Layout Options
●
Delphi Form Designer
●
Most like VCL development
●
Anchors & Alignment
●
Compatible with Delphi Frames
●
Form Inheritance
●
Regions (panels)
●
Visual changes require recompile
www.arcanatech.com
Layout Options
●
●
Runtime HTML Templates
●
Requires HTML/JS/CSS knowledge
●
Design HTML files and “embed” IW controls
●
HTML files with {% %} tags
●
Visual changes do not require recompile
●
Hand off visual design to web designers.
Design-time HTML Designer
●
Design-time Template editor
●
Embeds Templates in dfm file
●
Visual changes require recompile
www.arcanatech.com
Database Connectivity
●
●
Nearly any Database components
●
ADO
●
dbExpress
●
IBX / IBO / FreeIB
●
Zeos
●
DBISAM / NexusDB
●
BDE (but not recommended)
UserSession based DataModule
www.arcanatech.com
Design Considerations
●
No Global Variables
●
Thread-safety
●
Report Delivery
●
Resource Management
●
Custom Components
●
Missing Events
www.arcanatech.com
Maximizing Scalability
●
Reduce Page Response Time
●
Decrease Memory Footprint
●
●
Release forms when not in use
●
Don't overuse UserSession for storage
Improve Code Efficiency
●
●
http://arcanatech.com/optimalcode.html
Use a replacement Memory Manager
●
NexusDB Memory Manager 3
●
FastMM4 (free)
www.arcanatech.com
Maximizing Scalability
●
Beware Synchronization Objects
●
Reduce Bandwidth Requirements
●
●
Increase Server Specs
●
●
Partial Updates
Memory/CPU/Bandwidth
Add Additional Server Machines
●
Software Switch – Octagate
●
Hardware Switch – Layer 5-7
●
DNS Round Robin
www.arcanatech.com
Database Pooling
●
Built-in pooling support
●
DataModule Based Pool
●
Positives
●
Improves Responsiveness
●
Reduces Memory Usage
●
Improves Scalability
●
●
Simplifies DB access from Threads &
ServerController
Negatives
●
Makes Working with data-aware components
more difficult, though not impossible.
www.arcanatech.com
Reducing Session Count
●
●
●
Termination
●
User must initiate termination
●
Or wait for session timeout
Re-entry
●
Limits duplicate sessions
●
Returns user to last viewed form & state
Single Instance Sessions
●
Limits duplicate sessions
●
Limits user's multi-tasking capabilities
www.arcanatech.com
Page Based Modes
●
●
Page Mode
●
Based on WebBroker
●
Can Integrate WebSnap / WebServices
●
No Session/State Management
●
Series of “disconnected” pages
●
Like a compiled ASP, PHP or ASP.NET
●
PageMode included with D7 / D2005 Pro
IWP Mode
●
Page Mode with static page delivery.
●
Static Page
www.arcanatech.com
Render Modes
●
●
3.2 Mode
●
Works in all HTML browsers
●
Does not require Javascript
●
Requires use of Templates
WAP Mode
●
Renders to WML
●
Works in cellphone browsers
●
Can use WML Templates, but not required
www.arcanatech.com
JavaScript Integration
●
Javascript Resources
●
www.dynamicdrive.com
●
www.javascriptcity.com
●
www.codelifter.com
●
IWTop()
●
FindElem()
●
SubmitClick(), SubmitClickConfirm()
www.arcanatech.com
User Authentication
●
●
HTTP Authentication
●
Web Standard
●
Plain Text Passwords
●
Simple to Implement
Custom Login Forms
●
More Flexible
●
Plain Text Passwords
●
Have Secured and Unsecured Pages
●
Variable Session Timeouts
www.arcanatech.com
Secure Applications
●
●
●
HTTPS
●
Authenticates Server
●
Encrypts Web Traffic
●
Cert.pem & Key.pem
●
Indy Specific OpenSSL Libraries
SSL Certificates
●
Verisign / GEOTrust / RapidSSL
●
Self-signed Certs
SSL Buddy
www.arcanatech.com
Custom Components
●
●
Base Objects
●
TComponent – Non-visual
●
TIWControl – Visual
Interfaces
●
IIWBaseComponent, IIWBaseControl,
IIWBaseContainer
●
IIWInputControl, IIWSubmitControl
●
IIWTabOrder
●
IIWSubmitInvisible
●
IIWUpdateNotified
www.arcanatech.com
Custom Components
●
●
Important Method Overrides
●
InitControl()
●
SupportsInput()
●
RenderHTML()
●
Submit()
●
SetValue()
●
IWPaint()
Important Helper Objects
●
RenderContext, PageContext
●
TIWHTMLTag
www.arcanatech.com
Custom Components
●
Default Paint Handlers
●
File Upload, RadioButton, RadioGroup
●
Rectangle, Label, Button, Edit
●
Checkbox, ComboBox, ListBox
●
Memo, Link, Text, Image, HRule
●
List, DBNavigator, ProgressBar, Region
●
TabControl, TabPage
www.arcanatech.com
Any Questions?
Related documents