SlideShare a Scribd company logo
1
1
Model-Driven
Development in the
Open Java Universe
May 2020
2
About me
Age:
Specialty:
Total-experience:
Company:
Java & RDBMS developer
Anton Lem
3
What are we going to talk about today?
・ Modeling of information systems
・ Model-driven development approach
・ My experience of using MDD in real enterprise
development.
・ Who is Mr. Java Hipster?
・ Development session
・ JHipter’s cons & pros
・ What awaits us in the future?
4
What is it modeling and model?
Model is a strictly formalized idea that has been visualized by some graphical notations
5
Model Driven Development (MDD)
・ Model is a primary source of all
other artifacts in the project
・ CASE-tools (Computer-Aided
Software Engineering) are
intended to generate all
derivative artifacts
CI
CD
Code Architecture Documentation
Cloud
Interface
Database Tests
Backend
6
How can MDD help developers?
・ Developers begin to communicate with
customers in a common formal language
・ Model is the best strictly formalized
documentation for developers
・ Effectiveness of external and internal
communication growths dramatically
・ MDD significantly reduces the amount of
manual coding
・ Using of MDD extends the
professionalism of developers
7
UML modeling
・ Founder: Grady Booch
・ UML was intended to standardize the
notational systems and approaches to
software design
・ In 1997, UML was adopted as a standard
by the Object Management Group (OMG)
・ UML object class diagrams widely are
being used in requirements models more
focused on object-oriented software
engineering
Modern UML Object class diagram
8
Enhanced Entity-Relationships modeling
・ Founder: Peter Chen
・ Originally used as only one available basis
for the first Computer-Aided Software
Engineering (CASE) tools and RDBMS
・ Enhanced by the concepts of inheritance,
stereotypes, union types
・ It is an ANSI standard
・ Widely using in real CASE-tools, mostly
oriented on relationships database design
Modern Enhanced Entity Relationships
Conceptual diagram
9
Modeling in nowadays
Enhanced ER Conceptual diagramUML Object class diagram VS
10
My first experience of using MDD
PowerDesigner - CASE-tool that
really works:
・ enhanced ER-models
・ management of models
・ drawing diagrams
・ checking consistency
・ generation of derivative
artifacts
・ and a lot of drawbacks
11
The first results of using MDD
Problems I encountered:
・ Conceptual models are too abstract
・ PowerDesigner doesn’t cover the
questions of architecture, building
and delivery
・ There is no way to transform a
conceptual model into the code
directly
Positive results:
・ Changing my vision and my mind
・ Increasing the quality of work
・ Improving the performance of all my team
・ Bootstrapping of new projects
・ Bringing new approaches and solutions
12
Second attempt to apply MDD
・ Eclipse contained a lot of scattered MDD
components, but there was no ready-made
CASE-tool
・ Assembling the components of the Eclipse
modeling project into a ready-made
CASE-tool was unreasonably expensive
and complicated
・ PowerDesigner was still excellent but
expensive
13
Hi, I am JHipster!!!
… or a miracle happens when
you do not expect it at all
14
What can Mr. JHipster give us?
・ Scaffolding of projects
・ Assembly of the back-end and front-end
architecture
・ Stack of modern technologies and frameworks
・ Support authentication, configuration,
microservices infrastructure
・ Integration of all components in a ready-made
application
・ Several project building, CI, and deployment
options
・ MDD tool, but he doesn’t know it
15
JHipster features
Backend technologies
16
JHipster features
Front-end technologies
17
JHipster features
Project building
Continuous integration
Deployment
18
JHipster’s MDD features
・ Own structural data model
・ Custom model definition language
・ Model visualization tool
・ Model-to-code generator
19
JHipster’s MDD features
Artifacts generated from model:
・ UI components & tests
・ API & its documentation
・ Security layer & authentication
・ Backend: REST-controllers, services,
DAO layer
・ Business models and DTO
・ Database schema
・ Tests: unit, integration, performance,
behaviour
20
Real example of business requirements
21
Real example of business requirements
・ Build a ready-made web-application from scratch.
・ Implement CRUDL operations for entities from the provided schema.
・ Stateless authentication and authorization.
・ Full-text search, Open-API documentation, internationalization: English, German.
・ Assembly all layers from a data storage to UI.
・ Test coverage of all layers is mandatory. Performance tests too.
22
JHipster in action
・ Project generation and assembly of
modern integrated architecture.
・ Model building, code, and test
generation.
・ Overview of the ready application.
23
JHipster usage cases
・ Scaffolding of your new real projects
from scratch
・ Prototyping of ideas
・ Building mock-implementations of
services for integration tasks
・ Learning purposes
24
JHipster Pros & Cons
Advantages:
・ A large stack of modern technologies
integrated into the one ready-made project
・ The best approaches and using advanced
frameworks
・ Adjusted project builder, CI, deployment
・ Marketplace and community
・ Real MDD in the open-source Java universe
・ JHipster is extremely simple and accessible
25
JHipster Pros & Cons
Areas of improvement:
・ Very primitive model
・ Ill-conceived UI:
‑ synthetic ID as a screen
name for objects
‑ lack of support of large
lookup datasets
・ Not-OOP approach in code
26
Conclusion
・ Modeling brings a lot of benefits to developers
・ JHipster can save your time and teach you
・ Use JHipster and advanced modeling tools
together
・ MDD the most promising candidate for the entire
automation
・ I expect the emergence of dedicated modeling
platforms and servers
27Privileged and confidential
Q & A
28
28
Thank you!
antonlem78@gmail.com
Skype: antonlem78
www.griddynamics.com

More Related Content

Similar to JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe (20)

PDF
Introduction to MDE
Fáber D. Giraldo
 
DOCX
MDD and modeling tools research
Roger Xia
 
PPT
ERP_Up_Down.ppt
KalsoomTahir2
 
PDF
Model Driven Architecture Applying MDA to Enterprise Computing 1st Edition Da...
hamudgenetpg
 
PDF
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
fomenareymar
 
PPT
Web technologies: Model Driven Engineering
Piero Fraternali
 
PPTX
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
GlobalLogic Ukraine
 
PDF
10 Things You Should Know About MDD
Johan den Haan
 
PPTX
Mdd Lcds
ravinxg
 
PPTX
Agile MDD
fntnhd
 
PPTX
Domain-Driven Design
Andriy Buday
 
PPT
Acceleo Day - Orange
sliard
 
PDF
Agile Modelling Architecture
pierino23
 
PPTX
MODEL-DRIVEN ENGINEERING (MDE) in Practice
Hussein Alshkhir
 
PPT
Introduction to MDA
Orçun Dayıbaş
 
PPTX
DDD Intro
fredverheul
 
PPT
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Ministry of Foreign Affairs, Netherlands
 
PDF
Enriching Tool Support for Model-Driven Software Development
David Méndez-Acuña
 
PPT
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Dave Steinberg
 
PPTX
Mdd lcds
rssharma
 
Introduction to MDE
Fáber D. Giraldo
 
MDD and modeling tools research
Roger Xia
 
ERP_Up_Down.ppt
KalsoomTahir2
 
Model Driven Architecture Applying MDA to Enterprise Computing 1st Edition Da...
hamudgenetpg
 
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
fomenareymar
 
Web technologies: Model Driven Engineering
Piero Fraternali
 
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
GlobalLogic Ukraine
 
10 Things You Should Know About MDD
Johan den Haan
 
Mdd Lcds
ravinxg
 
Agile MDD
fntnhd
 
Domain-Driven Design
Andriy Buday
 
Acceleo Day - Orange
sliard
 
Agile Modelling Architecture
pierino23
 
MODEL-DRIVEN ENGINEERING (MDE) in Practice
Hussein Alshkhir
 
Introduction to MDA
Orçun Dayıbaş
 
DDD Intro
fredverheul
 
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Ministry of Foreign Affairs, Netherlands
 
Enriching Tool Support for Model-Driven Software Development
David Méndez-Acuña
 
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Dave Steinberg
 
Mdd lcds
rssharma
 

More from FestGroup (10)

PPTX
JavaFest. Барух Садогурский. DevOps для разработчиков (или против них?!)
FestGroup
 
PDF
JavaFest. Виктор Полищук. Legacy: как победить в гонке
FestGroup
 
PDF
JavaFest. Cedrick Lunven. Build APIS with SpringBoot - REST, GRPC, GRAPHQL wh...
FestGroup
 
PDF
JavaFest. Philipp Krenn. Scale Elasticsearch for Your Java Applications
FestGroup
 
PDF
JavaFest. Grzegorz Piwowarek. Hazelcast - Hitchhiker’s Guide
FestGroup
 
PDF
JavaFest. Денис Макогон. 6 заблуждений относительно современной Java
FestGroup
 
PDF
JavaFest. Taras Boychuk. There is always a choice. Spring Data JDBC vs. Hiber...
FestGroup
 
PDF
JavaFest. Вадим Казулькин. Projects Valhalla, Loom and GraalVM
FestGroup
 
PDF
JavaFest. Дмитрий Сергеев. Data processing with Kafka Streams and Spring Fram...
FestGroup
 
PDF
JavaFest. Nanne Baars. Web application security for developers
FestGroup
 
JavaFest. Барух Садогурский. DevOps для разработчиков (или против них?!)
FestGroup
 
JavaFest. Виктор Полищук. Legacy: как победить в гонке
FestGroup
 
JavaFest. Cedrick Lunven. Build APIS with SpringBoot - REST, GRPC, GRAPHQL wh...
FestGroup
 
JavaFest. Philipp Krenn. Scale Elasticsearch for Your Java Applications
FestGroup
 
JavaFest. Grzegorz Piwowarek. Hazelcast - Hitchhiker’s Guide
FestGroup
 
JavaFest. Денис Макогон. 6 заблуждений относительно современной Java
FestGroup
 
JavaFest. Taras Boychuk. There is always a choice. Spring Data JDBC vs. Hiber...
FestGroup
 
JavaFest. Вадим Казулькин. Projects Valhalla, Loom and GraalVM
FestGroup
 
JavaFest. Дмитрий Сергеев. Data processing with Kafka Streams and Spring Fram...
FestGroup
 
JavaFest. Nanne Baars. Web application security for developers
FestGroup
 
Ad

Recently uploaded (20)

PPTX
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
PPTX
Introduction to Indian Writing in English
Trushali Dodiya
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PPTX
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
PDF
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 
PDF
epi editorial commitee meeting presentation
MIPLM
 
PDF
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
PPTX
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
PPTX
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
PPTX
TRANSLATIONAL AND ROTATIONAL MOTION.pptx
KIPAIZAGABAWA1
 
PPTX
Introduction to Biochemistry & Cellular Foundations.pptx
marvinnbustamante1
 
PPTX
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
PPTX
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
PPTX
How to Create Odoo JS Dialog_Popup in Odoo 18
Celine George
 
PDF
Characteristics, Strengths and Weaknesses of Quantitative Research.pdf
Thelma Villaflores
 
PPTX
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
PPTX
Difference between write and update in odoo 18
Celine George
 
PPTX
How to Send Email From Odoo 18 Website - Odoo Slides
Celine George
 
DIGITAL CITIZENSHIP TOPIC TLE 8 MATATAG CURRICULUM
ROBERTAUGUSTINEFRANC
 
Introduction to Indian Writing in English
Trushali Dodiya
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 
epi editorial commitee meeting presentation
MIPLM
 
Week 2 - Irish Natural Heritage Powerpoint.pdf
swainealan
 
How to Configure Re-Ordering From Portal in Odoo 18 Website
Celine George
 
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
TRANSLATIONAL AND ROTATIONAL MOTION.pptx
KIPAIZAGABAWA1
 
Introduction to Biochemistry & Cellular Foundations.pptx
marvinnbustamante1
 
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
How to Create Odoo JS Dialog_Popup in Odoo 18
Celine George
 
Characteristics, Strengths and Weaknesses of Quantitative Research.pdf
Thelma Villaflores
 
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
Difference between write and update in odoo 18
Celine George
 
How to Send Email From Odoo 18 Website - Odoo Slides
Celine George
 
Ad

JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe

  • 3. 3 What are we going to talk about today? ・ Modeling of information systems ・ Model-driven development approach ・ My experience of using MDD in real enterprise development. ・ Who is Mr. Java Hipster? ・ Development session ・ JHipter’s cons & pros ・ What awaits us in the future?
  • 4. 4 What is it modeling and model? Model is a strictly formalized idea that has been visualized by some graphical notations
  • 5. 5 Model Driven Development (MDD) ・ Model is a primary source of all other artifacts in the project ・ CASE-tools (Computer-Aided Software Engineering) are intended to generate all derivative artifacts CI CD Code Architecture Documentation Cloud Interface Database Tests Backend
  • 6. 6 How can MDD help developers? ・ Developers begin to communicate with customers in a common formal language ・ Model is the best strictly formalized documentation for developers ・ Effectiveness of external and internal communication growths dramatically ・ MDD significantly reduces the amount of manual coding ・ Using of MDD extends the professionalism of developers
  • 7. 7 UML modeling ・ Founder: Grady Booch ・ UML was intended to standardize the notational systems and approaches to software design ・ In 1997, UML was adopted as a standard by the Object Management Group (OMG) ・ UML object class diagrams widely are being used in requirements models more focused on object-oriented software engineering Modern UML Object class diagram
  • 8. 8 Enhanced Entity-Relationships modeling ・ Founder: Peter Chen ・ Originally used as only one available basis for the first Computer-Aided Software Engineering (CASE) tools and RDBMS ・ Enhanced by the concepts of inheritance, stereotypes, union types ・ It is an ANSI standard ・ Widely using in real CASE-tools, mostly oriented on relationships database design Modern Enhanced Entity Relationships Conceptual diagram
  • 9. 9 Modeling in nowadays Enhanced ER Conceptual diagramUML Object class diagram VS
  • 10. 10 My first experience of using MDD PowerDesigner - CASE-tool that really works: ・ enhanced ER-models ・ management of models ・ drawing diagrams ・ checking consistency ・ generation of derivative artifacts ・ and a lot of drawbacks
  • 11. 11 The first results of using MDD Problems I encountered: ・ Conceptual models are too abstract ・ PowerDesigner doesn’t cover the questions of architecture, building and delivery ・ There is no way to transform a conceptual model into the code directly Positive results: ・ Changing my vision and my mind ・ Increasing the quality of work ・ Improving the performance of all my team ・ Bootstrapping of new projects ・ Bringing new approaches and solutions
  • 12. 12 Second attempt to apply MDD ・ Eclipse contained a lot of scattered MDD components, but there was no ready-made CASE-tool ・ Assembling the components of the Eclipse modeling project into a ready-made CASE-tool was unreasonably expensive and complicated ・ PowerDesigner was still excellent but expensive
  • 13. 13 Hi, I am JHipster!!! … or a miracle happens when you do not expect it at all
  • 14. 14 What can Mr. JHipster give us? ・ Scaffolding of projects ・ Assembly of the back-end and front-end architecture ・ Stack of modern technologies and frameworks ・ Support authentication, configuration, microservices infrastructure ・ Integration of all components in a ready-made application ・ Several project building, CI, and deployment options ・ MDD tool, but he doesn’t know it
  • 18. 18 JHipster’s MDD features ・ Own structural data model ・ Custom model definition language ・ Model visualization tool ・ Model-to-code generator
  • 19. 19 JHipster’s MDD features Artifacts generated from model: ・ UI components & tests ・ API & its documentation ・ Security layer & authentication ・ Backend: REST-controllers, services, DAO layer ・ Business models and DTO ・ Database schema ・ Tests: unit, integration, performance, behaviour
  • 20. 20 Real example of business requirements
  • 21. 21 Real example of business requirements ・ Build a ready-made web-application from scratch. ・ Implement CRUDL operations for entities from the provided schema. ・ Stateless authentication and authorization. ・ Full-text search, Open-API documentation, internationalization: English, German. ・ Assembly all layers from a data storage to UI. ・ Test coverage of all layers is mandatory. Performance tests too.
  • 22. 22 JHipster in action ・ Project generation and assembly of modern integrated architecture. ・ Model building, code, and test generation. ・ Overview of the ready application.
  • 23. 23 JHipster usage cases ・ Scaffolding of your new real projects from scratch ・ Prototyping of ideas ・ Building mock-implementations of services for integration tasks ・ Learning purposes
  • 24. 24 JHipster Pros & Cons Advantages: ・ A large stack of modern technologies integrated into the one ready-made project ・ The best approaches and using advanced frameworks ・ Adjusted project builder, CI, deployment ・ Marketplace and community ・ Real MDD in the open-source Java universe ・ JHipster is extremely simple and accessible
  • 25. 25 JHipster Pros & Cons Areas of improvement: ・ Very primitive model ・ Ill-conceived UI: ‑ synthetic ID as a screen name for objects ‑ lack of support of large lookup datasets ・ Not-OOP approach in code
  • 26. 26 Conclusion ・ Modeling brings a lot of benefits to developers ・ JHipster can save your time and teach you ・ Use JHipster and advanced modeling tools together ・ MDD the most promising candidate for the entire automation ・ I expect the emergence of dedicated modeling platforms and servers