JNDI is the protocol for resolving names in WildFly. This is a standard specification ready since the birth of Java. All enterprise components can be called through JNDI. Here is the syntax to call an EJB:
java:global[/<app-name>]/<module-name>/<bean-name>[!<fully-qualified-interface-name>]
The java:global JNDI reference is used for the shared name. A name inside this path is accessible by all components inside the same application server.
Other paths include java: app to specify the path for a web or backend application and java: module to specify the path for a module. A module is a simple JAR file that has no lifecycle of its own, so it needs to be used by a third component.