Continuing to learn Infor ION Grid and building a laboratory without LifeCycle Manager (LCM), today I will use the Grid bundled installer and spew screenshots of the intuitive and automated install.
Disclaimer
The Grid bundled installer is available publicly as part of the Grid deliverable, but it is for internal use only, not for production use.
1. Database
Install a database server (DB2 AS/400, Apache Derby, Oracle, PostgreSQL, or SQL Server), and create a new database, e.g. InforIONGrid:
2. JAR file
Go to the Infor Product Download Center, find the M3 Core Infrastructure and Technology, download the Grid installer, unzip it, go to the components sub-folder, and execute the installer JAR file:
3. Next Next Next
3. Result
Here is the resulting Grid, files and folders, web UI, admin UI, topology, registry, default router, administrative router, user and role mapping, Grid Bootstrap, database, Windows Service, processes, topology XML, and runtime XML:
Windows Service:
Infor ION Grid Bootstrap - InforIONGrid - localhost LogOnAs=NT SERVICE\Infor ION Grid Bootstrap - InforIONGrid - localhost ConfigDir=C:\Infor\InforIONGrid JavaHome=C:\Program Files\Java\jdk1.8.0_111 ClassName=com.infor.bootstrap.DaemonWrapper JVMParameters=-Xmx512M -XX:MaxPermSize=512m ApplicationParameters=-baseDir C:\Infor\InforIONGrid
topology.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <topology gridId="83144c68-5a16-4e6c-8280-b9102a477980" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.lawson.com/grid/configuration_v3 http://schemas.lawson.com/grid/configuration_v3" xmlns="http://schemas.lawson.com/grid/configuration_v3"> <hosts> <host address="localhost" gridAgentPort="50003" name="localhost"/> </hosts> <registry host="localhost" port="50004"/> <administrativeRouter externalAddress="localhost" host="localhost" httpsAuthType="client" httpsPort="50007" port="50005" webStartPort="50006"/> <!--5/9/17 12:45 PM--> <!--Created by installer--> </topology>
runtime.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtime xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.lawson.com/grid/configuration_v3 http://schemas.lawson.com/grid/configuration_v3" xmlns="http://schemas.lawson.com/grid/configuration_v3"> <bindings/> <sessionProviders developer="false"/> <routers> <router externalAddress="localhost" host="localhost" httpAuthenticationMethods="ntlm" httpPort="50001" httpsAuthType="client" httpsAuthenticationMethods="basic ntlm" httpsPort="50000" name="Default Router"/> </routers> <propertySettings> <propertyOverrides nodeType="router"> <property name="grid.jvm.maxHeapMB">256</property> </propertyOverrides> <propertyOverrides nodeType="registry"> <property name="grid.jvm.maxHeapMB">256</property> </propertyOverrides> <propertyOverrides> <property name="grid.jvm.maxHeapMB">512</property> <property name="java.net.preferIPv4Stack">true</property> <propertyListMap name="grid.slf4j.mapping" strategy="merge"> <key>org.apache.cxf.service.*</key> <values> <value>ERROR</value> <value>WARN</value> <value>DEBUG</value> <value>DEBUG</value> <value>TRACE</value> </values> <key>org.apache.cxf.endpoint.*</key> <values> <value>ERROR</value> <value>WARN</value> <value>DEBUG</value> <value>DEBUG</value> <value>TRACE</value> </values> </propertyListMap> <propertyListMap name="grid.router.endpoints"/> </propertyOverrides> </propertySettings> <!--5/9/17 12:45 PM--> <!--Created by installer--> </runtime>
Here is the folder structure (zoom in):
C:\Infor\InforIONGrid>tree /a /f Folder PATH listing for volume Windows_OS Volume serial number is 0E5A-3982 C:. | BootstrapWebUI-50002.url | pid | +---config | agentlaunch.properties | bootstrap.properties | +---drivers | sqljdbc4-4.0.jar | +---grids | \---InforIONGrid | | AdminUI.cmd | | ChangeDBPassword.cmd | | ChangeJDK.cmd | | OfflineConfigUI.cmd | | StartAllHosts.cmd | | StartHost.cmd | | StopAllHosts.cmd | | StopHost.cmd | | | +---config | | binary.path | | jdbc.properties | | | +---log | | \---SYSTEM | | grid-agent-1244.log | | grid-agent-1772.log | | grid-agent-4504.log | | grid-agent-4600.log | | grid-agent-4960.log | | grid-agent-6808.log | | grid-registry-3816.log | | grid-registry-3872.log | | grid-registry-4072.log | | grid-registry-5040.log | | grid-registry-6492.log | | grid-registry-8832.log | | grid-router-Administrative_Router-3220.log | | grid-router-Administrative_Router-3908.log | | grid-router-Administrative_Router-4776.log | | grid-router-Administrative_Router-5020.log | | grid-router-Administrative_Router-5320.log | | grid-router-Administrative_Router-9504.log | | grid-router-Default_Router-3052.log | | grid-router-Default_Router-3832.log | | grid-router-Default_Router-4824.log | | grid-router-Default_Router-5152.log | | grid-router-Default_Router-5340.log | | grid-router-Default_Router-8508.log | | | \---secure | https-ts.pw | https.ks | https.pw | https.ts | InforIONGrid.der | InforIONGrid.ks | InforIONGrid.pw | server.key | server.ks | server.pw | +---log | bootstrap-2516.log | bootstrap-2532.log | bootstrap-2544.log | bootstrap-2552.log | bootstrap-2568.log | bootstrap-2588.log | bootstrap-2732.log | bootstrap-8144.log | installation_20170509124513914.log | installation_20170518165426295.log | service-2516.log | service-2532.log | service-2544.log | service-2552.log | service-2568.log | service-2588.log | service-2732.log | service-8144.log | service_out-2516.log | service_out-2532.log | service_out-2544.log | service_out-2552.log | service_out-2568.log | service_out-2588.log | service_out-2732.log | service_out-8144.log | +---resources | | bootstrap-daemon-1.2.4.jar | | commons-daemon-1.0.15.jar | | | +---1.13.77 | | bcmail-jdk16-1.45.jar | | bcprov-jdk16-1.45.jar | | bootstrap-core-1.13.77.jar | | grid-core-1.13.77.jar | | grid.commons-dbcp2-2.0.1.jar | | grid.httpclient-4.2.6.jar | | grid.liquibase-2.0.5.jar | | jackson-core-asl-1.9.12.jar | | jackson-mapper-asl-1.9.12.jar | | javax.servlet-api-3.1.0.jar | | jna-3.3.0-platform.jar | | jna-3.3.0.jar | | maven-shared-utils-0.4.jar | | windowsjnasecurity-1.0.4.jar | | | +---amd64 | | service-wrapper-11.1.13.1-amd64.exe | | | \---x86 | service-wrapper-11.1.13.1-x86.exe | +---runtimes | \---1.13.77 | +---jaxrs1Resources | | grid-jaxrs1-1.13.77.jar | | jackson-core-asl-1.9.2.jar | | jackson-jaxrs-1.9.2.jar | | jackson-mapper-asl-1.9.2.jar | | jackson-xc-1.9.2.jar | | jersey-core-1.18.1.jar | | jersey-json-1.18.1.jar | | jersey-multipart-1.18.1.jar | | jersey-server-1.18.1.jar | | jersey-servlet-1.18.1.jar | | mimepull-1.9.3.jar | | | +---jaxrs2Resources | | aopalliance-repackaged-2.2.0.jar | | grid-jaxrs2-1.13.77.jar | | hk2-api-2.2.0.jar | | hk2-locator-2.2.0.jar | | hk2-utils-2.2.0.jar | | jackson-core-asl-1.9.13.jar | | jackson-jaxrs-1.9.13.jar | | jackson-mapper-asl-1.9.13.jar | | jackson-xc-1.9.13.jar | | javassist-3.18.1-GA.jar | | javax.annotation-api-1.2.jar | | javax.inject-2.2.0.jar | | javax.ws.rs-api-2.0.jar | | jersey-client-2.7.jar | | jersey-common-2.7.jar | | jersey-container-servlet-2.7.jar | | jersey-container-servlet-core-2.7.jar | | jersey-guava-2.7.jar | | jersey-media-json-jackson-2.7.jar | | jersey-media-multipart-2.7.jar | | jersey-server-2.7.jar | | mimepull-1.9.3.jar | | osgi-resource-locator-1.0.1.jar | | validation-api-1.1.0.Final.jar | | | +---licenses | | +---asm | | | license.txt | | | | | +---bcprov-jdk16 | | | license.txt | | | | | +---core | | | license.html | | | | | +---cxf | | | license.txt | | | | | +---httpcore | | | license.txt | | | | | +---jetty-package | | | license.txt | | | | | +---jna | | | license.txt | | | | | +---jquery | | | license.txt | | | | | +---jquery-hashchange | | | license.txt | | | | | +---jsp-2.1-glassfish | | | license.txt | | | | | +---neethi | | | license.txt | | | | | +---servlet-api | | | license.txt | | | | | +---timepicker | | | license.txt | | | | | +---wsdl4j | | | license.txt | | | | | +---wstx-asl | | | license.txt | | | | | +---xml-resolver | | | license.txt | | | | | +---xmlbeans | | | license.txt | | | | | \---XmlSchema | | license.txt | | | +---monitorResources | | activation-1.1.jar | | antlr-2.7.7.jar | | antlr-3.3.jar | | antlr-runtime-3.3.jar | | commonj.sdo-2.1.1.jar | | commons-math3-3.0.jar | | decision-trees-1.0.2.jar | | drools-compiler-5.4.0.Final.jar | | drools-core-5.4.0.Final.jar | | ecj-3.5.1.jar | | eclipselink-2.5.1.jar | | grid-monitor-1.13.77.jar | | grid-monitor-impl-1.13.77.jar | | grid-monitor-linux-1.13.77.jar | | grid-monitor-wmi-1.13.77.jar | | groovy-all-2.0.0.jar | | javax.persistence-2.1.0.jar | | joda-time-2.0.jar | | jsr166-1.7.0.jar | | knowledge-api-5.4.0.Final.jar | | knowledge-internal-api-5.4.0.Final.jar | | mail-1.4.jar | | mvel2-2.1.0.drools16.jar | | ojalgo-31.0.jar | | stringtemplate-3.2.1.jar | | | +---resources | | bcmail-jdk16-1.45.jar | | bcprov-jdk16-1.45.jar | | grid-core-1.13.77.jar | | grid.commons-dbcp2-2.0.1.jar | | grid.httpclient-4.2.6.jar | | grid.liquibase-2.0.5.jar | | javax.servlet-api-3.1.0.jar | | jna-3.3.0-platform.jar | | jna-3.3.0.jar | | linked-binaries-1.13.77.jar | | maven-shared-utils-0.4.jar | | | +---services | | \---log | | slf4j-api-1.7.5.jar | | slf4j-grid-1.13.77.jar | | | +---tools | | \---grid-cli | | grid-cli-1.13.77.jar | | jackson-core-asl-1.9.13.jar | | jackson-mapper-asl-1.9.13.jar | | jcommander-1.32.jar | | | +---webAppResources | | asm-4.1.jar | | asm-commons-4.1.jar | | asm-tree-4.1.jar | | commons-fileupload-1.2.2.jar | | grid-webapp-1.13.77.jar | | javax-websocket-client-impl-9.1.1.v20140108.jar | | javax-websocket-server-impl-9.1.1.v20140108.jar | | javax.annotation-api-1.2.jar | | javax.el-3.0.0.jar | | javax.servlet.jsp-2.3.2.jar | | javax.servlet.jsp-api-2.3.1.jar | | javax.servlet.jsp.jstl-1.2.0.v201105211821.jar | | javax.websocket-api-1.0.jar | | jetty-annotations-9.1.1.v20140108.jar | | jetty-continuation-9.1.1.v20140108.jar | | jetty-http-9.1.1.v20140108.jar | | jetty-io-9.1.1.v20140108.jar | | jetty-jndi-9.1.1.v20140108.jar | | jetty-jsp-9.1.1.v20140108.jar | | jetty-plus-9.1.1.v20140108.jar | | jetty-schemas-3.1.M0.jar | | jetty-security-9.1.1.v20140108.jar | | jetty-server-9.1.1.v20140108.jar | | jetty-servlet-9.1.1.v20140108.jar | | jetty-servlets-9.1.1.v20140108.jar | | jetty-util-9.1.1.v20140108.jar | | jetty-webapp-9.1.1.v20140108.jar | | jetty-xml-9.1.1.v20140108.jar | | org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar | | org.eclipse.jdt.core-3.8.2.v20130121.jar | | websocket-api-9.1.1.v20140108.jar | | websocket-client-9.1.1.v20140108.jar | | websocket-common-9.1.1.v20140108.jar | | websocket-server-9.1.1.v20140108.jar | | websocket-servlet-9.1.1.v20140108.jar | | | +---webServiceResources | | asm-3.1.jar | | commons-logging-1.1.1.jar | | cxf-api-2.7.5.jar | | cxf-rt-bindings-soap-2.7.5.jar | | cxf-rt-bindings-xml-2.7.5.jar | | cxf-rt-core-2.7.5.jar | | cxf-rt-databinding-jaxb-2.7.5.jar | | cxf-rt-databinding-xmlbeans-2.7.5.jar | | cxf-rt-frontend-jaxws-2.7.5.jar | | cxf-rt-frontend-simple-2.7.5.jar | | cxf-rt-management-2.7.5.jar | | cxf-rt-transports-http-2.7.5.jar | | cxf-rt-ws-addr-2.7.5.jar | | cxf-rt-ws-policy-2.7.5.jar | | cxf-rt-ws-rm-2.7.5.jar | | cxf-rt-ws-security-2.7.5.jar | | ehcache-core-2.5.1.jar | | geronimo-javamail_1.4_spec-1.7.1.jar | | grid-ws-1.13.77.jar | | neethi-3.0.2.jar | | stax2-api-3.1.1.jar | | woodstox-core-asl-4.2.0.jar | | wsdl4j-1.6.3.jar | | wss4j-1.6.10.jar | | xml-resolver-1.2.jar | | xmlbeans-2.6.0.jar | | xmlschema-core-2.0.3.jar | | xmlsec-1.5.4.jar | | | \---webStartResources | AppUI.jnlp | grid-core-1.13.77.jar.pack.gz | Infor48x48.png | webStartResources.properties | +---secure | client.ks | client.pw | +---tools | admin-ui.jar | application-deployer.jar | certificates.jar | change-db-password.jar | change-jdk.jar | grid-cli.jar | log-viewer.jar | scripting-client.jar | \---uninstall | uninstall.cmd | uninstall.jar | \---resources grid-annotations.jar grid-jdbc.jar grid.commons-dbcp2.jar grid.liquibase.jar installer-common.jar installer-post.jar installer-uninstall-code.jar izpack-api.jar izpack-tools.jar jna-platform.jar jna.jar maven-shared-utils.jar windowsjnasecurity.jar
Future work
Next, I may:
- Installing a Grid silently with izpack XML
- Generate secure\server.key with OpenSSL
- Setup an Administrative Router
- Setup a Grid Agent
- Setup a Grid Launcher
- Setup a Grid Bootstrap
- Install session providers
- Install applications
- Install GDBC
- Install the Grid on Linux and PostgreSQL
Conclusion
That was an illustration of the Infor ION Grid bundled installer which is internal only and intuitive.
Related posts
- Building an Infor Grid Lab – Part 1 – early Grid version 0.x
- Building an Infor Grid Lab – Part 2 – latest Grid version 11.x
- Building an Infor Grid Lab – Part 2bis – Configuration Manager
- Building an Infor Grid Lab – Part 3 – Cryptographic keys
- Building an Infor Grid Lab – Part 4 – Grid installer
- Building an Infor Grid Lab – Part 4bis – Console and silent install
- Building an Infor Grid Lab – Part 5 – PostgreSQL database
- Building an Infor Grid Lab – Part 6 – Ubuntu Linux
- Building an Infor Grid Lab – Part 6bis – CentOS Linux
- Building an Infor Grid Lab – Part 7 – Virtual Private Cloud
UPDATE: I updated the screenshots to the default port number range 50000 instead of 51000.
LikeLike
NOTE: I learned some more about the Grid, I think the following is true, not sure:
* The Configuration Manager has two parts: a client part, the Configuration Manager Client (UI), and a server part, the Administrative Router; the Configuration Manager manipulates the runtime.xml.
* A Grid Agent is used to start nodes programmatically; there is one Grid Agent per host. Nodes are JVMs; the Node types are: registry, router, application.
* The Windows Service Infor ION Grid Bootstrap uses the Grid Launcher and Grid Agent to launch everything in the Grid at startup: registry, routers, applications, etc.
To be continued…
LikeLike
UPDATE: I added screenshots for the Windows Service, and updated the Future Work
LikeLike
NOTE: Instead of its graphical user interface, it is possible to launch the installer with its console user interface:
java -jar installer-1.13.77.jar -console
LikeLike
NOTE: To delete the Windows service:
sc delete "Infor ION Grid Bootstrap - InforIONGrid - localhost"
LikeLike