SLO | EN

Objectives and competences

The goal of this course is for students to be able to demonstrate understanding of different architectural styles and technical skills for designing and developing advanced IS architectures based on patterns and frameworks.

Content (Syllabus outline)

• IS Architectural styles: overview, characteristics of different architectural styles (e.g. layers, filters, shared memory, interpreter, implicit invocation), Relations with implementation technologies, Selecting architectural styles, integrating and combining different architectural styles. • Elements of IS architectures: Enterprise components and business services, Infrastructural services (transactions, security, persistence), Web components • Advanced IS and software architectures: Service-oriented architectures, multi-layered and distributed component-based architectures. • Development of enterprise components. • Technologies for web service development. • Patterns vs. frameworks vs. components. • Software patterns in IS development: Design patterns (creational, structural, behavioral), Basic Enterprise Application Patterns, Patterns for service-oriented architectures. • Frameworks - definitions, classification, architectural and entreprise frameworks . • Standards and profiles for documentation of IS architectures, software patterns and frameworks. • Approached to IS architecture evaluation.

Learning and teaching methods

oral examination, completed lab work, completed project, completed homeworks.

Intended learning outcomes - knowledge and understanding

• understand and apply different architectural styles and patterns • develop efficient and flexible architecture for information solutions based on selection and application of suitable design patterns and frameworks • use advance application servers and serverside component and services development environments • develop distributed components and services

Intended learning outcomes - transferable/key skills and other attributes

• Communication skills: documenting IS architectures. • Use of information technology: use of server side technologies and application servers, integrated development environments. • Problem solving: problem decomposition, selecting appropriate architectural styles and patterns, evaluating the solution.

Readings

• R.N. Taylor et al: Software Architecture: Foundations, Theory and Practice, John Wiley & Sons Inc., 2010. • E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, 2000.P. Clements e tal: Documenting Software Architectures: Views and Beyond, 2nd Edition, Addison Wesley, 2010. • C. Richardson, Microservices Patterns: With Examples in Java, Manning Publications, 2018. • Jeff Nickoloff, Docker in Action 1st Edition, Manning Publications, 2016. • Sam Newman, Building Microservices: Designing Fine-Grained Systems, O'Reilly Media, 2015. • Ram Kulkarni, Java EE 8 Development with Eclipse: Develop, test, and troubleshoot Java Enterprise applications rapidly with Eclipse, Packt Publishing, 2018.

Prerequisits

Recommended: object programming skills.

  • red. prof. dr. MARJAN HERIČKO, univ. dipl. inž. rač. in inf.
  • izr. prof. dr. LUKA PAVLIČ, univ. dipl. inž. rač. in inf.

  • Written examination: 40
  • Lab work: 30
  • Oral examination: 30

  • : 45
  • : 45
  • : 90

  • Slovenian
  • Slovenian

  • INFORMATICS AND DATA TECHNOLOGIES - 2nd