Practical Aspects of Enterprise ApplicationDevelopment
EAR
Winter Term 2017
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 1 / 21
Contents
1 Speakers
2 Topics
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 2 / 21
Speakers
Speakers
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 3 / 21
Speakers
Petr Aubrecht
Lead developer at StringData,
15+ years of experience in server-side application development,
Technologies
C/C++, Java, Java EEJSP, JSFRelational databasesAgile MethodologiesWeb Services
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 4 / 21
Speakers
Roman Kunovsky
Lead Java developer at Baader Computer,
15+ years of experience in Java development,
Technologies
JavaSpring, HibernateRelational databasesApplication servers (Tomcat, IBM WebSphere)Sencha ExtJS
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 5 / 21
Speakers
Baader Computer
Member of the international group”Kirchhoff Datensysteme Group“
120 employees (30 developers in CR)
6 locations (Mainz, Erfurt, Praha, Ceske Budejovice, Sumperk,Bangalore)
Two areas:Java (mostly automotive/individual development)
Web applicationsJava, Spring, Hibernate, Sencha ExtJS, Tomcat/TomEE, Oracle,MSSQL, PostgreSQLWe participate on projects for: Skoda Auto, SEAT, PSA,Jaguar/Land-Rover
.Net
Own product Poly.ERP
www.bcpraha.cz
Trainee program for students
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 6 / 21
Speakers
Rudolf Vlk
Software developer at DataVision,
10+ years of development experience,
Technologies
C/C++, Java, Java EEC# and .NetRelational databasesTest driven developmentZK Framework, Angular
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 7 / 21
Speakers
DataVision
Small company (25 employees, mostly programmers)
Two areas of expertiseVision systems – quality assurance & robot guidance applications
C#, HALCON, Microsoft stack, Visual StudioWe participate on projects for: Volkswagen, Skoda, Michelin, SICK
Information systems / web applications
Java, Java EE, Spring, Angular, ZK Framework, IntelliJ IdeaWe participate on projects for: Creditas, SICK
www.datavision.cz
We’re hiring!
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 8 / 21
Topics
Topics
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 9 / 21
Topics
Practical Experience with Application Development
SCRUM
Agile Methodologies
Continuous Integration
Deployment
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 10 / 21
Topics
Roman Kunovsky
Agile Methodologies
SCRUM
Extreme Programming
Test Driven Development (TDD)
Continuous Integration
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 11 / 21
Topics
Roman KunovskyDeployment (SEAT Germany – application servers environment)
Windows Server 2012
TomEE configuration repository (including WAR artifacts)
TomEE “deploy” Agent (SEAT proprietary solution)
Deployment → automatic update of Windows TomEE services
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 12 / 21
Topics
Rudolf Vlk
On trying to be Agile
Be ready to compromise (when the customer is not interested)Set up feedback loopsAutomate everythingHave a planDon’t neglect maintainability
Refactoring to a good design is integral part of TDD
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 13 / 21
Topics
Java EE vs. Spring
Standardization vs Dynamic evolution
Security, caching, scalability
Full Java EE vs Java EE Web Profile
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 14 / 21
Topics
Roman Kunovsky
Used Spring modules
Core Container
AOP and Instrumentation
Data Access/Integration
Web
Test
Security
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 15 / 21
Topics
Rudolf Vlk
Seems mostly like a choice of personal preference
Both are leaky abstractions
Java EE customized security is a pain
Java EE (theoretical) portability vs Spring’s lock-in
Spring Boot and Microservices
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 16 / 21
Topics
Alternative Technologies
Alternatives to
PostgreSQL
Eclipselink (JPA)
Spring
REST API
ReactJS
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 17 / 21
Topics
Roman Kunovsky
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 18 / 21
Topics
Rudolf Vlk
PostgreSQL: Oracle, MySQL, MongoDB (NoSQL)
JPA: JOOQ
REST API: GraphQL, JSON API, gRPC
ReactJS: ZK Framework, Angular, WebAssembly
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 19 / 21
Topics
Open Discussion
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 20 / 21
Topics
Java in the age of NodeJS
EAR Practical Aspects of Enterprise Application Development Winter Term 2017 21 / 21