SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
OMGi Application Store

A service oriented application developed
       in a model driven approach
Introduction
●   The project was created during a service-
    oriented development course at BUTE-FTSRG.
●   Related open source project: OMGi Tools, an
    envirionment for model base development of
    service oriented applications
●   Participiants:
    ● Bogsch Balázs (balaggee gmail.com)

    ● Papp István (pappist87 gmail.com)

    ● Tóth Tamás (tothtamas.bme gmail.com)

    ● Tóth Zsolt (toth.zsolt.bme gmail.com)
Project scope
●   Developing a service-oriented application store
●   Features:
    ○   Services for managing accounts, apps,
        purchases, etc.
    ○   Business process based quality management
    ○   Business process based application purchase
    ○   Rule based application filter
Phases of development
●    The project was created in a model
     driven manner.
●    Main development phases:
    1. Analysis and design
         ●   Requirement analysis
         ●   Architectural design
         ●   Business process modeling
    2. Generative implementation of
       business logic
    3. Enhancement with rule based
       functionality
Model based developement process

Requirement analysis &
                           Use case          Architectural
  business process
                            model               design
       modeling




       Business            Generative        Domain specific
    process model        implementation    language & model




                         Enhancement
                         with rule based
                          functionality
Requirement analysis
●   UML based analysis
    ● Modeling functional requirements with use

      cases
    ● Modeling scenarios with activities

●   Main functionality
    ● Account management for customers and

      developers
    ● Management of applications and versions

      for developers
    ● Transactions

    ● Automatic and manual quality

      management of uploaded apps
Example: Customer use cases
Architectural design
●   Creation of an EMF-based domain specific
    language that describes:
    ●   Business data
    ●   Business components and services
    ●   Interconnections and dependency between
        them
    ●   and other aspects
●   System architecture specification in the
    created language
Domain specific language
                     general
                     data type



                                       attribute of
                                       an entity

     service
     parameter
                                                                entity
                 business
                 service
                            technological
REST                        details
service
                                                business
                                                component




                                            reference between
                                            entities
System architecture
   Implementation of the services, which provide
   the specified functionalities

                        Quality manager
   Customer services                        Developer services
                           services

                       REST Service layer

                         Business layer


                         Database layer




                           Database
Domain specific architecture model

               Business
               component




REST
                                REST      Business
interface
                                service   service
Business process modeling
●   Modeling in BPMN
●   Specified processes:
    ●   Quality management
    ●   Application purchase (example)
Implementation: code generation
●   Technology: Xtend
●   Input: the specified system model
●   Generates the following from the system
    model:
    ●   Annotated JPA entity classes
    ●   Annotated REST interfaces of business services
    ●   Stubs for business logic with dependencies
●   The generated code is runnable on OSGi
    platform
●   For more: check OMGi Tools
Code generation example:
  Annotated JPA entities
@Entity
//...
public class Customer extends User {

//...

   @ManyToMany
   private List<App> purchasedApps = new ArrayList<App>();

   public List<App> getPurchasedApps() {
       return purchasedApps;
   }

   public void setPurchasedApps(List<App> purchasedApps) {
       this.purchasedApps = purchasedApps;
   }
//...
Code generation example:
  Annotated REST services
@Path("/rscustomermanager")
public class RsCustomerManager i mplements IRsCustomerManager {

   private CustomerManager customerManager = new CustomerManager();

//...

    @DELETE
    @Path("removecustomer/{customerId}")
    @Produces("text/plain")
    @Override
    public Response removeCustomer(@PathParam("customerId") String
  customerId)
             throws NumberFormatException, DatabaseAccessException,
             NoSuchEntitytException {
        System.out.println("INFO: RemoveCustomer service called....");
        return Response.status(200).entity("Service called succesfully");
    }
//...
Code generation example:
  Business logic stubs
public class CustomerManager implements ICustomerManager {

   private IUserAccountManager userAccountManager =      new
 UserAccountManager();

//...

    @Override
    public void removeCustomer( int customerId) throws
  DatabaseAccessException,
             NoSuchEntitytException {
        //ToDo
        return;
        }
//...
Implementation: business processes
●   Implementation of services, which are called from
    business processes
    ●   Call REST services from WorkItem handlers




                   Application purchase REST services

                          REST Service layer


                             Business layer
Enhancement with rule based
    functionality
●   Add „Genius” feature to the system
    ●   Intelligent, rule based application
        recommendation
    ●   Considering user habits and business
        interests
        ●   Preferred expensive and frequently purchased
            applications
        ●   Preferred the works of developers from whom the
            user purchased a lot
        ●   Preferred applications purchesed by user who has
            similar purchasing habits
        ●   Preferred applications from category which is
            popular for user
Enhancement with rule based
        functionality – implementation - 1
●   Enlargement the system model and generate
    new components and services
●   Implement „Genius” REST service
    ●   Request parameter customer ID and the response a list
        of recommend applications
●   Implement necessary business services in
    business logic layer
●   Use JBoss Drools rule engine
    ●   Weighting applications when a rule is activated
Enhancement with rule based
functionality – implementation - 2
Request
            Collect
                                    Collect possible applications
             data
                                    (e.g. not purchased)



                                                    Genius REST Service



           Fire rules                                  Business layer
Response

                        Get applicaions’ metrics:
                         ●   app popularity
                         ●   generated income
                         ●   developer popularity
                         ●   user similarity
Used technolgies
 Business processes: jBPM        Business rules: JBoss Drools



                  REST service layer: Jersey


             Business layer: OSGi, JEE, .Net WPF


              Database access layer: EclipseLink




                      Database: Derby
Links
●   BUTE Fault Tolerant Systems Research Group
    http://www.inf.mit.bme.hu/en

●   SOA course at BUTE
    http://www.inf.mit.bme.hu/edu/courses/szolgint

●   OMGi Tools
    http://code.google.com/p/omgi-tools/

Más contenido relacionado

La actualidad más candente

Oracle bpm-suite-11g-overview-slide
Oracle bpm-suite-11g-overview-slideOracle bpm-suite-11g-overview-slide
Oracle bpm-suite-11g-overview-slideAericon
 
Model Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShieldModel Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShieldRoger Snook
 
PabitraSubudhi_Remedy-ITSM Sr. Engineer V2.0
PabitraSubudhi_Remedy-ITSM Sr. Engineer V2.0PabitraSubudhi_Remedy-ITSM Sr. Engineer V2.0
PabitraSubudhi_Remedy-ITSM Sr. Engineer V2.0Vyom Labs
 
Asyma E3 2012 - Sage 300 ERP 2012 - Emerging Trends - Jamie Kandola
Asyma E3 2012 - Sage 300 ERP 2012  - Emerging Trends - Jamie KandolaAsyma E3 2012 - Sage 300 ERP 2012  - Emerging Trends - Jamie Kandola
Asyma E3 2012 - Sage 300 ERP 2012 - Emerging Trends - Jamie Kandolaasyma
 
Dyn sl capabilities_guide_2011_us
Dyn sl capabilities_guide_2011_usDyn sl capabilities_guide_2011_us
Dyn sl capabilities_guide_2011_usr_p_deepak
 
The business benefits_of_metastorm_bp_mv9
The business benefits_of_metastorm_bp_mv9The business benefits_of_metastorm_bp_mv9
The business benefits_of_metastorm_bp_mv9wnowakkk
 
IBM Smarter Business 2012 - Headless BPM
IBM Smarter Business 2012 - Headless BPMIBM Smarter Business 2012 - Headless BPM
IBM Smarter Business 2012 - Headless BPMIBM Sverige
 
Ibm web sphere vs sap netweaver evaluation whitepaper
Ibm web sphere vs sap netweaver evaluation   whitepaperIbm web sphere vs sap netweaver evaluation   whitepaper
Ibm web sphere vs sap netweaver evaluation whitepaperrvegesna1
 
BSM201.pdf
BSM201.pdfBSM201.pdf
BSM201.pdfNovell
 
Sap hana retail sales reporting innojam21 final
Sap hana retail sales reporting   innojam21 finalSap hana retail sales reporting   innojam21 final
Sap hana retail sales reporting innojam21 finalKumud Singh
 
CaliberRM Data Sheet
CaliberRM Data SheetCaliberRM Data Sheet
CaliberRM Data Sheettitita13
 
LeverX SAP DMS Webinar
LeverX SAP DMS WebinarLeverX SAP DMS Webinar
LeverX SAP DMS WebinarEric Stajda
 
3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyalIBM
 
pivotal share point connector
 pivotal share point connector pivotal share point connector
pivotal share point connectorPivotal CRM
 
Presentatie Exact - Synergy Xpert Community
Presentatie Exact - Synergy Xpert CommunityPresentatie Exact - Synergy Xpert Community
Presentatie Exact - Synergy Xpert CommunitySynergy_Xpert_Community
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornmentSpiffy
 
What's New in Maximo 7 Workshop Alex Estevam Sep 2012
What's New in Maximo 7 Workshop   Alex Estevam Sep 2012What's New in Maximo 7 Workshop   Alex Estevam Sep 2012
What's New in Maximo 7 Workshop Alex Estevam Sep 2012alipaiva
 

La actualidad más candente (20)

Oracle bpm-suite-11g-overview-slide
Oracle bpm-suite-11g-overview-slideOracle bpm-suite-11g-overview-slide
Oracle bpm-suite-11g-overview-slide
 
Model Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShieldModel Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShield
 
PabitraSubudhi_Remedy-ITSM Sr. Engineer V2.0
PabitraSubudhi_Remedy-ITSM Sr. Engineer V2.0PabitraSubudhi_Remedy-ITSM Sr. Engineer V2.0
PabitraSubudhi_Remedy-ITSM Sr. Engineer V2.0
 
Asyma E3 2012 - Sage 300 ERP 2012 - Emerging Trends - Jamie Kandola
Asyma E3 2012 - Sage 300 ERP 2012  - Emerging Trends - Jamie KandolaAsyma E3 2012 - Sage 300 ERP 2012  - Emerging Trends - Jamie Kandola
Asyma E3 2012 - Sage 300 ERP 2012 - Emerging Trends - Jamie Kandola
 
Dyn sl capabilities_guide_2011_us
Dyn sl capabilities_guide_2011_usDyn sl capabilities_guide_2011_us
Dyn sl capabilities_guide_2011_us
 
The business benefits_of_metastorm_bp_mv9
The business benefits_of_metastorm_bp_mv9The business benefits_of_metastorm_bp_mv9
The business benefits_of_metastorm_bp_mv9
 
PLM-ERP Integration
PLM-ERP IntegrationPLM-ERP Integration
PLM-ERP Integration
 
Final Academic Project
Final Academic ProjectFinal Academic Project
Final Academic Project
 
IBM Smarter Business 2012 - Headless BPM
IBM Smarter Business 2012 - Headless BPMIBM Smarter Business 2012 - Headless BPM
IBM Smarter Business 2012 - Headless BPM
 
Ibm web sphere vs sap netweaver evaluation whitepaper
Ibm web sphere vs sap netweaver evaluation   whitepaperIbm web sphere vs sap netweaver evaluation   whitepaper
Ibm web sphere vs sap netweaver evaluation whitepaper
 
BSM201.pdf
BSM201.pdfBSM201.pdf
BSM201.pdf
 
Sap hana retail sales reporting innojam21 final
Sap hana retail sales reporting   innojam21 finalSap hana retail sales reporting   innojam21 final
Sap hana retail sales reporting innojam21 final
 
CaliberRM Data Sheet
CaliberRM Data SheetCaliberRM Data Sheet
CaliberRM Data Sheet
 
LeverX SAP DMS Webinar
LeverX SAP DMS WebinarLeverX SAP DMS Webinar
LeverX SAP DMS Webinar
 
3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal
 
pivotal share point connector
 pivotal share point connector pivotal share point connector
pivotal share point connector
 
SAP BOM Redlining
SAP BOM RedliningSAP BOM Redlining
SAP BOM Redlining
 
Presentatie Exact - Synergy Xpert Community
Presentatie Exact - Synergy Xpert CommunityPresentatie Exact - Synergy Xpert Community
Presentatie Exact - Synergy Xpert Community
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornment
 
What's New in Maximo 7 Workshop Alex Estevam Sep 2012
What's New in Maximo 7 Workshop   Alex Estevam Sep 2012What's New in Maximo 7 Workshop   Alex Estevam Sep 2012
What's New in Maximo 7 Workshop Alex Estevam Sep 2012
 

Similar a OMGi application store

C# .NET Developer Portfolio
C# .NET Developer PortfolioC# .NET Developer Portfolio
C# .NET Developer Portfoliocummings49
 
Developing An SOA Strategy V1
Developing An SOA Strategy V1Developing An SOA Strategy V1
Developing An SOA Strategy V1Salim Sheikh
 
ESF .NET - Accelerated Framework for Enterprise System Re-Engineering
ESF .NET - Accelerated Framework for Enterprise System Re-EngineeringESF .NET - Accelerated Framework for Enterprise System Re-Engineering
ESF .NET - Accelerated Framework for Enterprise System Re-EngineeringVisionet Systems, Inc.
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...mfrancis
 
Cordys presentation
Cordys presentationCordys presentation
Cordys presentationMans Jug
 
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorialMike Marin
 
SaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloudSaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineClouduEngine Solutions
 
Enabling End User And Ad Hoc Reporting With M S S Q L Server 2005 R...
Enabling  End  User And  Ad  Hoc  Reporting  With  M S  S Q L  Server 2005  R...Enabling  End  User And  Ad  Hoc  Reporting  With  M S  S Q L  Server 2005  R...
Enabling End User And Ad Hoc Reporting With M S S Q L Server 2005 R...Joseph Lopez
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTSMicrosoft Iceland
 
Adeptia BPM Suite datasheet
Adeptia BPM Suite datasheetAdeptia BPM Suite datasheet
Adeptia BPM Suite datasheetAdeptia
 
SAP Netweaver BPM #SITANK 2011
SAP Netweaver BPM #SITANK 2011SAP Netweaver BPM #SITANK 2011
SAP Netweaver BPM #SITANK 2011Abdulbasit Gulsen
 
Service Oriented Architecture 10 0
Service Oriented Architecture 10 0Service Oriented Architecture 10 0
Service Oriented Architecture 10 0Nigel Tebbutt
 
xRM - as an Evolution of CRM
xRM - as an Evolution of CRMxRM - as an Evolution of CRM
xRM - as an Evolution of CRMCatherine Eibner
 
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloudPre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloudwwwally
 
Things-factory introduction
Things-factory introductionThings-factory introduction
Things-factory introductionHatio, Lab.
 
Oracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best PracticesOracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best PracticesRajesh Raheja
 

Similar a OMGi application store (20)

C# .NET Developer Portfolio
C# .NET Developer PortfolioC# .NET Developer Portfolio
C# .NET Developer Portfolio
 
Developing An SOA Strategy V1
Developing An SOA Strategy V1Developing An SOA Strategy V1
Developing An SOA Strategy V1
 
Keynote Day 1 2009
Keynote Day 1 2009Keynote Day 1 2009
Keynote Day 1 2009
 
ESF .NET - Accelerated Framework for Enterprise System Re-Engineering
ESF .NET - Accelerated Framework for Enterprise System Re-EngineeringESF .NET - Accelerated Framework for Enterprise System Re-Engineering
ESF .NET - Accelerated Framework for Enterprise System Re-Engineering
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
 
Cordys presentation
Cordys presentationCordys presentation
Cordys presentation
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial2006 mm,ks,jb (miami, florida   bpm summit) xpdl tutorial
2006 mm,ks,jb (miami, florida bpm summit) xpdl tutorial
 
SaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloudSaaS transformation with OCE - uEngineCloud
SaaS transformation with OCE - uEngineCloud
 
Enabling End User And Ad Hoc Reporting With M S S Q L Server 2005 R...
Enabling  End  User And  Ad  Hoc  Reporting  With  M S  S Q L  Server 2005  R...Enabling  End  User And  Ad  Hoc  Reporting  With  M S  S Q L  Server 2005  R...
Enabling End User And Ad Hoc Reporting With M S S Q L Server 2005 R...
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTS
 
Adeptia BPM Suite datasheet
Adeptia BPM Suite datasheetAdeptia BPM Suite datasheet
Adeptia BPM Suite datasheet
 
SAP Netweaver BPM #SITANK 2011
SAP Netweaver BPM #SITANK 2011SAP Netweaver BPM #SITANK 2011
SAP Netweaver BPM #SITANK 2011
 
Service Oriented Architecture 10 0
Service Oriented Architecture 10 0Service Oriented Architecture 10 0
Service Oriented Architecture 10 0
 
xRM - as an Evolution of CRM
xRM - as an Evolution of CRMxRM - as an Evolution of CRM
xRM - as an Evolution of CRM
 
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloudPre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
Pre-TechEd EMEA 2012 - SCOM 2012 Down in the cloud
 
Things-factory introduction
Things-factory introductionThings-factory introduction
Things-factory introduction
 
Oracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best PracticesOracle OpenWorld 2009 AIA Best Practices
Oracle OpenWorld 2009 AIA Best Practices
 
Introduction to Force.com
Introduction to Force.comIntroduction to Force.com
Introduction to Force.com
 
RequirementPro™ Architecture
RequirementPro™ ArchitectureRequirementPro™ Architecture
RequirementPro™ Architecture
 

Último

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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)wesley chun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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.pdfsudhanshuwaghmare1
 
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 AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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...Enterprise Knowledge
 
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 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Último (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

OMGi application store

  • 1. OMGi Application Store A service oriented application developed in a model driven approach
  • 2. Introduction ● The project was created during a service- oriented development course at BUTE-FTSRG. ● Related open source project: OMGi Tools, an envirionment for model base development of service oriented applications ● Participiants: ● Bogsch Balázs (balaggee gmail.com) ● Papp István (pappist87 gmail.com) ● Tóth Tamás (tothtamas.bme gmail.com) ● Tóth Zsolt (toth.zsolt.bme gmail.com)
  • 3. Project scope ● Developing a service-oriented application store ● Features: ○ Services for managing accounts, apps, purchases, etc. ○ Business process based quality management ○ Business process based application purchase ○ Rule based application filter
  • 4. Phases of development ● The project was created in a model driven manner. ● Main development phases: 1. Analysis and design ● Requirement analysis ● Architectural design ● Business process modeling 2. Generative implementation of business logic 3. Enhancement with rule based functionality
  • 5. Model based developement process Requirement analysis & Use case Architectural business process model design modeling Business Generative Domain specific process model implementation language & model Enhancement with rule based functionality
  • 6. Requirement analysis ● UML based analysis ● Modeling functional requirements with use cases ● Modeling scenarios with activities ● Main functionality ● Account management for customers and developers ● Management of applications and versions for developers ● Transactions ● Automatic and manual quality management of uploaded apps
  • 8. Architectural design ● Creation of an EMF-based domain specific language that describes: ● Business data ● Business components and services ● Interconnections and dependency between them ● and other aspects ● System architecture specification in the created language
  • 9. Domain specific language general data type attribute of an entity service parameter entity business service technological REST details service business component reference between entities
  • 10. System architecture Implementation of the services, which provide the specified functionalities Quality manager Customer services Developer services services REST Service layer Business layer Database layer Database
  • 11. Domain specific architecture model Business component REST REST Business interface service service
  • 12. Business process modeling ● Modeling in BPMN ● Specified processes: ● Quality management ● Application purchase (example)
  • 13. Implementation: code generation ● Technology: Xtend ● Input: the specified system model ● Generates the following from the system model: ● Annotated JPA entity classes ● Annotated REST interfaces of business services ● Stubs for business logic with dependencies ● The generated code is runnable on OSGi platform ● For more: check OMGi Tools
  • 14. Code generation example: Annotated JPA entities @Entity //... public class Customer extends User { //... @ManyToMany private List<App> purchasedApps = new ArrayList<App>(); public List<App> getPurchasedApps() { return purchasedApps; } public void setPurchasedApps(List<App> purchasedApps) { this.purchasedApps = purchasedApps; } //...
  • 15. Code generation example: Annotated REST services @Path("/rscustomermanager") public class RsCustomerManager i mplements IRsCustomerManager { private CustomerManager customerManager = new CustomerManager(); //... @DELETE @Path("removecustomer/{customerId}") @Produces("text/plain") @Override public Response removeCustomer(@PathParam("customerId") String customerId) throws NumberFormatException, DatabaseAccessException, NoSuchEntitytException { System.out.println("INFO: RemoveCustomer service called...."); return Response.status(200).entity("Service called succesfully"); } //...
  • 16. Code generation example: Business logic stubs public class CustomerManager implements ICustomerManager { private IUserAccountManager userAccountManager = new UserAccountManager(); //... @Override public void removeCustomer( int customerId) throws DatabaseAccessException, NoSuchEntitytException { //ToDo return; } //...
  • 17. Implementation: business processes ● Implementation of services, which are called from business processes ● Call REST services from WorkItem handlers Application purchase REST services REST Service layer Business layer
  • 18. Enhancement with rule based functionality ● Add „Genius” feature to the system ● Intelligent, rule based application recommendation ● Considering user habits and business interests ● Preferred expensive and frequently purchased applications ● Preferred the works of developers from whom the user purchased a lot ● Preferred applications purchesed by user who has similar purchasing habits ● Preferred applications from category which is popular for user
  • 19. Enhancement with rule based functionality – implementation - 1 ● Enlargement the system model and generate new components and services ● Implement „Genius” REST service ● Request parameter customer ID and the response a list of recommend applications ● Implement necessary business services in business logic layer ● Use JBoss Drools rule engine ● Weighting applications when a rule is activated
  • 20. Enhancement with rule based functionality – implementation - 2 Request Collect Collect possible applications data (e.g. not purchased) Genius REST Service Fire rules Business layer Response Get applicaions’ metrics: ● app popularity ● generated income ● developer popularity ● user similarity
  • 21. Used technolgies Business processes: jBPM Business rules: JBoss Drools REST service layer: Jersey Business layer: OSGi, JEE, .Net WPF Database access layer: EclipseLink Database: Derby
  • 22. Links ● BUTE Fault Tolerant Systems Research Group http://www.inf.mit.bme.hu/en ● SOA course at BUTE http://www.inf.mit.bme.hu/edu/courses/szolgint ● OMGi Tools http://code.google.com/p/omgi-tools/