Creating an AppStore using Model Driven Software Development
Upcoming SlideShare
Loading in...5
×
 

Creating an AppStore using Model Driven Software Development

on

  • 1,176 views

Creating an AppStore using Model Driven Software Development ...

Creating an AppStore using Model Driven Software Development

The project has been developed by Team GS at the Fault Tolerant Systems Research Group of Budapest University of Technology and Economics.

Statistics

Views

Total Views
1,176
Views on SlideShare
1,069
Embed Views
107

Actions

Likes
2
Downloads
9
Comments
0

3 Embeds 107

http://www.inf.mit.bme.hu 90
http://inf.mit.bme.hu 16
http://webcache.googleusercontent.com 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Creating an AppStore using Model Driven Software Development Creating an AppStore using Model Driven Software Development Presentation Transcript

  • System Integration course Creating an AppStore using Model Driven Software Development GS Team Dániel DARVAS, Gergő HORÁNYI, Balázs PÁL, Gábor SZÁRNYAS Budapest University of Technology and EconomicsBudapest University of Technology and EconomicsDepartment of Measurement and Information Systems
  • Object of the work Creating a prototype of an application store’s web services where: o applications can be published, bought or verified; o users can be registered; o payments can be transferred Additional requirements: o We must use jBPM5 business workflows. o Multiple platforms should be used for implementing web services. Creating a GUI is out of scope.
  • Tasks1. Designing a data model for AppStore2. Implementing the web services3. Creating business workflows4. Uploading test data5. Creating an intelligent, rule-based advisor (called Genius) to recommend applications for users
  • 1. Design Technology: Eclipse Modeling Framework We made a general Service Oriented Architecture metamodel on the „Model Driven Software Development” course named GSoaArchitect. o http://code.google.com/p/gsoaarchitect/
  • GSoaArchitect metamodelService component Service method Data type Entity
  • 1. Design Components of our architecture: o AppRepository: stores the applications, application metadata, etc. o UserManager: stores the users o CreditManager: stores the credit accounts of the users o CodeVerifier: dummy component for code and metadata verification
  • 1. Design Main entities (objects to store and handle) o Application: hollow for an application o ApplicationAccount: container object for storing applications bought by a specific user o ApplicationMetadata: metadata for an application (name, price, etc.) o ApplicationVersion: represents a specific version of an application (stores its files) o CreditAccount: credit account of a user o CreditTransaction: represents a credit transaction (income or expense) o User: represent a user or a developer
  • 1. Design Main connections between entities User ApplicationAccount CreditAccount Application CreditTransaction ApplicationMetadata ApplicationVersion
  • 2. WS implementation Technology: Java EE and .NET o We had to use multiple platforms. With our GSoaArchitect tool we are able to generate automatically (using Xpand) the following parts for both platforms: o Skeletons of web services o Entities and persistence (using Entity Framework or Java Persistence API) o Project files (e.g. .csproj descriptors) Note that the target platform of the components and entities are specified by the source model.
  • 2. WS implementation Platforms of the components o .NET: AppRepository, CodeVerifier o Java EE: CreditManager, UserManager Persistence o Each component persists its own entities, e.g. • User is persisted by UserManager • Application, ApplicationMetadata, ApplicationVersion entities are persisted by AppRepository
  • 3. Business workflows Technology: jBPM5, Guvnor Example workflows: o Application code or metadata verification o Application purchase
  • 3. Business workflows Verification of an application or its metadata (high level workflow)
  • 3. Business workflows Application purchase (high level workflow)
  • 3. Business workflows Application purchase (low level workflow – it can be executed) Service calls to implemented web services
  • 4. Genius Technology: JBoss Drools, jBPM We implemented the Genius as a workflow o Output: some recommended applications
  • 4. Genius Suggestions are given by Drools rules The recommended applications are … o … from category that is frequently chosen by the user o … made by developers liked by the user o … popular and rather expensive o … suitable for the user according to the applications’ age limit o … not bought already by the user
  • 5. Uploading test data Technology: Eclipse Modeling Framework We created an importer which can explore an EMF instance model and uploads the found data over our components’ REST web services.
  • Architecture Development Platforms REST interface tools WorkflowJava EE / .NET Components Genius Business logic layer EMF-IncQuery Persistence layer
  • Used technologies Eclipse, Visual Studio: for development Eclipse Modeling Framework: for creating the model of the architecture jBPM5, Guvnor: for workflows .NET, JavaEE: for implementing web services Entity Framework, JPA: for persisting entities Drools: for giving rule-based suggestions Eclipse OCL, EMF-IncQuery: for validation models
  • Links and contacts Homepage of the courses: http://www.inf.mit.bme.hu/edu/courses/mdsd http://www.inf.mit.bme.hu/edu/courses/szolgint GSoaArchitect: http://code.google.com/p/gsoaarchitect/ Team members o Dániel DARVAS darvas.daniel o Gergő HORÁNYI horanyi.gergo o Balázs PÁL arnongoth o Gábor SZÁRNYAS szarnyasg