Generate an OData implementation for your data based on an initial UML domain model. Refine the model with OData information for a more precise generation.
4. OData in a nutshell
▹ OData is a standardized protocol for creating and
consuming data APIs
▹ Key features:
▸ Resources are defined in a data model
▸ URIs to identify resources and query data
4
GET
http://example.com/ODataDemo/Products?$top=20&$orderby=Name
XML/AtomJSON
Resource query
7. A UML profile?
▹ Profile is a lightweight extension mechanism to the
UML standard
▹ A profile consists of a set of stereotypes, tagged values
and constraints
▹ Stereotypes are formal extensions of existing model
elements within the UML metamodel
7
13. And More
▹ Stereotypes:
• Enumerations
• Complex types
• Annotations
• Singletons
▹ OCL constraints to validate the profile
13
14. Automatic application of the profile14
UML Class
diagram
OData
profile
2
1
Product
<<ODEntityType>>
<<ODEntitySet>>
name = Product
…
name = Products
…
17. Conclusion
▹ A UML profile to model OData Web APIs
▹ Automatic application of OData profile
17
Profile
Tuning
Functions
Actions
…
Future work
Reverse-
engineering
ER models
Databases
…
Code
generation
OData APIs
OData
clients
…
Integration with
other modeling
languages
IFML
BPMN
…
18. Thank you!
A UML profile for OData
Web APIs
Hamza Ed-douibi, Javier Luis Cánovas
Izquierdo, Jordi Cabot
18
▹Check it out at: https://github.com/SOM-Research/OData
▹ contact: hed-douibi@uoc.edu
Icons credits: CC 3.0 Freepik, Maxim Basinski , Madebyoliver from www.flaticon.com
UML Class
diagram
OData
profile
OData API
OData clients
2
1
Notas do Editor
I’ll start the presentation by explaining where Odata fits in the world of Web APIs.
Then I’ll describe the motivation behind this paper
I’ll explain then our approach.
I’ll finally conclude the presentation and introduce our future work
In the last years we have seen an explosion of available Web Apis specially because of the emergence of REST
However if consuming ODAta apis is easy, creating them is a time consuming task
In this paper we propose an approach which relies on model-driven techniques to facilitate the development of Odata Web APIs
Which define a formal extension of exisiting model elements withing the UML metamodel