Skip to main content

Installation

Introduction​

Mphasis Wyde decided to deliver new version of ewam in form of versioned npm packages to ease deployments and upgrades.

Node-Hosting is a new deployment solution that provide an alternative to the Wyde Service Manager:

About npm​

npm is the world’s largest software registry. Open source developers from every continent use npm to share and borrow packages, and many organizations use npm to manage private development as well.

About npm packages​

A package is a file or directory that is described by a package.json file. A package must contain a package.json file in order to be published to the npm registry.
https://docs.npmjs.com/about-packages-and-modules

Required npm version​

Supported versions:

  • Node 12 (with eWam < 7.0.11)
  • Node 14 (with eWam >= 7.0.11) (production support) <= recommended
  • Node 16 (with eWam >= 7.0.11)

npm is not used on the runtime unless you use the node-hosting option. Therefore we support most npm version, it just need to perform npm install which is available in npm since early versions.

eWam Artifacts​

eWam artifacts are hosted on Azure Dev Ops: https://dev.azure.com/mphasis-wyde/ewam/_packaging?_a=feed&feed=ewam.

Azure Feed configuration

Follow the instructions to authorize your computer to the ewam azure feeds.

Ewam base executables and resources.
  • ewam-kernel
    • package.json

      Contains name, author and version. Also see npm doc

    • license.txt

      eWam license πŸ”‘

    • ReadMe.md

      Information on the package and how to install it πŸ“„

    • wam-default.json

      To customize the entity serialization

    • bin

      Contains all the traditional ewam executables

      • eWam.exe
      • eWamService.exe
      • widedll.dll
      • ...
    • Bmp

eWam Installation​

To install ewam you have 2 options:

  • Use ewam-installer (recommended)
  • Create your own package.json (example below)

To install eWam you need a package.json similar to this:

package.json
{
"name": "ewam-demo",
"version": "1.0.0",
"dependencies": {
"dotenv": "^8.2.0",
"@ewam/kernel": "7.0.10",
"@ewam/library": "7.0.10",
"@ewam/wsm": "7.0.10",
"@ewam/wsm-clickonce": "7.0.10",
"@ewam/wsm-gsp": "7.0.10",
"@ewam/wsm-isapi": "7.0.10"
},
"devDependencies": {
"@ewam/cli": "0.1.0-alpha.19",
"@ewam/tgv-multiuser": "7.0.10",
"@ewam/tgv-standalone": "7.0.10"
},
"scripts": {
"start": "node scripts/call.js eWAMService.exe @(WYDE-ADMIN)/required-parameters.cfg",
"ewam": "node scripts/call.js ewam.exe ",
"ewam:cli": "ewam-cli",
"ewam:console": "node scripts/call.js ewamconsole.exe",
"ewam:ide-service": "node scripts/call.js eWAMService.exe /RUNASSERVICE:(WYDE-ADMIN)/config-runtime-ide.json",
"ewam:patch-system": "npm run ewam:console -- /FORCEPATCHSYSTEM",
"ewam:sync": "npm run ewam:console -- /SYNCHRONIZEALL %*",
"wynsure": "npm run ewam:console -- /Run:aWFApplicationLauncher.Run @(WYDE-ADMIN)/RichConf.cfg"
}
}

Important sections:

  • Dependencies: will always be installed
  • Dev Dependencies: to install only for development
  • Scripts: all your entry points (correspond to the .bat files you used to have in previous versions)

By launching the following command:

npm install

npm will create 2 directories containing ewam runtime:

β”œβ”€β”€ package.json     // list all dependencies and declare entry points 
β”œβ”€β”€ node_modules // installed via npm and package.json
β”‚ └── @ewam
| └── kernel // eWam base DLLs and executables
β”‚ └── library // ewam CPPDLLs

You are almost there. All you need is :

  • a repository for your TGV
  • a repository for your admin files
  • use npm scripts to :
    • set env variables
    • start ewam or your ewam application
  • AppFolder
    • package.json

      Describe your app and dependencies

    • package-lock.json

      Will be created by npm to fix your dependencies

    • Admin

      Should contains all the configuration files

    • bin

      Contains all the traditional ewam executables

    • node_modules

      Will be created by npm

    • TGV
    • scripts

      example of scripts