TOC

27
Special-purpose application servers Gregor J. Rothfuss Technical Director PostNuke O’Reilly Open Source Convention July 22-26, 2002

description

Special-purpose application servers Gregor J. Rothfuss Technical Director PostNuke O’Reilly Open Source Convention July 22-26, 2002. TOC. Whats wrong with app servers? The product The community The architecture The uses The future Q & A. Whats wrong with app servers?. - PowerPoint PPT Presentation

Transcript of TOC

Page 1: TOC

Special-purpose application servers

Gregor J. RothfussTechnical Director

PostNuke

O’Reilly Open Source ConventionJuly 22-26, 2002

Page 2: TOC

Gregor J. Rothfuss – PostNuke

TOC

• Whats wrong with app servers?

• The product

• The community

• The architecture

• The uses

• The future

• Q & A

Page 3: TOC

Gregor J. Rothfuss – PostNuke

Whats wrong with app servers?

• Supposition: Most programmers suck

• App servers mainly support „good“ programmers

• App servers are too generic, too high level

Page 4: TOC

Gregor J. Rothfuss – PostNuke

Special purpose app servers

• Tenet: Provide cool stuff out of the box

• Libraries alone dont woo anyone

• Provide approaches on several levels– customization (Administration)– skinning (Layout)– addon development

• Examples of this breed:– Midgard, PhpGroupware, PostNuke

Page 5: TOC

Gregor J. Rothfuss – PostNuke

Dedication: Greg Allan

• Greg Allan a.k.a. Adam_Baum, the lead core developer and one of the four founding members of the PostNuke Development Project passed away from injuries sustained in a motorcycle accident. The accident occurred June 16, 2002 near his home in Meaford, Ontario in Canada.

Page 6: TOC

Gregor J. Rothfuss – PostNuke

Product: Some stats

• 500,000 downloads to date

• 20,000 sites running

• 120+ modules available

• 100+ themes available

• PostNuke is IBM Server proven

Page 7: TOC

Gregor J. Rothfuss – PostNuke

Product: Target audiences

• Private persons

• Communities

• Small businesses

• Needs to – be easy to install, admin– have a good support infrastructure– run anywhere

Page 8: TOC

Gregor J. Rothfuss – PostNuke

Product: Why PHP?

• Runs on most ISPs

• Is easy to learn

• Large amounts of legacy code

• Cross platform: PN runs on Linux, Windows, OS 390, Solaris

• Lean & mean

Page 9: TOC

Gregor J. Rothfuss – PostNuke

Product: Core Features

• User management

• Permissions

• Templating

• Modularity

Page 10: TOC

Gregor J. Rothfuss – PostNuke

The PostNuke community

• 200+ developers

• 20 international support sites

• 14,000 registered users

• Bottom line: PostNuke is about building and growing communities

Page 11: TOC

Gregor J. Rothfuss – PostNuke

Architecture: Goals

• provide compatibility for modules

• encourage code reuse

• provide a secure environment

• keep it as easy as possible (but no easier)

Page 12: TOC

Gregor J. Rothfuss – PostNuke

Architecture: Flow

Web (XHTML) RPC (XML)

pnInit pnInit

Sess Lang DB Site

Module(s)

Sess DB

XML-RPC

specific API

Theming

Templates

Page 13: TOC

Gregor J. Rothfuss – PostNuke

Architecture: Components

DB: MySQL, Postgres, MSSQL, Sybase, Oracle

ADODB

Utility Modules PN API

Modules Blocks

Themes / Templating

Page 14: TOC

Gregor J. Rothfuss – PostNuke

Architecture: Module Design

• Separation of User and Admin Functions

• Separation of Display and Operational Functions

• Single Directory Installation

• External Access to Module Functions

Page 15: TOC

Gregor J. Rothfuss – PostNuke

Architecture: Hooks

• Modules can register hooks that will be called on specific events:– Item creation– Item display

• Modules dont know who if anyone will implement their hook

• Examples– Admin notification on user signup

Page 16: TOC

Gregor J. Rothfuss – PostNuke

Architecture : Cron

• Modules can schedule events to occur on a regular basis

• Examples:– Notification mails– Cleanup tasks– Syndication

Page 17: TOC

Gregor J. Rothfuss – PostNuke

Architecture : Permissions

• ACL based on regular expressions

• Supports unlimited groups

• Supports nested groups

• Can be a challenge to understand

• Simpler admin interfaces in development

Page 18: TOC

Gregor J. Rothfuss – PostNuke

Architecture : Syndication

• Exchange site headlines with other sites

• Based on RSS 0.91

• Format supported by hundreds of sites:– Reuters

Page 19: TOC

Gregor J. Rothfuss – PostNuke

Architecture : ADODB

• Based on MS ADODB API principles

• Strive for SQL 92 compatibility

• Remaining quirks: JOIN, Auto-increase fields

• CREATE TABLE is hard..

Page 20: TOC

Gregor J. Rothfuss – PostNuke

armorama.com

Page 21: TOC

Gregor J. Rothfuss – PostNuke

www.fzln.org.mx

Page 22: TOC

Gregor J. Rothfuss – PostNuke

Hagerstown Business College

Page 23: TOC

Gregor J. Rothfuss – PostNuke

Government of Bahrain

Page 24: TOC

Gregor J. Rothfuss – PostNuke

Usage Scenarios

Community WebsitesForums, News, Syndication

Small BusinessesShopping solutions, CMS

Vertical Solutions

pnCommunitypnEducation

Page 25: TOC

Gregor J. Rothfuss – PostNuke

The Future

• support more databases

• make module writing easier

• develop more vertical solutions

• port PostNuke to Midgard• increased scalability• rich applications

Page 26: TOC

Gregor J. Rothfuss – PostNuke

Q & A

Page 27: TOC