SAS iPhone App Architecture
In this example, the iPhone application on the iPhone communicates through standard TCP/IP protocol to a web server. The web server then communicates to an application server which is actually a SAS session processing SAS programs and data. The output resulting from the SAS program is then delivered back to the iPhone in a similar way a web browser would access a web page the serer. The distinction however is that the iPhone application is not a web browser and the SAS session running on the server is more dynamic compare to a static page. The SAS data and macro program it executes may be simple and standard but facilitating the communication takes a little more effort. The request from the iPhone application and the delivery of information from the server is handled by BI Flash. This makes the experience more dynamic and delivers the full power of SAS on the server. The following steps are taken in order to facilitate the access of SAS data from an iPhone App.
Step 1 - Download iPhone Application
Step 2 - BI Flash Application Server
More details on this step will be explained in the "Application Server" section but an administrator would execute the BI Flash server. This server functions as a listener waiting for a request from the iPhone. Upon receipt, it would process the request similar to how you would submit SAS programs from display manager. The server would generate a SAS log and output results in XML which is then sent back to the iPhone to be viewed.
Step 3 - Connect iPhone to Application Server
Host Name - This the name of the server or an IP address of the SAS server.
User Name - A valid user name that has been defined on the server needed during authentication
Password - A user defined password to secure access
Step 4 - Run Application
There may be other configuration options which will set the default behavior of the application but the parameters above show the minimum requirement in order to connect to a SAS server.
The final step taken by the user to access SAS data is to execute the SAS macros from the iPhone. This request is initiated from the iPhone app and sent directly to the server with user selected options. The results are then returned to the iPhone displaying the most updated information on the server.
The system architecture in this example is rather simple compared to other systems that require multiple layers of middleware. This is similar to the SAS/IntrNet where users are on a web browser accessing SAS data and programs on the server through the broker and SAS application server. The difference however is that the client is not a browser, but rather a dynamic iPhone application.
Searching through the iPhone App Store, I could not locate the BI Flash application that Sy references. Regardless, the architecture that Sy describes is very similar to that used by WebFOCUS which I will document in the near future.