Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mdsd slides

839 views

Published on

Published in: Technology
  • Be the first to comment

Mdsd slides

  1. 1. EvilStoreBudapest University of Technology and EconomicsDepartment of Measurement and Information Systems
  2. 2. Team Tamás Csurgó  Attila Rádicsurnyak@gmail.com radi.attila@gmail.com Oszkár Semeráth  János Tóthgraybonedancer@gmail.com totti001@gmail.com 2
  3. 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
  4. 4. Overview Administrators Validate Register Browse Register Buy Upload Download EvilStore Cost Profit ShareUsers Developers 4
  5. 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. 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. 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. 8. Webservice A style of software architecture for distributed systems Communication: RESTful Webservice Every business function available online by HTTP/REST interfaces 8
  9. 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. 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. 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. 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. 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. 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. 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

×