SlideShare ist ein Scribd-Unternehmen logo
1 von 28
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

Weitere ähnliche Inhalte

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

Rajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot netRajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot netRajendran m
 
Software Project management
Software Project managementSoftware Project management
Software Project managementsameer farooq
 
Discrete Event Simulation, CASE tool built using C#
Discrete Event Simulation, CASE tool built using C#Discrete Event Simulation, CASE tool built using C#
Discrete Event Simulation, CASE tool built using C#Ron Perlmuter
 
Seven Cloud Sins of DevOps
Seven Cloud Sins of DevOpsSeven Cloud Sins of DevOps
Seven Cloud Sins of DevOpsTaras Slipets
 
Lightweight Model-Driven Engineering
Lightweight Model-Driven EngineeringLightweight Model-Driven Engineering
Lightweight Model-Driven EngineeringJordi Cabot
 
Hemanth Kumar - Drupal Architect
Hemanth Kumar - Drupal ArchitectHemanth Kumar - Drupal Architect
Hemanth Kumar - Drupal ArchitectHemanth Kumar
 
Fed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpFed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpTony Bibbs
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st CenturyHenry Jacob
 
Planning for Success in MDD
Planning for Success in MDDPlanning for Success in MDD
Planning for Success in MDDSteven Kelly
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureBrad Beiermann
 
2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded Systems2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded SystemsRoger Snook
 
The world of enterprise solution development with asp.net and C#
The world of enterprise solution development with asp.net and C#The world of enterprise solution development with asp.net and C#
The world of enterprise solution development with asp.net and C#Md. Mahedee Hasan
 
The Dual-Track Agile UX Process at Dell EMC
The Dual-Track Agile UX Process at Dell EMCThe Dual-Track Agile UX Process at Dell EMC
The Dual-Track Agile UX Process at Dell EMCuxpin
 

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

Rajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot netRajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot net
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Discrete Event Simulation, CASE tool built using C#
Discrete Event Simulation, CASE tool built using C#Discrete Event Simulation, CASE tool built using C#
Discrete Event Simulation, CASE tool built using C#
 
Seven Cloud Sins of DevOps
Seven Cloud Sins of DevOpsSeven Cloud Sins of DevOps
Seven Cloud Sins of DevOps
 
Lightweight Model-Driven Engineering
Lightweight Model-Driven EngineeringLightweight Model-Driven Engineering
Lightweight Model-Driven Engineering
 
Resume
ResumeResume
Resume
 
Hemanth Kumar - Drupal Architect
Hemanth Kumar - Drupal ArchitectHemanth Kumar - Drupal Architect
Hemanth Kumar - Drupal Architect
 
Fed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype DcphpFed Up Of Framework Hype Dcphp
Fed Up Of Framework Hype Dcphp
 
Ds for finance day 4
Ds for finance day 4Ds for finance day 4
Ds for finance day 4
 
Brocoders general presentation
Brocoders general presentationBrocoders general presentation
Brocoders general presentation
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
Planning for Success in MDD
Planning for Success in MDDPlanning for Success in MDD
Planning for Success in MDD
 
How to Speak the Language of Application Architecture
How to Speak the Language of Application ArchitectureHow to Speak the Language of Application Architecture
How to Speak the Language of Application Architecture
 
2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded Systems2013 Good Design Is Good Business MDD Embedded Systems
2013 Good Design Is Good Business MDD Embedded Systems
 
Akwin_Resume
Akwin_ResumeAkwin_Resume
Akwin_Resume
 
Brocoders presentation
Brocoders presentationBrocoders presentation
Brocoders presentation
 
DevOps Days Rockies MLOps
DevOps Days Rockies MLOpsDevOps Days Rockies MLOps
DevOps Days Rockies MLOps
 
Yogesh_Kadam
Yogesh_KadamYogesh_Kadam
Yogesh_Kadam
 
The world of enterprise solution development with asp.net and C#
The world of enterprise solution development with asp.net and C#The world of enterprise solution development with asp.net and C#
The world of enterprise solution development with asp.net and C#
 
The Dual-Track Agile UX Process at Dell EMC
The Dual-Track Agile UX Process at Dell EMCThe Dual-Track Agile UX Process at Dell EMC
The Dual-Track Agile UX Process at Dell EMC
 

Mehr von FestGroup

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

Mehr von FestGroup (10)

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

Kürzlich hochgeladen

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 

Kürzlich hochgeladen (20)

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 

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