Silvia Schreier - Chair of Data Processing Technology
University of Hagen - Faculty of Mathematics and Computer Science
Modeling RESTful applications
Silvia Schreier
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 2
Problems during development
§ Many frameworks for implementation support § Concentration on technical details instead of design § Lack of support for early phases § No (standardized) design language § A lot of natural language, e.g. best practices and patterns § No model-driven development / code generation possible
§ Possible solution: a REST metamodel
Intention: discussing the current version
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 3
Metamodeling
§ Abstract Syntax: possible elements and their relations § Vocabulary
§ Static Semantic: constraints for well-formed models § Grammar
§ Concrete Syntax: textual or visual language
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 4
Example: Web album
§ Albums § (excellent) Pictures § Excellent pictures can be suggested and must be reviewed
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 5
REST metamodel
Elements and their relations
How does the application react
to requests?
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 6
Structural Model – ResourceTypes
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 7
Structural Model – Overview
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 8
Structural Model – Example
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 9
Behavioral Model
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 10
Behavioral Model – Example § States of Suggestion
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 11
Conclusion
in future
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 12
Future Work
§ Application to various scenarios § Testing vocabulary § Adding more details § Code generation for different languages § Textual and visual language § Modeling representations § Connecting legacy systems
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 13
Thank you for your attention!
University of Hagen - Faculty of Mathematics and Computer Science
3/30/11 Silvia Schreier - Chair of Data Processing Technology Slide 14
References § M. Nottingham. Web Linking. Request for Comments: 5988.
Internet Engineering Task Force (IETF), October 2010. § M. Nottingham and R. Sayre. The atom syndication format.
Request for Comments: 4287. Internet Engineering Task Force (IETF), December 2005.
§ L. Richardson and S. Ruby. RESTful Web Services. O'Reilly Media, 2007.
§ T. Stahl, M. Völter, S. Etinge, and A. Haase. Modellgetriebene Softwareentwicklung: Techniken, Engineering, Management. dpunkt.verlag, 2007.
§ D. Steinberg, F. Budinsky, M. Paternostro, and E. Merks. EMF: Eclipse Modeling Framework. Addison-Wesley Longman, 2009.
§ S. Tilkov. REST und HTTP: Einsatz der Architektur des Webs für Integrationsszenarien. dpunkt.verlag, 2009.
Top Related