- Communication Model
- Communication Style
- Push Communication Style
- Transportation Protocols
- Data Format
- UI Rendering
- UI Update Style
- Is it an asychronous or a synchronous?
- Use iFrame or XHR?
- Use iFrame or HTTP 1.1 chunked for push data?
- Data is transmitted with HTTP, XML-RPC, or SOAP?
- Data is returned in what format (plain text, HTML, JSON, Base64, XML)?
- The data is the rendered UI or the data values for the client to render the UI?
- Use innerHTML or use DOM to maniuplate the UI?
To make any design decision, we may highlight the nodes and paths in the graph in top-down manner. For example, in the case of original AJAX defintion, we may hightlight Asychronous, XHR, HTTP/REST, XML, and Client Side Rendering:
The UI update style is undetermined up to this moment. We can make a complete decision before sending the design to programmers. Designers and programmers may have different preference of AJAX approach. With this simple graph, designers can communicate and synchronize with programmers more effectively. The architect can also use the graph to generate the implementation blueprints for programmers to follow so that more maintainable code can be expected.