Samchon, a OON (Object Oriented Network) Framework with C++ and TypeScript


Keywords
samchon, framework, OON, object oriented network, interaction, cloud system, distributed processing system, parallel processing system, C++, TypeScript, Entity
License
BSD-3-Clause
Install
npm install samchon@3.0.0-dev.20181012

Documentation

Samchon Framework

npm version Downloads DeepScan Grade Chat on Gitter

Object Oriented Network

Network Connectivity to Class Relationship

Samchon Framework is an OON (Object-Oriented Network) framework. You can compose network systems within framework of the Object-Oriented.

Whether how the network system is enormous and complicate, the system nodes, they're just objects in the Samchon Framework. Define objects who represent the system nodes and deliver message by calling methods from objects to objects. That's all.

System Templates, Modules of OON

I repeat, Samchon is an OON (Object-Oriented Network) framework, composing a network system within framework of the Object-Oriented. It means that even modulization is possible and it's called System Templates. You can maximize the reusability with the modulization, System Templates.

When you need a cloud system, then take a System Template named Cloud Service. When you need a distributed processings system, then take the Distributed System. If you should implement a specific network system and the network system will be used repeatedly, then modulize it to be one of the System Templates.

Below System Templates are basically provided in the Samchon Framework:

TypeScript-STL, interaction with TypeScript and C++

Supported Languages

The best solution, for integrating and migrating a system built by different languages (TypeScript and C++), is to sharing same designs and grammers. Those designs and grammers are unitifed, then any other solution can't be better. Samchon Framework provides the best solution.

Unifying designs, it can be come true by utilizing the Object-Oriented Network paradigm with Samchon Framework. Unifying grammer, it also can be done by using the TypeScript-STL, a sub-project who migrated C++'s STL (Standard Template Library) to TypeScript. You can use STL's containers and algorithms in TypeScript with the TypeScript-STL. Thus, you can unify not only designs but also grammers, algorithms and even data structures with the TypeScript-STL.

Suggestion

If you're planning to build a cloud solution, then I sugguest you to follow such step:

  1. Fast Implementation 1. Cloud Application with TypeScript & HTML 2. Cloud Service with TypeScripty & NodeJS
  2. Performance Improvement 1. Heavy processes, distribute them to C++ systems. 2. Migrate Cloud server from TypeScript to C++ gradually.

Installation

TypeScript

# Install NPM module.
npm install --save samchon

Installs Samchon-Framework from NPM module and imports the definition.

/// <reference types="samchon" />
import samchon = require("samchon");

C++

Samchon Framework is a header only project. Linkages like LIB, DLL or SO are not required at all. Just include header files what you want. However, notice that, Samchon Framework has two dependencies you should install.

  • Boost - essential.
  • ODBC - optional, required only when using SQL driver.
#include <samchon/library.hpp>
#include <samchon/protocol.hpp>

#include <samchon/templates/service.hpp>
#include <samchon/templates/external.hpp>
#	include <samchon/templates/parallel.hpp>
#	include <samchon/templates/distributed.hpp>

Documents

Architecture Designs

Guide Documents

API Documents