Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CUBA ist auch eine Insel - JUHGG 2016

Mario David
November 09, 2016

CUBA ist auch eine Insel - JUHGG 2016

CUBA ist auch eine Insel
Business Anwendungen, aber einfach
Wenn es um die Erstellung von “Business Anwendungen” geht, ergeben sich häufig ähnliche Anforderungen: große Entitäts-Graphen, Daten Grids mit erweiterten Filterungsmöglichkeiten, Reporting, datensatzbasierte Sicherheit, Auditierung usw. Sind “general purpose” Frameworks der richtige Ansatz um solche Probleme lösen oder sollte man versuchen bei der Frameworkauswahl etwas “domain-spezifischer” zu werden?

In diesem Vortrag wird anhand eines Beispiels für solche domain-spezifischere Auswahl: “CUBA-Platform” die verschiedenen business-spezifischen Features betrachtet. Nachdem wir uns mit den unterschiedlichen Features vertraut machen, schauen uns an, wie man eine Anwendung zur Bestellverwaltung mit filterbaren Listenansichten, datensatzbasierte Sicherheit und PDF Generierung innerhalb kürzester Zeit erstellen kann. Danach wird überprüft welche Vorteile und welche Konsequenzen sich aus einer solchen Wahl bei der Framework Entscheidung ergeben und ob “CUBA” dann doch “nur” eine Insel, oder vielleicht auch etwas mehr ist.

Anschließend gibt es einen Hands-On Teil, bei dem jeder herzlich eingeladen ist seine eigene Business Anwendung entweder völlig frei oder anhand von Beispiel-Anforderungen zu erstellen um sich mit dem Programmiermodell vertraut zu machen.

Mario David

November 09, 2016
Tweet

More Decks by Mario David

Other Decks in Technology

Transcript

  1. CUBA ist auch eine Insel
    JUGHH 2016 | Mario David

    View Slide

  2. Mario David
    Software Developer | road-to-cuba-and-beyond.com | mariomddavid

    View Slide

  3. Wo darf’s denn hingehen?
    Business
    Technical

    View Slide

  4. Zuerst...
    Business

    View Slide

  5. Business Anwendungen
    -
    Wat weur dat noch mool?

    View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. Mit welchen Mitteln
    lösen wir diese Anforderungen?

    View Slide

  11. Mögliche Problembereiche für den Lösungsraum:
    /(G?rails|(Node|Angular|[a-zA-Z]*)JS)/g
    (responsive)
    marketing
    site
    (REST)
    Backend
    Online
    shop
    Business
    CRUD app
    ...
    ...
    ...
    End-user
    facing app
    1:10

    View Slide

  12. (G)Rails
    Spring MVC
    Ember JS
    Servlet
    Socket
    ?
    domain specific
    general purpose
    SAP
    Magento
    Shopify
    Typo3
    WordPress
    ...
    Rack
    fachlich technisch

    View Slide

  13. Scaffolding++?

    View Slide

  14. Problem: zu großer Lösungsraum

    View Slide

  15. Wer braucht wirklich scaffolding?
    (responsive)
    marketing
    site
    (REST)
    Backend
    Online
    shop
    Business
    CRUD app
    ...
    ...
    ...
    End-user
    facing app
    1:10

    View Slide

  16. View Slide

  17. Der Lösungsraum-Schrumpf
    Business-
    Anwendungen
    ...
    ...
    ...
    1:3

    View Slide

  18. Yet another
    Full-stack FW?

    View Slide

  19. Beispiel Anwendung: Ordermanagement
    github.com/mariodavid/cuba-ordermanagement-jughh

    View Slide

  20. Vorteile & Nachteile
    ● Fokus auf Business-Probleme
    ● Wahlbefreiung
    ● Produktivität
    ● kleineres Ökosystem
    ● Problembereich-Switch:
    schwierig

    View Slide

  21. It depends - häufig schon!
    No one walks in your shoes...
    Also - lohnt es sich, spezifisch zu werden?

    View Slide

  22. bit.ly/cuba-security
    bit.ly/cuba-groovy
    bit.ly/cuba-filter

    View Slide

  23. bit.ly/cuba-security
    bit.ly/cuba-groovy
    bit.ly/cuba-filter

    View Slide

  24. bit.ly/cuba-security
    bit.ly/cuba-groovy
    bit.ly/cuba-filter

    View Slide

  25. bit.ly/cuba-security
    bit.ly/cuba-groovy
    bit.ly/cuba-filter

    View Slide

  26. Schööndank
    road-to-cuba-and-beyond.com | mariomddavid

    View Slide

  27. Portal-Cl
    Desktop-Cl
    Web-Cl
    Middleware
    CUBA Platform - ein paar Diagramme...
    Portal-Client
    Desktop-Client
    Web-Client
    Middleware
    DB
    Global
    core
    web desktop
    portal
    gui

    View Slide