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/kernel
- @ewam/library
- @ewam/node-hosting
- @ewam/clickonce
- @ewam/wsm
- @ewam/wsm-isapi
- @ewam/wsm-gsp
- 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-library
- package.json
- bin
- Analyzers.DLL
- WEDServers.DLL
- BcpPersistency.DLL
- ...
- ewam-node-hosting
- package.json
ewam-kernel and ewam-library are required
- addons
CPP addons loading widedll
- ewam_node_hosting_64_x64.node
node 10
- ewam_node_hosting_67_x64.node
node 11
- ewam_node_hosting_72_x64.node
node 12
- ...
- ewam-clickonce
- package.json
- index.js
- index.js.ts
- ReadMe.md
- public
Public directory of clickonce webpage
- App
- eWAMWydeWeb.exe
- sysmod.dll
- wpfbridge.dll
- wlib.dll
- widelib.dll
- widedll.dll
- WydeClientWCN.application
- WydeClientWCN.manifest
- index.html
clickonce webpage entrypoint
- ...
- ewam-wsm
- package.json
- bin
- COWydeWeb.exe
Click Once WydeWeb
- RemoteWAM.exe
- WedRPCServer.exe
- WSMAdmin.exe
- WSMMultiAdmin.exe
- WSMPing.exe
- WSMPingServer.exe
- WydeWeb.exe
- WydeWebServer.exe
- WySeMan.exe
- sysmod.dll
- wlib.dll
- wpfbridge.dll
- WySeManDll.dll
- WydeWebDll.dll
- ewam-wsm-isapi
- package.json
- bin
- WSMISAPI.dll
IIS ISAPI extension
- sysmod.dll
- wlib.dll
- wpfbridge.dll
- WySeManDll.dll
- ewam-wsm-gsp
- package.json
- bin
- GSP.dll
IIS ISAPI extension
- sysmod.dll
- wlib.dll
- wpfbridge.dll
- WySeManDll.dll
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:
{
"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