SiouX HTTP Server
Upcoming SlideShare
Loading in...5
×
 

SiouX HTTP Server

on

  • 70 views

Title: SiouX HTTP Server ...

Title: SiouX HTTP Server
Speaker: Jerry Kott
Tue, August 19, 2:30pm – 3:00pm

Video Part1: https://www.youtube.com/watch?v=penLl8RJvs4
Video Part2: https://www.youtube.com/watch?v=t_-6sBhoj8o

Description
Abstract: In this presentation, Cincom engineer Jerry Kott will present an architectural overview, do a configuration walkthrough of Cincom VisualWorks’s HTTP server named ‘SiouX’, and demonstrate the new web application development framework named ‘AppeX’. SiouX and AppeX are built in our Cincom Smalltalk foundation and work in both Cincom ObjectStudio and VisualWorks.

With the upcoming release of VisualWorks 8.0 foundation, Cincom is providing new tools to enhance a developers' ability to develop rich behavior web applications. SiouX is a light-weight, high performance HTTP server with native streaming support. It is now the underlying server for all VisualWorks web components, replacing multiple servers. SiouX’s flexibility and scalability allows the easy integration of Seaside, Web Services and other web technologies all running on the same server.

Example applications that will be included in VisualWorks 8.0 will be used to demonstrate the different aspects of server configuration and integration of diverse applications in a single VW image.

Statistics

Views

Total Views
70
Views on SlideShare
70
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Video Part1: https://www.youtube.com/watch?v=penLl8RJvs4
    Video Part2: https://www.youtube.com/watch?v=t_-6sBhoj8o
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SiouX HTTP Server SiouX HTTP Server Presentation Transcript

  • Cincom Systems, Inc. SiouX HTTP Server Jerry Kott, Senior Software Engineer 1
  • Why SiouX? ★ Established Cincom® VisualWorks® technology: VisualWorks Application Server (VWAS)! ★ Applications served via Smalltalk Server Pages, Servlets or VisualWave. ! ★ Uses Opentalk: a generic framework to develop distributed applications.! ★ Difficult to debug and maintain 2
  • Why SiouX? (continued) ★ Based on older standards (HTTP 1.0)! ★ Doesn’t allow to serve different technologies from the same server (e.g., Seaside + SSP + WS)! ★ Limited or no support for new technologies as streaming and chunked messages.! ★ Diverse and incompatible configuration tools! ★ etc… 3
  • What’s new? ★ It’s light-weight, only a handful of classes! ★ Minimum Http header fields parsing to improve performance! ★ Provides file & directory management, as well as multiple log formats! ★ Supports writing directly to the socket stream: - large objects don’t have to be held in memory - using Server-Sent Events becomes easy 4
  • What’s new? (continued) ★ Optional components to provide support for Session Management, Web Sockets & Servlets (backward compatibility)! ★ Includes fortification options (e.g., to set the rate at which new connections are accepted, request line and header limits)! ★ Integrated with SSL/TLS! ★ Configurable, extensible request filters 5
  • Architecture ★ Key classes: - Server —> has listeners and responders - Listener —> accepts and manages connections - Connection —> accepts and dispatches requests in a single process (one process per connection) - Responder - handles requests 6
  • Architecture (continued) ★ HTTP-specific classes: - HttpRequest & HttpResponse - HttpListener & HttpConnection! ★ HTTPS: - HttpsListener & HttpsConnection 7
  • Architecture (continued) Server 8
  • Architecture (continued) Server 8 Listener on xxxx
  • Architecture (continued) Server 8 Responder: /path1 Listener on xxxx
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Listener on xxxx
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Listener on xxxx xxxx listen
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection Listener on xxxx GET /pathX xxxx listen
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection Listener on xxxx GET /pathX xxxx listen dispatch
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection Listener on xxxx GET /pathX xxxx listen dispatch
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection Listener on xxxx GET /pathX xxxx listen respond dispatch
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection Listener on xxxx xxxx listen
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection …… Connection Listener on xxxx xxxx listen
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection …… Connection Listener on xxxx GET /wrong-path xxxx listen
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection …… Connection Listener on xxxx GET /wrong-path xxxx listen
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection …… Connection Listener on xxxx 404 - Not Found GET /wrong-path xxxx listen
  • Architecture (continued) Server 8 Responder: /path1 … Responder: /pathX … Connection …… Connection Listener on xxxx GET /wrong-path xxxx listen
  • Architecture (continued) 8 Responder: /path1 … Responder: / Server Responder: /pathX … Connection …… Connection Listener on xxxx GET /wrong-path xxxx listen
  • Architecture (continued) 8 Responder: /path1 … Responder: / Server Responder: /pathX … Connection …… Connection Listener on xxxx GET /wrong-path xxxx listen
  • Architecture (continued) 8 Responder: /path1 … Responder: / Server Responder: /pathX … Connection …… Connection Listener on xxxx xxxx listen
  • Architecture (continued) 8 Responder: /path1 … Responder: / Server Responder: /pathX … Listener on yyyy Connection …… Connection Listener on xxxx xxxx listen
  • Architecture (continued) 8 Responder: /path1 … Responder: / Server Responder: /pathX … Listener on yyyy Connection …… Connection Listener on xxxx yyyy listen xxxx listen
  • Architecture (continued) 8 Responder: /path1 … Responder: / Server Responder: /pathX … Connection ….. Connection Listener on yyyy Connection …… Connection Listener on xxxx yyyy listen xxxx listen
  • Components ★ Open Parcel Manager! ★ Category: Web Development! ★ Key Parcels: - SiouX-Server - SiouX-Http - SiouX-Tools - plus more… 9
  • Tools ★ GUI and Web Based! ★ Easy access from the Launcher 10
  • Tools (continued) GUI: Web: 11
  • Configuration ★ From the GUI tool! ★ From the Web based ServerMonitor tool (limited)! ★ Programmatic, using pragmas and the Server / Responder API! ★ From an XML configuration file. The XML conf. file can be loaded using a command line into a headless image. 12
  • Configuration (continued) Configuration methods with pragmas: 13
  • Demo time! 14
  • Demo time! 14
  • Demo time! 14
  • Demo time! 14
  • Thank you! ★ Download from Cincom Smalltalk web site: - http://www.cincomsmalltalk.com/main/developer-community/trying-cincom-smalltalk/try-cincom-smalltalk/! ★ Contact:! • Suzanne Fortman: sfortman@cincom.com! • Arden Thomas: athomas@cincom.com! • Jerry Kott: jkott@cincom.com! ★ Q & A 15