Enterprise Software Infrastructures


  • October 24th - The class of today will be not carried out
  • October 14 - Only the Wednesday class will be provided for this week

Teacher:

  • Morichetta Andrea
  • andrea.morichetta@unicam.it

ESSE3 Link

Webex Classroom

Lessons schedule:

  • 84 h - lecture and exercise sessions
  • Tuesday 14:00 - 17:00 (TL)
  • Wednesday 11:00 - 13:00 (LB1)
  • Thursday 16:00 - 18:00 (TL)

Students Office hours:

  • After lesson or by appointment
  • Office :

  • Prerequisite knowledge:Business process management and flexibility, BPMN, Choreography, Programming experience
  • Course Objectives:The course introduce the student to the basic knowledge of Business Process Management and workflow management system. The course then aims at supporting business process within an application software system or between a set of application systems, effectively integrated in an enterprise software system architecture. The course introduce the notions of software oriented architecture and blockchain useful for the implementation of business process.

  • What Is Software Architecture?
    • 1.1 What Software Architecture Is and What It Isn’t
    • 1.2 Architectural Structures and Views
    • 1.3 Architectural Patterns
    • 1.4 What Makes a “Good” Architecture?
  • Why Is Software Architecture Important?
    • 2.1 Inhibiting or Enabling a System’s Quality Attributes
    • 2.2 Reasoning About and Managing Change
    • 2.3 Predicting System Qualities
    • 2.4 Enhancing Communication among Stakeholders
    • 2.5 Carrying Early Design Decisions
    • 2.6 Defining Constraints on an Implementation
    • 2.7 Influencing the Organizational Structure
    • 2.8 Enabling Evolutionary Prototyping Contents
    • 2.9 Improving Cost and Schedule Estimates
    • 2.10 Supplying a Transferable, Reusable Model
    • 2.11 Allowing Incorporation of Independently Developed Components
    • 2.12 Restricting the Vocabulary of Design Alternatives
    • 2.13 Providing a Basis for Training
  • The Many Contexts of Software Architecture
    • 3.1 Architecture in a Technical Context
    • 3.2 Architecture in a Project Life-Cycle Context
    • 3.3 Architecture in a Business Context
    • 3.4 Architecture in a Professional Context
    • 3.5 Stakeholders
    • 3.6 How Is Architecture Influenced?
    • 3.7 What Do Architectures Influence?
  • Understanding Quality Attributes
    • 4.1 Availability
    • 4.2 Interoperability
    • 4.3 Modification
    • 4.4 Performance
    • 4.5 Security
    • 4.6 Testability
  • Architectural Tactics and Patterns
    • 13.1 Architectural Patterns
    • 13.2 Overview of the Patterns Catalog
    • 13.3 Relationships between Tactics and Patterns
  • Evolution of Enterprise Systems Architectures
    • Traditional Application Development
    • Enterprise Applications and their Integration
    • Workflow Management
    • Enterprise Services Computing
  • Understanding SOA
    • Integration of Applications and Data
    • Agility, Flexibility, and Alignment
    • Architectural Principles and Practices
    • What Is Service-Oriented Architecture?
    • What Is a Service?
  • Designing SOA for business
    • Starting with the Business
    • Designing Service Interfaces
    • Designing Service Implementations
    • Composing Services
    • Using Services to Build Enterprise Solutions
  • BPM Platform Camunda
    • Overview
    • Architecture
    • Modeler
    • Engine
    • Runtime
    • Logging
    • Security
  • Blockchain & Ethereum
    • What Is Blockchain and Why Should I Care?
    • Blockchain-Based Applications
    • Blockchain Functionality
    • Blockchain Non-functional Properties
    • Blockchain Architecture Design
    • Varieties of Blockchains
  • Fundamental Properties of Blockchain
    • Decentralization
    • Ledger Structure
    • Consensus Protocol
    • Block Configuration
    • Auxiliary Blockchains
    • Anonymity
    • Incentives
  • Model-Driven Engineering for Blockchain Applications
    • Ethereum
    • Smart Contracts
    • Remix IDE
    • Experiments
    • From choreography model to Blockchain

Course Material

Reference books

  • Business Process Management. Concepts, Languages, Architectures. Weske, Mathias 2007, ISBN: 9780321155559
  • soabook.jpeg Applied SOA service-oriented architecture and design strategies. Michael Rosen, Boris Lublinsky, Kevin T. Smith, Marc J. Balcer, ISBN: 0470223650.
  • real_book.jpeg Real-Life BPMN (4th edition): Includes an introduction to DMN (English Edition) Jakob Freund and Bernd Rücker
  • Software Architecture in Practice Len Bass, Paul Clements and Rick Kazman

Exam Dates A.Y. 2019/2020

  • 05/02/2020 - 11:00
  • 19/02/2020 - 11:00
  • 03/06/2020 - 11:00
  • 24/06/2020 - 11:00
  • 08/07/2020 - 11:00
  • 22/07/2020 - 11:00
  • 09/09/2020 - 11:00
  • 30/09/2020 - 11:00

Exam rules:

  • Software Project: Each student has to choose an open problem or follow the assigned one, and provide a complete software solution with artifacts and a brief report. The project proposal need to be discussed with the teacher by mail, sending a small description of the requirements and final goal.
  • Written exam The student has to pass the written exam concerning the theory part of the course in order to be admitted at the project presentation

Exam Results