Monday, July 6, 2009

SAS iPhone App Architecture


The delivery of SAS data and reports to an iPhone application is unique and requires a different architecture as compared to traditional client server systems. This is similar to web applications in how it is delivered to a browser but in this case, the application replaces the browser. The diagram below illustrates the components of the iPhone SAS application architecture including: the iPhone application, a web server and the BI Flash server.


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


One of the most unique and successful aspects of the iPhone is how users can easily download an iPhone App directly from the iPhone App Store. There is a user friendly way of searching for and downloading the application to your iPhone. In this case, you can download BI Flash App which is the client component which enables the communication between the iPhone and the SAS server.


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


Most iPhone applications have configuration settings. This allows for users to easily configure settings during setup and then use the application without further changes unless future configuration changes are needed. In order for the BI Flash example iPhone app to access SAS, the user would need to configure the following:


  1. Host Name – This the name of the server or an IP address of the SAS server.



  2. User Name – A valid user name that has been defined on the server needed during authentication



  3. Password – A user defined password to secure access


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.



Step 4 – Run Application
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.

The current iPhone application BI Flash is being reviewed by Apple AppStore and should be made available soon upon approval. You can view a sample video of the application which run SAS macros directly on the iPhone below.


1 comment:

  1. A commitment of thankfulness is all together for the comment. It's so attempting to update the perspective of men and ladies, who feel they ought to starve in isolation and demolition their bodies to the floor to see positive circumstances.
    RĂ©paration cellulaire lasalle

    ReplyDelete