Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK...

21
Practical Aspects of Enterprise Application Development EAR Winter Term 2017 EAR Practical Aspects of Enterprise Application Development Winter Term 2017 1 / 21

Transcript of Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK...

Page 1: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

Practical Aspects of Enterprise ApplicationDevelopment

EAR

Winter Term 2017

EAR Practical Aspects of Enterprise Application Development Winter Term 2017 1 / 21

Page 2: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

Contents

1 Speakers

2 Topics

EAR Practical Aspects of Enterprise Application Development Winter Term 2017 2 / 21

Page 3: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

Speakers

Speakers

EAR Practical Aspects of Enterprise Application Development Winter Term 2017 3 / 21

Page 4: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 5: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 6: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 7: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 8: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 9: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

Topics

Topics

EAR Practical Aspects of Enterprise Application Development Winter Term 2017 9 / 21

Page 10: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

Topics

Practical Experience with Application Development

SCRUM

Agile Methodologies

Continuous Integration

Deployment

EAR Practical Aspects of Enterprise Application Development Winter Term 2017 10 / 21

Page 11: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 12: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 13: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 14: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 15: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 16: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 17: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

Topics

Alternative Technologies

Alternatives to

PostgreSQL

Eclipselink (JPA)

Spring

REST API

ReactJS

EAR Practical Aspects of Enterprise Application Development Winter Term 2017 17 / 21

Page 18: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

Topics

Roman Kunovsky

EAR Practical Aspects of Enterprise Application Development Winter Term 2017 18 / 21

Page 19: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

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

Page 20: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

Topics

Open Discussion

EAR Practical Aspects of Enterprise Application Development Winter Term 2017 20 / 21

Page 21: Practical Aspects of Enterprise Application Developmentrest api: graphql, json api, grpc ReactJS: ZK Framework, Angular, WebAssembly EAR Practical Aspects of Enterprise Application

Topics

Java in the age of NodeJS

EAR Practical Aspects of Enterprise Application Development Winter Term 2017 21 / 21