Modeling RESTful Conversations with Extended BPMN Choreography Diagrams
RESTful Web APIs often make use of multiple basic HTTP interactions to guide clients towards their goal. For example, clients may get redirected towards related resources by means of hypermedia controls such as links. Existing modeling approaches for describing RESTful APIs expose low-level HTTP details that help developers construct individual requests and parse the corresponding responses. However, very little attention has been given to high-level modeling of RESTful conversations, which abstracts the structure of multiple HTTP interactions. To address such issue in this paper we introduce an extension of the notation used in BPMN choreography diagrams. Its purpose is to represent concisely all possible interaction sequences in a given RESTful conversation.
KeywordsRESTful web services Conversations BPMN choreography Modeling notation extension
Unable to display preview. Download preview PDF.
- 4.Völter, M., Kircher, M., Zdun, U.: Remoting patterns: foundations of enterprise, internet and realtime distributed object middleware. Wiley, Chichester (2013) Google Scholar
- 5.Richardson, L., Amundsen, M., Ruby, S.: RESTful Web APIs. O’Reilly, Sebastopol (2013) Google Scholar
- 6.Fielding, R.T.: Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine (2000)Google Scholar
- 7.Haupt, F., Leymann, F., Pautasso, C.: A conversation based approach for modeling REST APIs. In: 12th WICSA, Montreal, Canada, pp. 1–9. ACM, May 2015Google Scholar
- 9.Amundsen, M.: Building Hypermedia APIs with HTML5 and Node. O’Reilly, Sebastopol (2011) Google Scholar
- 11.Nottingham, M.: Web linking. Internet RFC 5988, October 2010Google Scholar
- 12.Zuzak, I., Budiselic, I., Delac, G.: A finite-state machine approach for modeling and analyzing RESTful systems. J. Web Eng. 10(4), 353–390 (2011)Google Scholar
- 15.Jordan, D., Evdemon, J.: Business process model and notation (BPMN) version 2.0. OMG (2011). http://www.omg.org/spec/BPMN/2.0/