Ну, насколько я понимаю, разработчики не предоставили документации, ограничившись примером использования. Тут скорее философский вопрос, как к этому относиться.
Но для начала можно просто начать писать и читать код.
Вот вам упрощенный пример.
## Код:
```
MODULE PrivHello;

   IMPORT Log, Dialog, O3baseWebServlets, O3baseWebHttp, O3bbWebServer, O3baseFiles;
   
   TYPE
      Servlet = POINTER TO RECORD(O3baseWebServlets.Servlet) END;
   
   PROCEDURE (s: Servlet) Do (m: O3baseWebServlets.Msg);
      VAR file: O3baseFiles.File;
      
      PROCEDURE Generate(IN text: ARRAY OF CHAR);
         VAR wr: O3baseFiles.Writer; i: INTEGER;
      BEGIN
         file:=O3baseFiles.factory.Temp();
         wr:=file.WrNew();
         i:=0;
         WHILE i<LEN(text$) DO
            wr.Char(text[i]);
            INC(i);
         END;
      END Generate;
      
   BEGIN
      Log.String('запрос'); Log.Ln;
      Generate('Hello, world!');
      ASSERT(file#NIL, 40);
      m.Respond(O3baseWebHttp.ResponseUtf8Html(file));
   END Do;
   
   PROCEDURE Start*;
      VAR s: Servlet;
   BEGIN
      IF O3bbWebServer.action#NIL THEN 
         NEW(s);
         O3bbWebServer.action.s.ServletRegister(s);
         O3bbWebServer.InvokeWebBrowser;
      END
   END Start;
   
   PROCEDURE Init;
      VAR res: INTEGER;
   BEGIN
      Dialog.Call("O3bbStartup.Start", "ошибка инициализации веб-сервера", res);
      IF res=0 THEN
         O3bbWebServer.ActionStart('0.0.0.0', 8080, 8081);
      END
   END Init;
   
BEGIN
   Init;
END PrivHello.

(!)PrivHello.Start
```

Спрашивайте про непонятные места.
И еще смотрите модуль AppMovies из архива, для более сложных вещей.