- Notifications
You must be signed in to change notification settings - Fork8
robtweed/qewd-baseline
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Rob Tweedrtweed@mgateway.com4 December 2019, M/Gateway Developments Ltdhttp://www.mgateway.com
Twitter: @rtweed
Google Group for discussions, support, advice etc:http://groups.google.co.uk/group/enterprise-web-developer-community
This repository provides a pre-configured, minimal set-up on which you can begindeveloping your APIs and/or back-end logic/message handlers for your interactive applications.
It supports three modes of operation:
A Dockerised version of QEWD that will run on any Linux system or on a Raspberry Pi
A version that will run on the InterSystemsAWS Community Edition of IRIS
A version that will run QEWD with Caché or IRIS natively on Windows
This repository also contains in-depth tutorials that will teach you how to build QEWD-based:
QEWD is a 100% Node.js-based, integrated system on which you can build the back-end logic forboth REST APIs and interactive, browser-based or Native applications. The pre-installatedand pre-configured components that constitute QEWD include:
- theExpress web server
- thesocket.io nodule for WebSocket support
- theewd-qoper8 Queue/Worker Pool management system
- QEWD-jsdb: an in-process multi-model database
- theQEWD-transform-json JSON transformation module
QEWD provides and supports Session management using either server-side Session storage (usingQEWD-JSdb) or JSON Web Tokens (JWT).
QEWD can be run either natively or as aDockerised versionand can be configured to support either single monolithic applications orapplications built as MicroServices (each of which will run on its own QEWD instance).
QEWD also includesewd-client, a client JavaScript librarywhich allows browser or Native front-ends to communicate securely over WebSockets withQEWD'ssocket-io interface.ewd-client can be used and easily integrated with anyJavaScript framework.
For the IRIS Community AWS Version, seethese instructions and then skip to the next section.
If you're running Caché or IRIS natively on Windows, seethese instructions and then skip to the next section.
Otherwise, the simplest way to work with QEWD is to use the pre-built Docker version which will run onany Linux system or even on a Raspberry Pi.
Just type these commands in a Linux system or Raspberry Pi:
cd ~ git clone https://github.com/robtweed/qewd-baseline cd qewd-baseline source install.sh
Simply answer the questions and within a few minutes you'll have it all ready to run.
Don't worry if you don't have Docker installed (which is the only dependency) - the installerwill also install Docker if necessary (though you'll need to start a new process and re-runthe installer after it installs Docker).
When the installer has completed you have two options for starting the QEWD Docker container:
without database persistence between Container restarts:
cd ~/qewd-baseline ./start
with database persistence between Container restarts:
cd ~/qewd-baseline ./start_p
To stop the Docker Container, you should always use the command:
cd ~/qewd-baseline ./stop
This cleanly and safely shuts down the database-connected QEWD Worker Processes
You'll see the following folders in your QEWD-baseline directory:
- apis: used for your REST API handler logic
- configuration: this is where your QEWD system is configured, and where your REST API routes are defined
- qewd-apps: used for your interactive applications' message handlers
- utils: used for any of your utility modules on which your REST or interactive application handler aredependent
- www: used as the QEWD Express web Server root path, and therefore the home for the front-endmarkup, JavaScript and CSS resources of your applications
If you're running the Containerised version of QEWD, you'll also see a folder namedyottadb. If you run the QEWD Container in persistent mode, this folder containsthe host files for the YottaDB database. They are mapped for use by YottaDB within theContainer. You should not change or move this folder or its contents, but you should back themup regularly.
You'll also see a folder namediris-aws. This contains versions of key files whichare used if you are running on IRIS
Click here to learn how to create REST APIs on your QEWD system
Click here to learn how to create interactive applications, theback-end of which will run on your QEWD system
Copyright (c) 2019 M/Gateway Developments Ltd,
Redhill, Surrey UK.
All rights reserved.
http://www.mgateway.com
Email:rtweed@mgateway.com
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions and
limitations under the License.