460-4104/04 – Enterprise Application Development (VEA)

Gurantor departmentDepartment of Computer ScienceCredits5
Subject guarantorIng. David Ježek, Ph.D.Subject version guarantorIng. David Ježek, Ph.D.
Study levelundergraduate or graduateRequirementChoice-compulsory type A
Year2Semestersummer
Study languageEnglish
Year of introduction2022/2023Year of cancellation2023/2024
Intended for the facultiesFEIIntended for study typesFollow-up Master
Instruction secured by
LoginNameTuitorTeacher giving lectures
JEZ04 Ing. David Ježek, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit and Examination 20+20
Part-time Credit and Examination 14+0

Subject aims expressed by acquired skills and competences

Attendees will understand how enterprise applications are developed. They will understand and be able to apply patterns, techniques and approaches commonly used for the development of these applications. This area of ​​knowledge includes: - Definitions of Enterprise applications - Architectures suitable for Enterprise applications - Technologies used in creating Enterprise applications - Use of patterns during enterprise application development - Presentation layer patterns: MVC, Page Controller, Front Controller, Template View, Transform View, Intercepting Filter - Domain layer patterns: Table Module, Transaction Script, Domain Model, Inversion of Control and Dependence Injection, Proxy Pattern - Aspect-oriented programming - Data layer patterns for data access: Table Data Gateway, Row Data Gateway, Active Record, Data Mapper, Data Access Object - Behavior patterns for object-relation mapping: Unit of Work, Identity Map, Lazy Load - Selected structural patterns for object-relation mapping: Serialized LOB, methods of inheritance mapping - Web services - Architectural style REST - Service-oriented architecture - Architecture of micro-services - Communication via message passing

Teaching methods

Lectures
Tutorials
Project work

Summary

The course defines the characteristics of enterprise applications and then deals with multi-layer architecture, as one of the most common architectures of enterprise applications. Description and purpose of 3 common layers is discussed with students and the use of design patterns in these layers are described. Furthermore, the subject deals with other used approaches and techniques such as web services, architectural style REST, architecture of micro services and others. Students are also introduced to the technologies of the JAVA platform, and how to integrate and use the mentioned patterns and techniques in these technologies.

Compulsory literature:

1. FOWLER, Martin. Patterns of enterprise application architecture: a systematic introduction. Boston: Addison-Wesley, c2003, xxiv, 533 p. ISBN 03-211-2742-0. 2. Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine, 2000. Dostupný z WWW: https://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf 3. Newman, S. Building microservices : designing fine-grained systems. O'Reilly Media, 2015. ISBN 978-1491950357.

Recommended literature:

1. Alur, Deepak, Malks, Dan, Crupi, John. Core J2EE Patterns: Best Practices and Design Strategies Prentice Hall Press, 2013. ISBN 9780133807462. 2. Core J2EE Patterns: Patterns index page [online]. 2001-2002 [cit. 2014-09-05]. Dostupný z WWW: http://www.corej2eepatterns.com

Way of continuous check of knowledge in the course of semester

Each student has to work out project. Project have to be evaluate at least by 20 points from 40, written final exam have to be evaluate at least by 30 points from 60.

E-learning

Other requirements

Basic knowledge of JAVA technology. Basic knowledge in the field of software engineering.

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.

Subject syllabus:

Lectures: 1. Definitions of Enterprise applications. Architectures suitable for Enterprise applications. 2. Technologies used in creating Enterprise applications 3. Use of patterns during enterprise application development 4. Presentation layer patterns: MVC, Page Controller, Front Controller, Template View, Transform View, Intercepting Filter 5. Domain layer patterns: Table Module, Transaction Script, Domain Model, Inversion of Control and Dependence Injection, Proxy Pattern 6. Aspect-oriented programming 7. Data layer patterns for data access: Table Data Gateway, Row Data Gateway, Active Record, Data Mapper, Data Access Object 8. Behavior patterns for object-relation mapping: Unit of Work, Identity Map, Lazy Load 9. Selected structural patterns for object-relation mapping: Serialized LOB, methods of inheritance mapping 10. Web services 11. Architectural style REST 12. Service-oriented architecture 13. Architecture of micro-services 14. Communication via message passing Exercises (PC classroom): 1. Introduction to technologies for the development of enterprise applications on the JAVA platform 2. First implementation of application skeleton. 3. Implementation of the client part of the presentation layer. 4. Implementation of the server part of the presentation layer using patterns. 5. Implementation of the domain layer of the application using patterns. 6. Implementation of extension functionality using AOP. 7. Implementation of the application data layer using patterns. 8. Implementation of data access using JPA. 9. Implementation of web service and client application. 10. Implementation of REST interface. 11. Implementation of communication using JMS between two modules. 12. Consultations on the implementation of semester projects.

Conditions for subject completion

Full-time form (validity from: 2021/2022 Winter semester, validity until: 2023/2024 Summer semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of pointsMax. počet pokusů
Credit and Examination Credit and Examination 100 (100) 51
        Credit Credit 40 (40) 20
                Semestrální projekt Project 40  20
        Examination Examination 60 (60) 30 3
                Písemná zkouška Written examination 60  30
Mandatory attendence participation: Participation in exercises is mandatory and is verified. The course guarantor will inform students of the scope of compulsory participation at the beginning of the semester.

Show history

Conditions for subject completion and attendance at the exercises within ISP: Completion of all mandatory tasks within individually agreed deadlines. At the beginning of the semester, the student will agree on the scope of participation in the exercises with the subject guarantor.

Show history

Occurrence in study plans

Academic yearProgrammeBranch/spec.Spec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2023/2024 (N0613A140035) Computer Science SWI P English Ostrava 2 Choice-compulsory type A study plan
2023/2024 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P English Ostrava 2 Choice-compulsory study plan
2022/2023 (N0613A140035) Computer Science SWI P English Ostrava 2 Choice-compulsory type A study plan
2022/2023 (N2647) Information and Communication Technology (2612T025) Computer Science and Technology P English Ostrava 2 Choice-compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner

Assessment of instruction

Předmět neobsahuje žádné hodnocení.