32
Application Server What’s New in Version 10 Deployment

Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Embed Size (px)

Citation preview

Page 1: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Application ServerWhat’s New in Version 10

Deployment

Page 2: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Topics

What’s New in Version 10

Deployment

Page 3: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10

PerformanceSecurityFunctionality/Configuration

Page 4: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Performance

A Peek at What the Server Spends Time Doing

Page 5: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Performance

What is the Server Overhead?

Read and Parse incoming requestDetermine action required to fulfill requestRetrieve/Instantiate sessionSet up A5W execution environmentPrepare and send response back to client

Page 6: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Performance

Request Parsing

More efficient socket readingTotally new parserOrders of magnitude fasterTightens up potential attack vectors Paves way for future functionality

Page 7: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Performance

Set up A5W execution environment

Cache the Application RootCache a5_application.a5i

Page 8: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Performance

Prepare and Send Response

Cache gzipped output for static resourcesOptimized output sending

Page 9: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Performance

The Results?

Vary with type of request, hardware, etc.On average, server overhead is about ½ of what it is in V9Large gzipped static resources have the most significant improvement

Page 10: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10

PerformanceSecurityFunctionality/Configuration

Page 11: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Security

Security is implemented at many levels. Most significant in core server are:

Connection handlingRequest parsingSession management

Page 12: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Security

Connection Handling

Intentionally malformed socket communications have potential to crash serverLargely the operating system’s responsibilityApplication Server adds additional protection

Page 13: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Security

Request parsing is dangerous business

Depends on input from an untrusted sourceUses untrusted input to create variables, take actions, etc.Most common area of exploit across web servers

The new request parser has further protection against attacks via request parsing.

Page 14: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Security

Session Management

Cookie lifetime matches session lifetimeCookie is an Http-Only cookieIf using SSL, cookie is a “Secure” cookieServer prevents recycling of session IDs

Page 15: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10

PerformanceSecurityFunctionality/Configuration

Page 16: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Functionality

Logging Options

Thread transition loggingXbasic error stack logging

Page 17: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Functionality

Session.BrowserId

Similar to V9 session IdDoes not change across sessionsCan be used to uniquely identify browser across sessions

Page 18: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Functionality

New Response Methods

AddCookie() supports Http-Only and Secure cookiesAddHeader() supports additional header syntaxExpire() directs client on how long to cache the resourceNoCache() directs client to not cache resourceRedirect() supports Permanent (301) redirectsSendFile() easily send a file back to clients

Page 19: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Functionality

Error Pages

Custom error pages can now execute A5W codeWrite your own error handlers that email administrator, attempt to fix mistyped URL, or take just about any other action you can code in Xbasic

Page 20: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Functionality

IP Address Binding

Server can now run on just one of a machine’s addressesAllows for multiple servers on same system using same port to serve different applications

Page 21: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Functionality

Enable/Disable Built-in Functionality

Alpha faviconAlpha logo used in a5w_info() output.a5ajax processing.a5image processingAlpha JavaScript libraryAutomatic sample pages deployment

Page 22: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Functionality

Configuration Options

Timeout for header readingTimeout for full request readingTimeout for Keep-Alive connectionsMaximum Keep-Alive requests per connectionMaximum URI length

Page 23: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

What’s New in Version 10Functionality

Version 9 Compatibility Server

Runs the old Version 9 serverRemoves all new Version 10 functionalityProvided for debugging purposes only

Page 24: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Topics

What’s New in Version 10

Deployment

Page 25: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Deployment

Web application or browser-based application?

Web browser is used for UI, but app does not need to be on the InternetRecommended approach for new development work

Page 26: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Deployment

The primary deployment issue is where to host your application. But other questions must be answered first.

Who needs access to the application?Is this a hybrid app or browser-based only?Internal resources

Page 27: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Deployment

Who needs access to the application?

Internal users on local networkInternal users at remote location(s)External users at specific remote location(s)General public Internet

Page 28: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Deployment

Browser-based only or hybrid app?

A desktop app with DBF suggests hosting locallyA desktop app with no DBF is more flexiblePurely browser-based provides more options

Page 29: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Deployment

Internal Resources

Once installed, little ongoing maintenance is neededGreater availability tends to be difficult for smaller companies

Page 30: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Deployment

Given these considerations, should you host it internally or use a hosting provider?

Internal typically gives you greater control, makes broader access more difficult, and has a greater initial cost.Hosting providers can provision quickly, specialize in keeping your server running 24x7, can limit or open access as desired, may be slower for internal users.

Page 31: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Deployment

Regardless of internal or outsourced hosting, consider the hardware configuration

Memory is inexpensive and greatly improves performanceDisk drives often create a bottleneckMany database tasks are CPU intensive

For a detailed discussion, see Kurt’s articles on blog.alphasoftware.com

Page 32: Building an web 2.0 blog RAPIDLY in Alpha Five v10 with Codeless AJAX

Questions/Discussion