GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  OURNET::BBS::TUTORIAL (3)

.ds Aq ’

NAME

OurNet::BBS::Tutorial - Introduction to the OurNet-BBS Architecture

CONTENTS

SYNOPSIS

Below are diagrams of typical scenarios that employs different <B>OurNet::BBSB> components. In each diagrams, text in [square brackets] denotes a program, {curly brackets} means a physical storage, comments are in (parentheses), and blocks with borders like +---+ indicates a class of objects.

    Using OurNet to contact remote MELIX BBS

This diagram explains how the <B>OurNetB> backend may be used to contact a remote server running <B>bbscomdB>, the OurNet Server.



                         (backend)
 {Shared Memory}--. +---------------------+      [bbscomd]
 {Hard Disk Data}-+-|OurNet::BBS::MELIX::*|           |
                    +---------+-----------+   +--------------+
                              +->(daemonize)->|OurNet::Server|
                                              +--------------+
 Server-Side                                         | (xxx.yyy.zzz.www)
 ~~~(Internet)~~~~~~~~~~~~~~~~~~~~~~~~~~~~<<<<<OurNet Protocol>>>>>~~~~~~
 Client-Side                (backend)                |
                   +----------------------+  +--------------+
                   |OurNet::BBS::OurNet::*|--|OurNet::Client|
                   +----------------------+  +--------------+
                                |
           OurNet::BBS->new({bbsroot=>xxx.yyy.zzz.www})
                   +--------------------+
        [ebx]------|OurNet::BBSApp::Sync|
                   +--------------------+



    Using BBSAgent to contact remote BBS Daemon

This diagram explains how the <B>BBSAgentB> backend may be used to contact a remote server running <B>bbsdB>, a regular BBS Daemon of Melix, Maple, Firebird, or Cola systems.



                        [BBS Daemon]-+-{Shared Memory}
 Server-Side                  |      `-{Hard Disk Data}
 ~~~(Internet)~~~~~<<<<<Telnet Protocol>>>>>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Client-Side                  |
                     +----------------+                  (include)
                     |OurNet::BBSAgent|<-{TEMPLATE.bbs}--{*/*.inc}
                     +----------------+  (=procedures)
                              |
                +------------------------+
                |OurNet::BBS::BBSAgent::*|(backend)
                +------------------------+
                              |
            OurNet::BBS->new({bbsroot=>TEMPLATE})
                   +--------------------+
        [ebx]------|OurNet::BBSApp::Sync|
                   +--------------------+



    The OurNet BBS Component Object Model

This diagrams explains the has-a relationships between all <B>OurNet::BBS::*B> objects. The first row in each box represents how to access it from the upper-level tied object.



 [OurNet::BBS::BACKEND::BBS]->new($bbsroot, @args)...
          |                
          |-------------|--------|--------------|-----------.
     +----------+ +----------+ +---------+ +------------+ +---------+
     | {boards} | | {groups} | | {users} | | {sessions} | | {files} |
     |BoardGroup| |GroupGroup| |UserGroup| |SessionGroup| |FileGroup|
     +----------+ +----------+ +---------+ +------------+ +---------+
          |        |   |            |              |           |
       +-----+     |+-----+        +-----------+ +-------+ +-----------+
       |{STR}|<----|{STR}|<--.    |{STR}/[NUM]| | {STR} | |   {STR}   |
       |Board|<-----|Group|---    |   User    | |Session| |ScalarFile*|
       +-----+      +-----+        +-----------+ +-------+ +-----------+
         ||`--------.                    |`----------.
         |`-------. `------------.       `---------. `------------.
 +------------+ +------------+ +-----------+ +------------+ +-----------+
 | {articles} | | {archives} | |  {STR}    | | {mailbox}  | |   {STR}   |
 |ArticleGroup| |ArticleGroup| |ScalarFile*| |ArticleGroup| |ScalarFile*|
 +------------+ +------------+ +-----------+ +------------+ +-----------+
       |              |`----------.
 +-----------+ +-----------+ +------------+    
 |{STR}/[NUM]| |{STR}/[NUM]| |{STR}/[NUM] |<--.
 |  Article  | |  Article  | |ArticleGroup|---
 +-----------+ +-----------+ +------------+



Notes:
o A <B>GroupB> or <B>GroupGroupB> object may contain any number of <B>GroupB> and/or <B>BoardB> objects. Similarily, an <B>ArticleGroupB> object may contain any number of <B>ArticleGroupB> (i.e. an archive directory) and/or <B>ArticleB> objects.
o <B>ScalarFileB> refers to the class <B>OurNet::ScalarFileB>, not <B>OurNet::BBS::B>BACKEND<B>::ScalarFileB>. All other classes are to be preceded with <B>OurNet::BBS::B>BACKEND<B>B>.
o The <B>STRB> means string hash index, <B>NUMB> means numeric array index, accessible using curly and square brackets, respectively.

AUTHORS

Autrijus Tang <autrijus@autrijus.org>

COPYRIGHT

Copyright 2001-2002 by Autrijus Tang <autrijus@autrijus.org>.

This document is open document; you can redistribute it and/or modify it under the Open Content License.

See <http://opencontent.org/opl.shtml>

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 OURNET::BBS::TUTORIAL (3) 2003-10-20

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.