SlideShare una empresa de Scribd logo
1 de 15
EvilStore




Budapest University of Technology and Economics
Department of Measurement and Information Systems
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
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
Overview
                   Administrators



                                Validate

        Register
        Browse                        Register
        Buy                           Upload
        Download
                     EvilStore
         Cost      Profit           Share
Users                                        Developers


                            4
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
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
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
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 Java
  o Newton-JSON for .Net




                            9
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
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 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
Business Logic
 High maintainability
 Frequently changing business logic
 Technology: BPMN2.0
  o Graphic models
  o Easy to understand
  o 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 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

Más contenido relacionado

Destacado

Expendables E-AppStore
Expendables E-AppStoreExpendables E-AppStore
Expendables E-AppStore
lobalint
 
EmfStore - A Repository for EMF Models
EmfStore - A Repository for EMF ModelsEmfStore - A Repository for EMF Models
EmfStore - A Repository for EMF Models
Maximilian Kögel
 

Destacado (7)

Expendables E-AppStore
Expendables E-AppStoreExpendables E-AppStore
Expendables E-AppStore
 
Challenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworksChallenges for advanced domain-specific frameworks
Challenges for advanced domain-specific frameworks
 
EmfStore - A Repository for EMF Models
EmfStore - A Repository for EMF ModelsEmfStore - A Repository for EMF Models
EmfStore - A Repository for EMF Models
 
OSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home ServicesOSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home Services
 
Aptoide partners 2016
Aptoide partners 2016Aptoide partners 2016
Aptoide partners 2016
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similar a Mdsd slides

COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZER
Ashish Tanwer
 

Similar a Mdsd slides (20)

Microsoft Cloud-Native Workshop Slides
Microsoft Cloud-Native Workshop SlidesMicrosoft Cloud-Native Workshop Slides
Microsoft Cloud-Native Workshop Slides
 
Polysource-IT Profile
Polysource-IT ProfilePolysource-IT Profile
Polysource-IT Profile
 
Polysource-IT Profile
Polysource-IT ProfilePolysource-IT Profile
Polysource-IT Profile
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
Poly Source It Profile
Poly Source It ProfilePoly Source It Profile
Poly Source It Profile
 
Polysource It Profile
Polysource It ProfilePolysource It Profile
Polysource It Profile
 
webOS App by Example: Sorting Thoughts
webOS App by Example: Sorting ThoughtswebOS App by Example: Sorting Thoughts
webOS App by Example: Sorting Thoughts
 
icv
icvicv
icv
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
 
CODE IGNITER
CODE IGNITERCODE IGNITER
CODE IGNITER
 
COMPRO- WEB ALBUM & MOTION ANALYZER
COMPRO- WEB ALBUM  & MOTION ANALYZERCOMPRO- WEB ALBUM  & MOTION ANALYZER
COMPRO- WEB ALBUM & MOTION ANALYZER
 
Java Programming
Java ProgrammingJava Programming
Java Programming
 
RavenDB overview
RavenDB overviewRavenDB overview
RavenDB overview
 
Living the DevOps Dream: Self-Managed Application Environments-as-a-Service
Living the DevOps Dream: Self-Managed Application Environments-as-a-ServiceLiving the DevOps Dream: Self-Managed Application Environments-as-a-Service
Living the DevOps Dream: Self-Managed Application Environments-as-a-Service
 
MMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_FinalMMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_Final
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
 
Path to continuous delivery
Path to continuous deliveryPath to continuous delivery
Path to continuous delivery
 
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
 
Online Real Estate Management System
Online Real Estate Management SystemOnline Real Estate Management System
Online Real Estate Management System
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

Mdsd slides

  • 1. EvilStore Budapest University of Technology and Economics Department of Measurement and Information Systems
  • 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
  • 4. Overview Administrators Validate Register Browse Register Buy Upload Download EvilStore Cost Profit Share Users Developers 4
  • 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