2. Team
Tamás Csurgó Attila Rádi
csurnyak@gmail.com radi.attila@gmail.com
Oszkár Semeráth János Tóth
graybonedancer@gmail.com totti001@gmail.com
2
3. Project
A service oriented online application store
developed in model driven paradigm
Project homework
o Model Driven Software Development
o System Integration
Lead by:
Fault Tolerant Systems Research Group
http://www.inf.mit.bme.hu/en
Budapest University of Technology and Economics
3
5. Model Driven Development
Metamodel to describe the system model
o Software components of the system
o Services of the components
o Entities
Technology:
Eclipse Modeling
Framework
Generated
editor
5
6. Model validation
Models are validated with EMF-IncQuery
http://viatra.inf.mit.bme.hu/incquery
o High-performance query engine for EMF models
o Incremental queries
o Developed by the
Fault Tolerant Systems Research Group
Validation constrains:
o acyclic inheritance
o unique attributes
o Non-keyword names
6
7. Automatic Code Generation
Generate the projects and source files
by one click
o Most of the code is automatically derived
o Only the function bodies are to implement
Java and C#
Template based
code generators
Used technology:
Xtext/Xtend
7
8. Webservice
A style of software architecture for distributed
systems
Communication: RESTful Webservice
Every business function available online by
HTTP/REST interfaces
8
9. Serialisation
Business entities in messages
Serialisation format: JSON
Done by generated code
o Strongly typed method parameters
Technology:
o Jackson-JSON for Java
o Newton-JSON for .Net
9
10. Webservice implementation
Generated the components
Implemented the services
o method bodies: only the business logic needed
Host servers:
o Jersey server for OSGi
o IIS server for .Net
10
11. Persistency
The business entities are need to be persistent
Entity classes are automatically linked to database
Functions of the services are transactions.
Generating database queries
Database: Apache Derby
Database binding: Java Persistency Api
11
12. Rule based business logic
Show highlighted products
Frequently changing rules define the highlighting
Technology: Drools
If-then rules
o Popular Applications
Popular applications increase the score
o Similar Users
Similar users increase the score
o Age restriction
Underaged user remove from the highlight candidates
12
13. Business Logic
High maintainability
Frequently changing business logic
Technology: BPMN2.0
o Graphic models
o Easy to understand
o Easy to modify
13
14. Business Logic
Integrate services to workflows
Automatic tasks (like a verifications)
o Implemented as webservices
Human interactions (like registration)
Integrate business workflows to Java applications
Workflows executed by JBoss jBPM5
14
15. Epilogue
All the technologies are successfully integrated,
the project works.
Project on GitHub
https://github.com/csurgotamas/Evilstore/wiki/Evilstore
Fault Tolerant Systems Research Group:
http://www.inf.mit.bme.hu/en
EMF-IncQuery:
http://viatra.inf.mit.bme.hu/incquery
Assignment:
http://www.inf.mit.bme.hu/edu/courses/mdsd/homework
15