SSO Environment Simulator
The sso Environment Simulator commonly called the WAMulator is a standalone tool crafted to simulate the WAM Environment allowing developers to actively develop applications directly for and dependent upon the WAM Environment.
- See the WAMulator page for useful links including overviews of its internal architecture.
The Simulator appears to applications as shown in the figure below. This environment is very similar to that of the WAM environment. The simulator does not support load balancing or caching so those layers are removed. But specifically, it provides:
- both HTTP proxying
- HTTPS proxying offloading TLS/SSL from application servers as WAM does
- configurable access policies
- implementation of the REST APIs for fine grained permissions calls from applications
- a user store (with support for LDAP users)
- inbound URL rewriting
- both URL path and host based routing
- outbound redirect and cookie path rewriting
- injection of headers both general and user specific
- several sign-in pages depending on needs
- a browser accessible Http Console
The Http Console includes an SSO Traffic tab that can be used to view the http/https traffic passing through the simulator and the resulting changes made to that request as it passes through the WAMulator thereby assisting with troubleshooting problems when they arise.
The Simulator is packaged as an executable jar file containing all dependencies and can be run as such. See SSO Simulator Getting Started. Additionally, it can be leveraged as a maven dependency in a project and used in integration unit tests.
As can be seen in the figure the simulator can listen on up to three ports. The proxy-port and console-port are always opened when the simulator starts up. In version 5.45 an optional proxy-tls port can also be started to support https requests to verify proper application behavior when both secure and non-secure resources are served from the same application. Both the proxy-port and proxy-tls port are meant to present the unified view of a web site or sites aggregated from any number of applications sitting behind the simulator much as Church internet sites like lds.org and mormon.org are aggregated from various technologies residing behind the WAM environment. Via configuration, traffic intended for applications under development and running on different ports on the local box or elsewhere is proxied to those other applications essentially mapping those applications into and making them appear as one seamless site.
The console-port has two purposes: it implements the REST service for Oracle Entitlements Server enabling policy evaluation calls from applications fronted by the simulator and it provides a number of console pages for use in troubleshooting issues. The internal details of the figure are representative of features provided by the WAM environment that have a corollary in the simulator and do not indicate these technologies are embedded within it. For internal implementation details see the WAMulator page for links to architectural discussions. The intent of the WAMulator is to simulate the WAM environment whose sole interaction with applications is via the structure of incoming http requests and http calls to the REST service.
The WAMulator and Maven
The Java Stack team provides and supports a wam maven plugin to coordinate the starting and stopping of the simulator for functional tests, continuous integration deploy, and more.
Previous Page: SSO Environment Overview
Next Page: SSO Simulator Configuration Files