mdsd slides
DESCRIPTION
TRANSCRIPT
Budapest University of Technology and EconomicsDepartment of Measurement and Information Systems
EvilStore
Team
Attila Rá[email protected] János Tó[email protected]
2
Tamás Csurgó[email protected] Oszkár Semerá[email protected]
Project A service oriented online application store
developed in model driven paradigm Project homeworkoModel Driven Software DevelopmentoSystem Integration
Lead by:Fault Tolerant Systems Research Grouphttp://www.inf.mit.bme.hu/en Budapest University of Technology and Economics
3
Overview
4
Users
Administrators
Developers
EvilStore
RegisterUpload
Validate
RegisterBrowseBuyDownload
Profit ShareCost
Model Driven Development Metamodel to describe the system model
o Software components of the systemo Services of the componentso Entities
Technology:Eclipse Modeling Framework
Generatededitor
5
Model validation Models are validated with EMF-IncQuery
http://viatra.inf.mit.bme.hu/incqueryo High-performance query engine for EMF modelso Incremental querieso Developed by the
Fault Tolerant Systems Research Group Validation constrains:
o acyclic inheritanceo unique attributeso Non-keyword names
6
Automatic Code Generation Generate the projects and source files
by one clickoMost of the code is automatically derivedo Only the function bodies are to implement
Java and C# Template based
code generators Used technology:
Xtext/Xtend
7
Webservice A style of software architecture for distributed
systems Communication: RESTful Webservice Every business function available online by
HTTP/REST interfaces
8
Serialisation Business entities in messages Serialisation format: JSON Done by generated code
o Strongly typed method parameters Technology:
o Jackson-JSON for Javao Newton-JSON for .Net
9
Webservice implementation Generated the components Implemented the services
omethod bodies: only the business logic needed Host servers:
o Jersey server for OSGio IIS server for .Net
10
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
Rule based business logic Show highlighted products Frequently changing rules define the highlighting Technology: Drools If-then rules
o Popular ApplicationsPopular applications increase the score
o Similar UsersSimilar users increase the score
o Age restrictionUnderaged user remove from the highlight candidates
12
Business Logic High maintainability Frequently changing business logic Technology: BPMN2.0
o Graphic modelso Easy to understando Easy to modify
13
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
Epilogue All the technologies are successfully integrated,
the project works.
Project on GitHubhttps://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